2015-07-24 3 views
1

Почему подчеркивание необходимо при использовании индекса? Вот немного кода из академии кода.Индекс подчеркивания в Python

animals = ["aardvark", "badger", "duck", "emu", "fennec fox"] 
duck_index = animals.index("duck") # Use index() to find "duck" 

animals.insert(duck_index, "cobra")# Your code here! 

print animals # Observe what prints after the insert operation 

Это очень запутанным, чтобы иметь duck_index, то есть animals.index. Это действительно бросает в голову все это.

Я попробовал посмотреть другие сайты, чтобы узнать, подняли ли другие. Но я не могу найти ответы. Имеет смысл ответить на это и заархивировать в Stack Overflow.

Зачем использовать «_index», почему бы просто не использовать .index для всего. В чем же основное различие между ними?

+2

'duck_index' - это имя переменной, определенной на вашем конце ** BTW **. Вы можете использовать любое другое имя, например 'duckIndex', и т. Д., Но для доступа к методу' index' вы должны использовать только оператор '.', я ничего не путаю? – ZdaR

+0

'duck_index' - это имя переменной. 'duck.index' будет пытаться получить доступ к свойству' index' объекта утки. вместо 'duck_index' вы можете называть его' duckIndex' или 'strawberryCheesecacke', если хотите :) – enpenax

+0

Что было бы« укусить », что' duck_index' означал то же самое, что и «animals.index()»? –

ответ

1

Подчеркнутый символ - это еще один действительный символ в имени переменной, как и символы A-Z, a-z и 0-9. Вы используете его, когда хотите разделить два слова одним именем. Это рекомендуемая практика в PEP 8. Символ подчеркивания приобретает особое значение при использовании в начале имени, но я не буду вдаваться в это.

С другой стороны, . используется для доступа к элементу переменной. В этом случае вы вызываете метод index в переменной animals. animals и index - это два разных названия.

0

Animal.index («утка») ищет индекс положения «утка» у животных.

В то время как указатель утки _ является переменной индекса, которая будет содержать указатель утки. Именование имеет смысл

Смежные вопросы