python构造方法和析构方法(python构造方法和析构方法的作用)

网友投稿 332 2022-08-31


python构造方法和析构方法(python构造方法和析构方法的作用)

python的构造方法作用:

*构造方法是一种特殊方法(init)以两个下划线开头,两个下划线结尾,用于类的初始化。 *如果类中定义了构造方法,在定义对象时会自动调用构造方法 *构造方法通常用来初始化对象属性

构造方法的实例:

无参的构造方法(在定义方法时参数列表中第一个参数需要加上self,程序默认会把对象本身当做参数传给self)

class Student(): def __init__(self): self.name = "张三" #这一句是用来初始化对象属性的 def fun(self): print(self.name)stu = Student()stu.fun()

输出结果为: 张三

如果需要改变self.name里面的值可以像下面这样

class Student(): def __init__(self): self.name = "张三" def fun(self): print(self.name)stu = Student()stu.name = "王五"stu.fun()

输出结果为: 王五

有参的构造方法

class Student(): def __init__(self,name,age): self.name = name self.age = age def fun(self): print("姓名:",self.name) print("年龄:",self.age)stu = Student('张三',19)stu.fun()

输出结果为: 姓名: 张三 年龄: 19

在初始化时可以给属性添加默认值如下

class Student(): def __init__(self,name="张三",age=18): self.name = name self.age = age def fun(self): print("姓名:",self.name) print("年龄:",self.age)stu1 = Student()stu1.fun()stu2 = Student('李四',19)stu2.fun()

输出结果为: 姓名: 张三 年龄: 18 姓名: 李四 年龄: 19

python的析构方法作用:

*析构方法的构成和构造方法是一样的(del),作用是在一个对象调用完成后,会将对象释放掉,不在使用

析构方法的实例

class Student(): def __init__(self,name,age): self.name = name self.age = age def __del__(self): print("对象已被清理") stu1 = Student('李四',19)print(stu1.name)print(stu1.age)del stu1print(stu1.name)print(stu1.age)

输出结果为: 李四 19 对象已被清理 #这里提示有关李四的对象 stu1 已经被清理,再去调用 stu1 就会报错一下就是报错内容 Traceback (most recent call last): File "E:\Python\stu.py", line 12, in print(stu1.name) NameError: name 'stu1' is not defined #报错原因 stu1 对象没有找到


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python装饰器(一)闭包功能(python装饰器用法)
下一篇:基于opencv+java实现简单图形识别程序
相关文章

 发表评论

暂时没有评论,来抢沙发吧~