扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1.类的构造函数,用于初始化类成员等,只能用 init ,不能换其他名字
成都创新互联公司是一家专注于成都网站设计、成都做网站与策划设计,五河网站建设哪家好?成都创新互联公司做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:五河等地区。五河做网站价格咨询:028-86922220
2. init 方法的意义: init 方法在类的一个对象被建立时,马上运行。
def init (self, name):
xxxxxxxxxx
3.类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self。
4. init 不是构造函数,Python对象在调用 init 的时候已被构造出来,称为“初始化”比较合适。
5.如果子类的方法覆盖了父类,想调用父类的方法怎么办?
Python没有super,很简单,直接“父类名.方法”即可。
题主所问的应该是init构造函数是否为类对象所有,答案实则不是这样。python中由类构建的对象不带init函数(即不能由一个类的对象去构造另一个对象)。
class Person:
# 此处,两个 下划线 _ _
def __init__(self,name,job):
self.name=name
self.job=job
bob=Person('Bob Smith','dev')
print(bob.name,bob.job)
"""
共有以下二种方法
"""
##class Foo(object):
## def __init__(self):
## self.val =100
## print(self.val)
##class Foo2(Foo):
## def __init__(self):
## Foo.__init__(self) #类调用实例方法时,需要传入self指代的实例
## print(self.val)
##
##if __name__ == '__main__':
## foo2 = Foo2()
class Foo(object):
def __init__(self):
self.val =100
class Foo2(Foo):
def __init__(self):
super().__init__()
print(self.val)
if __name__ == '__main__':
foo2 = Foo2()
now.Time()这句是干嘛?你的Time class有这个方法吗
你把错误贴出来吧
哈哈,Time()这个方法你也要一起打出来啊,不然去哪里调用啊
不行,一个class只能有一个用于构造对象的__init__函数
但python中的变量是无类型的,因此传给__init__的参数可以是任何类型
python中的函数参数在定义时可以有默认值,可以让__init__函数接受多个参数,在后面的一些参数给出默认值的方法让__init__接受不同个数的参数,并且执行类型检查执行不同的代码,用上述方法实现类的构造函数的多态性
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流