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

python property

作者:洃铯哖輪   发布日期:2025-07-22   浏览:73

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

    @property
    def name(self):
        """Getter method for the name attribute."""
        return self._name

    @name.setter
    def name(self, value):
        """Setter method for the name attribute."""
        if not isinstance(value, str):
            raise ValueError("Name must be a string.")
        self._name = value

# 示例用法
person = Person("Alice")
print(person.name)  # 输出: Alice

person.name = "Bob"
print(person.name)  # 输出: Bob

# person.name = 123  # 这会引发 ValueError: Name must be a string.

解释说明:

  • @property 装饰器将方法转换为属性,允许我们像访问普通属性一样访问该方法。
  • @name.setter 装饰器定义了设置属性值时的行为。这里我们添加了一个简单的验证,确保 name 属性只能被设置为字符串。
  • 如果尝试将 name 设置为非字符串类型,将会抛出 ValueError 异常。

上一篇:python反转字符串

下一篇:python中split

大家都在看

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 中文站