python入行027(面向对象)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python入行027(面向对象),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1947字,纯文字阅读大概需要3分钟。
内容图文
![python入行027(面向对象)](/upload/InfoBanner/zyjiaocheng/636/83418c14992842838d831d7965f12576.jpg)
1 对象的概念
可以将对象想象成容器,用来盛放数据和功能,使用对象的概念将原本分散的数据和功能整合到一起,这么做既方便使用也提高了程序的可扩展性。
2 类与对象
我们可以把同一类对象相同的数据与功能存放到类里,而无需每个对象都重复存一份,这样每个对象里只需存自己独有的数据即可,极大地节省了空间。所以,如果说对象是用来存放
数据与功能的容器,那么类则是用来存放多个对象相同的数据与功能的容器。
在程序中必须要先定义类,再通过调用类产生对象。
3 面向对象编程
3.1 类的定义和实例化
类的命名使用驼峰体方式,类体的代码在类定义阶段就会执行,因而会产生新的名称空间用来存放类中定义的名字,可以打印Student.__dict__来查看类这个容器内盛放的东西。
class Student: school = '科技大学' def choose(self): print(f'{self.name} 正在选课') print(Student.__dict__)
调用类的过程称为将类实例化,拿到的返回值就是程序中的对象,或称为一个实例。
使用__init__()方法可以在类实例化的过程中定制对象独有的属性:
class Student: school = '科技大学' def __init__(self, name, age, male): self.name = name self.age = age self.gender = male def choose(self): print(f'{self.name} 正在选课') mrz = Student('mrz', 18, 'male') print(mrz.__dict__) >>> {'name': 'mrz', 'age': 18, 'male': 'male'}
3.2 属性访问
3.2.1 类属性与对象属性
可以对类属性和对象属性进行增删改查操作。
3.2.2 属性的查找顺序与绑定方法
对象的名称空间里只存放着对象独有的属性,而对象们相似的属性是存放于类中的。对象在访问属性时,会优先从对象本身的__dict__中查找,未找到,则去类的__dict__中查找。
# 对象获取的类属性id是一致的
mrz = Student('mrz', 18, 'male') mgy = Student('mgy', 10, 'male') print(id(mrz.school)) print(id(mgy.school)) >>> 1502755346720 >>> 1502755346720
类中定义的函数主要是给对象使用的,而且是绑定给对象的,虽然所有对象指向的都是相同的功能,但是绑定到不同的对象就是不同的绑定方法,内存地址各不相同。
mrz = Student('mrz', 18, 'male') mgy = Student('mgy', 10, 'male') print(mrz.choose) print(mgy.choose) >>> <bound method Student.choose of <__main__.Student object at 0x00000208A55EFF98>> >>> <bound method Student.choose of <__main__.Student object at 0x00000208A55F8080>>
内容总结
以上是互联网集市为您收集整理的python入行027(面向对象)全部内容,希望文章能够帮你解决python入行027(面向对象)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。