作用:
property装饰器能把方法伪装成属性,从而使我们调用方法更加方便,不用加括号了。
class Foo: @property def name(self): return 'hugh' foo = Foo() foo.name # 返回:hugh
高级用法:
与@xxx.setter
和@xxx.delete
搭配使用,实现属性修改和删除操作的重写:
class People: def __init__(self, name, age): self.__name = name self.__age = age @property def age(self): return self.__age @age.setter def age(self, age): if isinstance(age, int): self.__age = age print(f'修改年龄为{self.__age}') else: raise ValueError @age.deleter def age(self): print("删除年龄数据!") obj = People("jack", 18) # 使用方法 obj.age # 获取值 obj.age = 19 # 重新赋值 del obj.age # 删除属性
含义:
像str()
、len()
、type()
等这些函数,都属于内置函数(内建函数)。它们都定义在一个叫做builtins
模块中,而builtins
模块默认在Python环境启动的时候就自动导入,所以你可以直接使用这些函数。
常用内置函数:
abs()
:返回绝对值。all()
:接收一个可迭代对象,当其所有值都为True时,返回True;否则返回False。另外,如果可迭代对象为空,返回True。any()
:接收一个可迭代对象,当其有一个值为True时,返回True;否则返回False。另外,如果可迭代对象为空,返回False。divmod()
:进行除法操作,同时返回商和余数的元组。(重点)eval()
:将字符串直接解读并执行。(掌握)enumerate()
:在迭代对象的时候,额外输出元素的索引。callable()
:判断一个对象是否是可调用对象。chr()
:返回某个十进制数对应的ASCII字符。ord()
:与chr()
相反,返回某个ASCII字符对应的十进制数dir()
:返回对象的所有属性和方法。(重点)frozenset()
:返回一个不能增加和修改的集合类型对象。globals()
:列出当前环境下所有的全局变量。(重点)locals()
:返回当前可用的局部变量。hash()
:为不可变对象,例如字符串生成哈希值。help()
:返回对象的帮助文档。isinstance()
:判断一个对象是否是某个类的实例。(重点)id()
:返回对象的内存地址。(重点)issubclass
: 判断一个类是否是另一个的子类。round()
:四舍五入。sum()
:求和。zip()
:组合两个可迭代对象。将对象元素逐一配对,形成一个个元组构成的列表。__import__(name)
:一般用于动态加载模块。这个方法为我们提供了一种通过字符串反射包、库或模块的手段。其中的name是你想要导入的库的名称的字符串。(掌握)下一篇