python3-property装饰器、内置函数

系列文章目录

一、property装饰器

  • 作用:

    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():将字符串直接解读并执行。(掌握)
      • 如,打印hello,world:
      a = "print('hello,world!')"
      eval(a)  # 打印:hello,world!
      
      • 如,自动识别字符串的数据类型并返回正确类型的数据:
      a = "{'a': 1, 'b': 2, 'c': 3}"
      b = eval(a)
      type(b)  # 返回:dict
      
    • enumerate():在迭代对象的时候,额外输出元素的索引。
    • callable():判断一个对象是否是可调用对象。
    • chr():返回某个十进制数对应的ASCII字符。
    • ord():与chr()相反,返回某个ASCII字符对应的十进制数
    • dir():返回对象的所有属性和方法。(重点)
    • frozenset():返回一个不能增加和修改的集合类型对象。
    • globals():列出当前环境下所有的全局变量。(重点)
    • locals():返回当前可用的局部变量。
    • hash():为不可变对象,例如字符串生成哈希值。
    • help():返回对象的帮助文档。
    • isinstance():判断一个对象是否是某个类的实例。(重点)
    • id():返回对象的内存地址。(重点)
    • issubclass: 判断一个类是否是另一个的子类。
    • round():四舍五入。
    • sum():求和。
    • zip():组合两个可迭代对象。将对象元素逐一配对,形成一个个元组构成的列表。
    • __import__(name):一般用于动态加载模块。这个方法为我们提供了一种通过字符串反射包、库或模块的手段。其中的name是你想要导入的库的名称的字符串。(掌握)

下一篇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花_城

你的鼓励就是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值