Создание объекта Python
Я новичок в мире 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()
Ответы
Ответ 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()
Ответ 2
Вы не определяете переменную, и используете init и self.
Вот так:
class Car(Object):
def __init__(self,input):
self.carName = input
def showName(self):
print self.carName
a = Car("bmw")
a.showName()
Ответ 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 является классом Variable как статический член в С++
второе имя 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