python3中特殊的预定义属性和属性集合有哪些

在 Python3 中,有一些特殊的预定义属性和属性集合。这些特殊属性和属性集合在 Python 中起着重要作用,帮助程序员更好地控制类的行为以及模块的导入行为。
__init__是一个在类实例化时被调用的特殊方法,通常用于初始化实例的属性。
__main__是 Python 程序的主模块,即当前执行的脚本,可以通过该属性在模块被直接运行时执行一些特定的代码块。
__all__是一个模块属性,用于定义在使用 from module import * 语法时,应该导入的所有公开的符号(变量、类、函数等)的列表。
__slots__是一个类属性,用于限制该类的实例能够拥有的属性,从而节省内存并使访问属性更快。定义 slots 后,实例将只能绑定 slots 中指定的属性。
__doc__用于存储类、函数或模块的文档字符串。
__name__用于存储模块的名称,当模块作为主程序执行时,name 的值为 ‘main’。
__file__用于存储模块的文件路径。
__dict__一个包含对象的属性的字典,将属性名映射到属性值。
__class__指向对象的类。
__bases__存储类的基类元组。

# __init__
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person = Person("Alice", 30)
# __main__
if __name__ == '__main__':
    print("This script is being run directly.")
else:
    print("This script is being imported.")
# __slots__
class Point:
    __slots__ = ['x', 'y']
point = Point()
point.x = 10
point.y = 20
# __doc__
def square(x):
    """Return the square of a number."""
    return x ** 2
print(square.__doc__)
# __name__
print(__name__)
# __file__
print(__file__)
# __dict__
class MyClass:
    def __init__(self):
        self.x = 10
        self.y = 20
obj = MyClass()
print(obj.__dict__)
# __class__
print(obj.__class__)
# __bases__
class BaseClass:
    pass
class SubClass(BaseClass):
    pass
print(SubClass.__bases__)

这些特殊的预定义属性和属性集合在 Python 中具有特殊的作用,可以帮助程序员更好地控制和管理对象、类、模块等的行为。使用这些特殊属性和属性集合可以使代码更加灵活、易于理解和维护。

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值