Подтвердить что ты не робот

Что такое Python Whitespace и как оно работает?

Я искал Google и этот сайт уже некоторое время, но я просто не могу найти прямой ответ на эту тему.

Что такое пробел в Python? Я знаю, что это связано с отступом в каждой строке, но я точно не знаю, как его использовать. Как это работает?

4b9b3361

Ответ 1

Пробелы используются для обозначения блоков. На других языках фигурные скобки ({ и }) являются общими. Когда вы отступаете, он становится дочерним элементом предыдущей строки. В дополнение к отступу, у родителя также есть двоеточие, следующее за ним.

im_a_parent:
    im_a_child:
        im_a_grandchild
    im_another_child:
        im_another_grand_child

Сверху моей головы def, if, elif, else, try, except, finally, with, for, while, и class все стартовые блоки. Чтобы закончить блок, вы просто обходитесь, и у вас будут братья и сестры. В приведенных выше im_a_child и im_another_child находятся братья и сестры.

Ответ 2

Пробелы просто означают символы, которые используются для интервала, и имеют "пустое" представление. В контексте python это означает вкладки и пробелы (это, вероятно, также включает в себя экзотические пространства Unicode, но не использует их). Окончательная ссылка здесь: http://docs.python.org/2/reference/lexical_analysis.html#indentation

Я не уверен, как его использовать.

Поместите его в начало строки, которую вы хотите отступом. Если вы смешиваете пробелы и вкладки, вы, вероятно, увидите фанковые результаты, поэтому придерживайтесь того или другого. (Сообщество python обычно следует за стилем PEP8, который предписывает отступы в четырех пробелах).

Вам нужно создать новый уровень отступа после каждого двоеточия:

for x in range(0, 50):
    print x
    print 2*x

print x

В этом коде первые два оператора print являются "внутри" тела оператора for, потому что они имеют отступ больше, чем строка, содержащая for. Третий print является внешним, поскольку он имеет отступы меньше, чем предыдущая (непустая) строка.

Если вы не будете последовательно отступать/отступать, вы получите ошибки отступов. Кроме того, все составные операторы (т.е. Те, у кого есть двоеточие) могут иметь тело, поставляемое в одной строке, поэтому отступов не требуется, но тело должно состоять из одного оператора.

Наконец, некоторые утверждения, такие как lambda, имеют двоеточие, но не могут иметь многострочный блок как тело.

Ответ 3

Он действует как фигурная скобка. Нам нужно сохранить количество пробелов в программе.

Пример 1:

def main():
     print "we are in main function"
     print "print 2nd line"

main()

Результат:

Мы находимся в главной функции
печать 2-й строки

Пример 2:

def main():
    print "we are in main function"
print "print 2nd line"

main()

Результат:

печать 2-я строка
Мы находимся в основной функции

Здесь, в 1-й программе, оба утверждения попадают под основную функцию, так как оба имеют равное количество белых пробелов во время второй программы, первая строка печатается позже, потому что основная функция вызывается после второй строки. Примечание. Вторая строка не имеет пробела, поэтому она не зависит от основной функции.

Ответ 4

something
{
 something1
 something2
}
something3

В Python

Something
    something1
    something2
something3

Ответ 5

Каждый язык программирования имеет свой собственный способ структурирования кода.
всякий раз, когда вы пишете блок кода, он должен быть организован таким образом, чтобы его понимали все.

Обычно используется в условных и классах и определяет определение. Он представляет родителя, ребенка и внука и далее.

Пример:

def example()
    print "name"
    print "my name"
example()

Здесь вы можете сказать, что example() является родителем, а другие - дочерними.

Ответ 6

Он определяет инструкции и их иерархические порядки выполнения в Python, т.е.

 Print instruction1
 Print instruction2
Print instruction3

Отображается как

instruction3
instruction1
instruction2