Что означают обратные пометки для интерпретатора Python: `num`
я играю со списком, и я наткнулся на этот небольшой фрагмент на другом сайте:
return ''.join([`num` for num in xrange(loop_count)])
Я потратил несколько минут, пытаясь повторить функцию (набрав), прежде чем понять`num`
немного ломал это.
Что делает вложение оператора в эти символы? Из того, что я вижу, это эквивалент str (num). Но когда я рассчитал это:
return ''.join([str(num) for num in xrange(10000000)])
Требуется 4.09 с, тогда как:
return ''.join([`num` for num in xrange(10000000)])
занимает 2,43 с.
Оба дают одинаковые результаты, но один намного медленнее. Что здесь происходит?
РЕДАКТИРОВАТЬ: Как ни странно ...repr()
дает немного более медленные результаты, чем`num`
, 2.99 с против 2.43 с. Использование Python 2.6 (убежищеЯ пока не попробовал 3.0).