【发布时间】:2019-06-24 20:14:43
【问题描述】:
当我们可以使用方法时,我对为什么在定义类时使用 init 和 self 感到困惑。下面的例子说明了我的困惑:
示例 1 利用 init 和 self:
class car:
def __init__(self,model,color):
self.model = model
self.color = color
def show(self):
print('model is', self.model)
print('color is', self.color)
audi = car('audi a4', 'blue')
ferrari = car('ferrari 488','green')
audi.show()
model is audi a4
color is blue
ferrari.show()
model is ferrari 488
color is green
示例2使用方法:
class car:
def audifeatures(car, model, color):
print ('car is', car, 'model is', model, 'color is', color)
def ferrarifeatures(car, model, color):
print ('car is', car, 'model is', model, 'color is', color)
car.audifeatures('audi','x8','black')
car is audi model is x8 color is black
car.ferrarifeatures('ferrari','f5','red')
car is ferrari model is f5 color is red
【问题讨论】:
-
car.audifeatures('ferrari','f5','red')仍会为您提供法拉利说明。 -
并且您不会有 instances 的汽车。你只有一个带有一些静态方法的静态类。
-
这将是一个很好的入门:python-course.eu/classes_and_type.php
标签: class methods python-3.7 init self