我无法在Python中初始化类
我有一个叫做Flight的类,我在尝试初始化它的时候,遇到了语法错误。
print x=Flight(flightFromInput='nebrasca')
这是我示例文件的内容。
class Flight:
flightFrom = None
flightTo = None
departureDate = None
arrivalDate=None
airline=None
serviceClass=None
departureAirport = None
arrivalAirport=None
#----------------------------------------------------------------------
def __init__(self,flightFromInput):
self.flightFrom = flightFromInput
print x=Flight(flightFromInput='nebrasca')
这段代码有什么问题呢?
3 个回答
1
跟C语言不一样,在Python中,赋值操作只是一个语句,而不是一个表达式。因此,赋值操作本身没有返回值。你可以试试这个:
x = Flight(flightFromInput='nebrasca')
print x
4
在Python中,赋值语句不会返回你赋的值。所以你不能在其他语句中直接使用它。正如其他回答所提到的,你可以通过在单独的一行中打印 x
来解决这个问题。
不过,要注意有一些例外情况:
a = b = 0 # works
a = (b = 0) # does not work
第一个情况是为了方便而允许的特殊情况,当你想把同一个值赋给多个变量时。第二个情况则是你明确告诉编译器 b=0
是一个独立的语句,但因为它不返回值,所以外面的赋值给 a
会导致语法错误。
希望这样能更清楚地解释为什么在赋值后你应该做 print x
。
8
你应该写
x = Flight(flightFromInput='nebrasca')
print x