狗宁 发表于 2020-7-10 15:34:12

面向对象的__init__函数

__init__函数是吧属性给初始化,那和直接在类里写属性有什么区别呢?
比如

class Person:
    age = 18

class Person:
    def __init__(self)
    self.age = 18

这两个都是在创建实例的时候传入age = 18 的属性,有什么区别吗?

qiuyouzhi 发表于 2020-7-10 15:35:21

第一个是类属性,访问方式是这样:
Person.age
第二个是实例属性,访问方式是这样:
per = Person() # 实例化Person类
per.age

lhgzbxhz 发表于 2020-7-10 15:40:48

那假如要用用户的值初始化呢?
例如:class Person:
    def __init__(self, age):
      self.age = age
如果不加__init__方法的话,上面这个功能怎么完成?
页: [1]
查看完整版本: 面向对象的__init__函数