class Dog:
def __init__(self,name,age):
self.__name = name
self.__age = age
@property
def age(self):
return self.__age
@age.setter
def age(self,age):
self.__age = age
@property
def name(self):
return self.__name
@name.setter
def name(self,name):
self.__name = name
d = Dog(‘天道‘,20)
d.name = ‘修罗道‘
d.age = 50
print(d.name,d.age)
列表.sort() 字符串默认按unicode码排序
可接收一个参数key,例如:sort(key=len) 按长度排序
参数key的值为数值类型的时候,表示该列表所有值都转换为该类型,再进行比较
sorted(排序的列表,key=类型) 用法和sort基本一直,但可以对任意序列进行排序,并且不会影响原来的对象,而是返回一个新对象br/>函数作为返回值返回,也是一种高阶函数,这种高阶函数,也称为闭包
闭包要件:
1、函数嵌套
2、将内部函数作为返回值返回
3、内部函数必须要使用到外部函数的变量
装饰器:
方法名上一行用@装饰器对象,不能写方法名加()
对象:
对象是内存中专门用来存储数据的一块区域
对象中可以存放各种数据(数字、布尔值、代码)
对象由三部分组成:
对象的标识(id)
对象的类型(type)
对象的值(value)
类命名规则:
1.首字母大写
isinstance(实例对象,类对象) 检查一个对象是否是一个类的实例
对象名.属性名 = 属性值 给对象里添加属性
定义对象的方法时,至少需要定义一个self形参
调用一个对象时,解析器会先在当前对象中寻找是否含有该属性,如果有,则直接返回当前的对象属性值,如果没有,则去当前对象的类对象中去寻找,如果有则返回类对象的属性值,还没有则报错
封装是面向对象的三大特性之一
封装指隐藏对象中一些不希望被外部访问到的属性或方法
对象属性名 隐藏属性,不能通过对象访问,在属性被修饰时,python会自动为属性改名:_类名__属性名,通过_类名__属性名可以访问
_对象属性名 私有化属性,类内部可访问br/>getter方法上面加了@property后,可以像调用属性一样,调用方法,被property修饰的方法,方法名必须和属性名一致
setter方法的装饰器:@属性名.setter
getter方法必须写在setter上面
python3的getter方法setter方法以及property修饰
原文地址:https://blog.51cto.com/3945465/2384795