零基础小白入门必看篇:学习Python之面对对象基础
理解面向对象面向对象是一种抽象化的编程思想 。
【零基础小白入门必看篇:学习Python之面对对象基础】面向对象就是讲将编程当成是一个事物 , 对外界来说 , 事物是直接使用的 , 不用去管他内部的情况 。 而编程就是设置事物能够做什么 。
面向对象的三大特性:
- 封装将属性和方法书写到类的里面的操作即为封装封装可以为属性和方法添加私有权限
- 继承子类默认继承父类的所有属性和方法子类可以重写父类的属性和方法新式类的继承 , 采用广度优先的搜索方式
- 多态传入不同的对象,产生不同的结果
文章插图
如果大家在学习中遇到困难 , 想找一个python学习交流环境 , 可以加入我们的python裙 , 关注小编 , 并私信“01”即可进裙 , 领取python学习资料 , 会节约很多时间 , 减少很多遇到的难题 。
类和对象的关系:用类去创建一个对象
- 类:类是对一系列具有相同特征和行为的事物的统称 , 是一个抽象的概念 , 不是真实存在的事物 。 特征即是属性行为即是方法
- 对象:对象是类创建处理的真实存在的事物开发中 , 先有类 , 再有对象
- 经典类或旧式类不由任意内置类型派生出的类 , 称之为经典类:python2.0默认类为经典类class 类名: 代码 ...... 新式类: python3.5以上默认类为新式类class 类名(object): 代码
- 定义类语法:class 类名(): 代码 ...... # 注意: 类名要满足标识符命名规则 , 同时遵循大驼峰命名习惯 例如:class Washer(): def wash(self): print('我会洗衣服')
- 创建对象(对象又名实例)语法:对象名 = 类名() 例如:# 创建对象 haier1 = Washer() # <__main__.Washer object at 0x00000159A7D124E0> print(haier1) # haier对象调用实例方法 haier1.wash()
- self: self指的是调用该函数的对象# 1. 定义类 class Washer(): def wash(self): print('我会洗衣服') # <__main__.Washer object at 0x0000027548F424E0> print(self) # 2.创建对象 haier1 = Washer() # <__main__.Washer object at 0x0000018AEC932518> # haier1对象调用实例方法 haier1.wash() haier2 = Washer() # <__main__.Washer object at 0x0000018AEC932518> haier2.wash()
对象属性即可以在类外面添加和获取,也能在类里面添加和获取 。
- 类外面添加对象属性语法:对象名.属性名 = 值 例如:haier1.width = 500 haier1.height = 800
- 类外面获取对象属性语法:对象名.属性名 例如:print(f'haier1洗衣机的宽度是{haier1.width}') print(f'haier1洗衣机的高度是{haier1.height}')
- 类里面获取对象属性语法:self.属性名 例如:# 定义类 class Washer(): def print_info(): # 类里面获取实例属性 print(f'haier1洗衣机的宽度是{haier1.width}') print(f'haier1洗衣机的高度是{haier1.height}') # 创建对象 haier1 = Washer() # 添加实例属性 haier1.width = 500 haier1.height = 800 # python 可以给类对象动态的添加属性
- 类属性设置和访问类属性类属性就是类对象所拥有的属性, 它被该类的所有实例对象所共有类属性可以使用类对象或实例对象访问class Dog(object): tooth = 10 wangcai = Dog() xiaohei = Dog() print(Dog.tooth) # 10
- 固态硬盘入门手册,一看就精通的电脑硬件教程
- SpringBoot2.x入门到项目实战课程系列(第二章)
- Java基础知识回顾,还记得吗?
- 如何编写JAVA小白第一个程序
- 「OpenCV入门教程」线性滤波方框滤波、均值滤波与高斯滤波
- Python爬虫入门第一课:如何解析网页
- 1分钟制作朋友圈9宫格照片,不用任何P图软件,新手小白也能会
- 更新了!深入浅出图解Git,入门到精通(保姆级教程)第三篇
- 入门到老手全覆盖,锐龙CPU给3D创作加速
- 昔日i7沦为i3,英特尔十代i3或成入门游戏CPU最优选