Python - 面向对象(一)入门篇
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python - 面向对象(一)入门篇,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1544字,纯文字阅读大概需要3分钟。
内容图文
Python里面有一句话:万物皆是对象
如何面向对象编程
- 设计类
- 创建类实例对象
- 实例对象调用方法
创建对象
- 在内存中为对象分配空间
- 调用初始化方法 __init__ 为对象初始化
对象创建后,内存中就有一个对象的实例了
由此可见,一个类可以有很多个对象,每个对象都有属于自己的变量、方法;
- 创建出来的 对象 叫做 类 的 实例
- 创建对象的 行为 叫做 实例化
- 对象的属性 叫做 实例属性
- 对象调用的方法 叫做 实例方法
知识点
- 每个对象都有自己独立的内存空间,保存自己的属性
- 但是实例方法在内存中都只有一个,实例方法中的 self 就是实例对象的引用,当对象调用实例方法时,会默认把实例对象传给方法内部
如果不懂的话,看看下面代码的输出就知道啦; id() 是用于获取对象的内存地址
class person(): def __init__ (self, name): self.name = name print(f"init-{self.name} ", id(self)) def test(self): print(f"test-{self.name} ", id(self)) p1 = person("p1") print("p1-", id(p1)) print("p1 fun-", id(p1.test())) print("") p2 = person("p2") print("p2-", id(p2)) print("p2 fun-", id(p2.test())) print("调用方法对比:",id(p1.test()) == id(p2.test()))
执行结果
init-p1 1921848172840 p1- 1921848172840 test-p1 1921848172840 p1 fun- 140719454498016 init-p2 1921848175136 p2- 1921848175136 test-p2 1921848175136 p2 fun- 140719454498016 test-p1 1921848172840 test-p2 1921848175136 调用方法对比: True
类对象
- 声明了一个类,它就是一个类对象
- 程序运行时,在内存中就会创建一个类对象,有且只有一个哦
- 类对象也有自己的属性和方法,分别叫做:类属性、类方法
实例变量和类变量
实例属性=实例变量
类属性=类变量
class Person(): name = "cool guy"if__name__ == "__main__": p = Person() print(p.name) # 打印name属性,因为实例并没有name属性,所以会继续查找class的name属性print(Person.name) # 打印类的name属性 p.name = "bad guy"# 给实例绑定name属性 p.age = 12 # 给实例绑定age属性print(p.age) # 实例找到age直接打印print(p.name) # 由于实例属性优先级比类属性高,因此,它会屏蔽掉类的name属性print(Person.name) # 仍然打印类的name属性
执行结果
cool guy
cool guy
12
bad guy
cool guy
注意点
- 在写代码时,要避免类属性和实例属性重名,否则实例变量会屏蔽掉类属性
- 给实例绑定新的实例属性时,会直接覆盖掉重名的类属性
类方法会在下一篇幅介绍哦!
原文:https://www.cnblogs.com/poloyy/p/12533049.html
内容总结
以上是互联网集市为您收集整理的Python - 面向对象(一)入门篇全部内容,希望文章能够帮你解决Python - 面向对象(一)入门篇所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。