我对Python世界很陌生并试图学习它。
这就是我想要实现的:我想创建一个Car类,它的构造函数检查输入以将对象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()
答案 0 :(得分:14)
派生自new-style class的对象
使用__init__
初始化新实例,而不是__self__
__main__
为helpful too。
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()
答案 1 :(得分:2)
您没有定义变量,而是使用 init 和self。 像这样:
class Car(Object):
def __init__(self,input):
self.carName = input
def showName(self):
print self.carName
a = Car("bmw")
a.showName()
答案 2 :(得分:1)
这不正确!
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