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

python __getattr__

作者:战神再世   发布日期:2025-08-19   浏览:95

class MyClass:
    def __init__(self, name):
        self.name = name

    def __getattr__(self, attr):
        # 当访问不存在的属性时,会调用此方法
        print(f"你尝试访问的属性 '{attr}' 不存在.")
        return None

# 示例使用
obj = MyClass("example")
print(obj.name)  # 输出: example
print(obj.age)   # 输出: 你尝试访问的属性 'age' 不存在. None

解释说明:

  • __getattr__ 是 Python 中的一个特殊方法,当访问一个对象的属性而该属性未定义时,会自动调用这个方法。
  • 在上面的例子中,MyClass 类定义了 __getattr__ 方法。当我们尝试访问对象 objage 属性(该属性并未在类中定义)时,__getattr__ 方法会被触发,并打印一条消息,然后返回 None
  • 如果访问的是已经定义的属性(如 name),则不会触发 __getattr__ 方法。

上一篇:python pyttsx3

下一篇:list在python中代表什么

大家都在看

python时间格式

python开发windows应用程序

python中len是什么意思

python ord和chr

python中的yield

python自定义异常

python判断路径是否存在

python list.pop

python的for i in range

npm config set python

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

Laravel 中文站