2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > python面向对象语言_Python语言基础之——面向对象编程

python面向对象语言_Python语言基础之——面向对象编程

时间:2022-06-03 18:54:57

相关推荐

python面向对象语言_Python语言基础之——面向对象编程

1.类属性

1)类属性:

直接定义在类中的变量是类属性

类属性的值不会因为对象不同而不一样

2)对象属性

通过 self.属性名 = 值 定义在init函数中的属性

对象属性的值会因为对象不同而不一样

2.对象属性的增删改查

1.查

对象.属性 - 获取对象中指定属性对应的值,属性不存在会报错

getattr(对象, 属性名) - 获取对象指定属性对应的值,属性不存在会报错

getattr(对象, 属性名, 默认值) - 获取对象指定属性对应的值,属性不存在不会报错,返回默认值

2.改、增

对象.属性 = 值 - 当属性不存在就给对象添加属性,属性存在的时候就修改属性的值

setattr(对象, 属性, 值)

3.删

del 对象.属性 - 删除对象中指定的属性

delattr(对象, 属性名) - 删除对象中指定的属性

3.内置属性

1.module

类属性:

类.module - 获取定义类的模块的模块名

2.class

对象.class - 获取对象对应的类

3.name

类.name - 获取类名

4.dict

类.dict - 将类转换成字典(类属性名作为key,类属性的值作为值 )

对象.dict - 将对象转换成字典(对象属性名作为key,属性的值作为值)

5.doc

类.doc - 获取类的说明文档

6.base bases

类.base

获取当前类的父类

bases - 获取当前类所有的父类

7.slots

约束当前元素的数量,如果给类属性slots赋值了,最后结果不再是字典,导致不能使用dict

4.私有化

访问权限(针对属性和方法)

公开的:在类的内部和外部都可以使用,也能被继承

保护的:在类的内部可以使用,在类的外部不能使用,但是可以被继承

私有的:只能在类的内部使用,不能被继承

严格来说,Python中所有的属性和方法都是公开的,这说的私有化其实是假的私有化

5.getter和setter

1.getter和setter的作用

getter - 获取某个属性之前想做别的事情,就给这个属性添加getter

setter - 在给属性赋值之前想要做别的事情,就给这个属性添加setter

getter和setter 的添加方法:

1)getter

第一步:在需要添加getter的属性名前加下划线

第二步:定义getter对应的函数() 需要@property装饰器 函数名就是不带下划线的属性名 函数需要一个返回值

获取属性值的通过:对象.不带的属性名 本质就是在调用getter对应的函数,取到的属性值就是函数的返回值

2)setter

如果想要给属性添加setter,必须先给属性添加getter

第一步:添加getter

第二步:定义setter对应的函数 需要@getter函数名.setter装饰器 函数名就是不带的属性名 需要一个参数,不需要返回值,这个参数就是尝试给属性赋的值

第三步:给属性赋值:对象.不带下划线的属性名 = 值 本质就是在调用setter对应的函数

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。