Python对象的创建(Python object creation)

2019-06-26 12:43发布

我非常新Python的世界,并试图了解它。

这就是我想实现:我想创建一个汽车类,它的构造检查输入设置对象carName作为输入。 我试图通过使用Java逻辑,要做到这一点,但我忽视了:)

class Car():
    carName = "" #how can I define a non assigned variable anyway like "String carName;" in java
    def __self__(self,input):
        self.carName = input

    def showName():
        print carName

a = Car("bmw")
a.showName()

Answer 1:

从对象派生的新式类
使用__init__初始化新的实例,而不是__self__
__main__是也有帮助 。

class Car(object):
    def __init__(self,input):
        self.carName = input

    def showName(self):
        print self.carName
def main():
    a = Car("bmw")
    a.showName()
if __name__ == "__main__":
    main()


Answer 2:

你不定义一个变量,并使用init和自我。 像这样:

class Car(Object):
    def __init__(self,input):
        self.carName = input

    def showName(self):
        print self.carName

a = Car("bmw")
a.showName()


Answer 3:

这是不正确的!

class Car():
    carName = "" #how can I define a non assigned variable anyway like "String carName;" in java
    def __self__(self,input):
        self.carName = input

第一carName是一个类变量像在C静态成员++

第二carName(self.carName)是一个实例变量 ,如果要设定你必须做这样的构造函数的类变量

class Car():
    carName = "" #how can I define a non assigned variable anyway like "String carName;" in java
    def __self__(self,input):
        Car.carName = input


文章来源: Python object creation