Отступ Python - PullRequest
       22

Отступ Python

0 голосов
/ 21 апреля 2011

Я думал, что каждая строка в pythton - это утверждение, но посмотрите ниже:

class Report(p.Report):
 def create(self):
   self.set(background=sp.LightYellow)
   self.add(p.Row(p.Text("Trip Name",
                  valign=p.CENTER,
                  font=p.font(weight=p.BOLD)),
            p.Column(p.Text("Costs",
                     align=p.CENTER)))

Я думал, что нам не разрешат перейти на следующую строку, если утверждение не закончено.Он пишет valign = p.CENTER в следующей строке.Как это возможно?Как мы можем разбить строку и продолжить утверждение в следующей строке?Он также записал p.Column в другой строке, но у него есть тот же отступ с p.Row, это правило?

Ответы [ 5 ]

5 голосов
/ 21 апреля 2011

Проще говоря, оператор может продолжаться до следующей строки, пока есть открытая скобка или скобка или скобка.

Действительно:

print ("hello " 
        "world"
        "!")

Invalid:

print "hello " 
       "world"
       "!"
2 голосов
/ 21 апреля 2011

Как только вы открываете скобку (круглую или квадратную), все отступы игнорируются, пока вы не закроете эту:

print(1,
           15,
  4)

совершенно равно

print(1, 15, 4)
0 голосов
/ 21 апреля 2011

Нет, разрешено писать оператор в 2 строки, если есть перенос скобок. Например, мы можем написать:

a = ('1' + '2' + '3' +
    '4' + '5')
0 голосов
/ 21 апреля 2011

Нет, заявления могут продолжаться в нескольких случаях. В этом случае наличие открытых скобок для списка аргументов означает, что оператор не заканчивается, пока круглые скобки не закроются. То же самое относится к скобкам и скобкам, помечающим начало и конец списков, кортежей, диктов.

0 голосов
/ 21 апреля 2011

Строка не закрывается, пока не будут сопоставлены все (). Также работает для [] и {}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...