Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python __slots__

作者:伪言   发布日期:2026-02-14   浏览:97

class MyClass:
    __slots__ = ['name', 'age']

    def __init__(self, name, age):
        self.name = name
        self.age = age

# 解释说明:
# __slots__ 是一个类变量,用于限制类的实例所能拥有的属性。
# 在上面的例子中,MyClass 的实例只能有 'name' 和 'age' 这两个属性。
# 如果尝试给实例添加其他属性,会引发 AttributeError 异常。
# 使用 __slots__ 可以节省内存,并且可以防止程序员意外地添加不必要的属性。
# 示例:正常设置属性
obj = MyClass('Alice', 30)
print(obj.name)  # 输出: Alice
print(obj.age)   # 输出: 30

# 示例:尝试设置不在 __slots__ 中的属性,会引发 AttributeError
try:
    obj.address = "123 Main St"
except AttributeError as e:
    print(e)  # 输出: 'MyClass' object has no attribute 'address'

上一篇:python for data analysis

下一篇:python filter函数的用法

大家都在看

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

staticmethod在python中有

python 保存json文件

python开发windows应用程序

python中len是什么意思

python 私有函数

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站