我无法在python中初始化类

时间:2011-01-26 14:41:43

标签: python class

我有一个类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 个答案:

答案 0 :(得分:8)

你应该写

x = Flight(flightFromInput='nebrasca')
print x

答案 1 :(得分:4)

在python中,赋值语句不返回指定的值。所以你不能在另一个声明中使用它。正如其他答案所示,您可以通过在单独的行中打印x来解决此问题。

注意,虽然有例外:

a = b = 0 # works
a = (b = 0) # does not work

第一种情况是一种特殊情况,当您想要为多个变量分配相同的值时,为了方便起见。在第二种情况下,您清楚地告诉编译器b=0是一个单独的语句,但由于它不返回值,因此a的外部赋值会导致生成的SyntaxError。

希望这能更清楚地解释一下,为什么在分配之后你应该print x

答案 2 :(得分:1)

与C相反,在Python中,赋值只是语句而不是表达式。因此他们没有自己的价值。试试这个:

x = Flight(flightFromInput='nebrasca')
print x