扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1.类的构造函数,用于初始化类成员等,只能用 init ,不能换其他名字
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站设计、川汇网络推广、小程序制作、川汇网络营销、川汇企业策划、川汇品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供川汇建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
2. init 方法的意义: init 方法在类的一个对象被建立时,马上运行。
def init (self, name):
xxxxxxxxxx
3.类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self。
4. init 不是构造函数,Python对象在调用 init 的时候已被构造出来,称为“初始化”比较合适。
5.如果子类的方法覆盖了父类,想调用父类的方法怎么办?
Python没有super,很简单,直接“父类名.方法”即可。
def fun(a):
sum=0
for i in range(2,a+1,2):
sum+=i
return sum
a=int(input())
print(fun(a))
now.Time()这句是干嘛?你的Time class有这个方法吗
你把错误贴出来吧
哈哈,Time()这个方法你也要一起打出来啊,不然去哪里调用啊
Python中有两个特殊的方法, 一个是构造函数 init , 另一个是析构函数 del ,统称为魔术方法。
构造函数 init ,创建实例对象之后Python会自动执行此方法,把初始化的属性特点放到实例对象里。
构造函数是创建并初始对象属性,那么对象使用完成后,系统是怎么处理这些呢?
这个时候,Python引入了销毁对象功能的析构函数 del ()
析构函数 del 是对象没有被引用时会触发垃圾回收机制,进行内存释放.
python 内置的 del 方法称为析构方法。用于实现对象被销毁时所需的操作。
常见的应用常见如:
析构方法 del ()是可选的,如果不提供,则Python 会在后台提供默认析构函数
如果要显式的调用析构函数,可以使用del关键字: del obj
析构方法的作用是销毁对象的,在python中采用垃圾回收机制。
Python垃圾回收机制核心思想是:
详细说明:
我们主动删除对象调用del 对象;程序运行结束后,python也会自动进行删除其他的对象。
注意:
如果我们重写子类的 del () 方法(父类为非 object 的类),则必须显式调用父类的 del () 方法,这样才能保证在回收子类对象时,其占用的资源(可能包含继承自父类的部分资源)能被彻底释放
我们本期学习了Python内置函数析构函数,用于没有被引用的对象进行回收处理,一般情况下,我们不用刻意去调用,python内部会对进行触发。
以上是本期内容,欢迎大佬们评论区指正,下期见~
class Person:
# 此处,两个 下划线 _ _
def __init__(self,name,job):
self.name=name
self.job=job
bob=Person('Bob Smith','dev')
print(bob.name,bob.job)
题主你好,
python中创建新实例的时候, 如果相应的类中定义了__init__()方法的话, 会自动调用这个方法. 你可能认为名称"init"和"__init__"差不多, 但计算机其实是个很笨的东西, 它会完全按照设计去执行. 也就是说,在设计的时候就已经定死了, 默认情况下, 创建新实例的时候, 会自动调用类中定义的__init__()方法, 只要你的方法名和__init__有一点不一样也不行.
下图是我在官网上找的关于__init__()调用的简单说明:
高亮部分说的大概意思就是上面讲的,如果相应类中定义了__init__()方法,则在创建该类实例的时候会自动调用里面定义的__init__()方法.
-----
希望可以帮到题主, 欢迎追问.
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流