python设置读取对象属性
Python 2024/6/27 8:04:49 点击:不统计
http://%77w%77%2E%66%6F%72%61%73%70%2E%63n网站制作学习
"""python设置读取对象属性
python 设置类的属性,读取类的属性,可以有多种形式,下面逐一使用各种读写类对象属性
"""
# 第一种,直接使用__inti__ 方法初始化
from typing import Any
class A:
def __init__(self, site_name):
self.site_name = site_name
a = A("forasp.cn") # 初始化
print(a.site_name)
a.site_name = "www.forasp.cn" # 更改
print(a.site_name)
a.site_url = "https://www.forasp.cn" # 添加
print(a.site_url)
"""结果
forasp.cn
www.forasp.cn
https://www.forasp.cn
"""
# 第二种通过 属性方法
print("第二种通过 属性方法")
class B:
def __setattr__(self, name: str, value: Any) -> None:
super().__setattr__(name, value)
pass
b = B() # 初始化
b.__setattr__("site_name", "forasp.cn") # 添加
print(b.site_name)
b.site_name = "www.forasp.cn" # 更改
print(b.site_name)
b.site_url = "https://www.forasp.cn" # 添加
print(b.site_url)
"""结果
forasp.cn
www.forasp.cn
https://www.forasp.cn
"""
# 第三种通过 属性方法
print("第三种通过 属性方法")
class C:
def __init__(self,name) -> None:
self._name = name
pass
def _get_name(self):
print("get")
return self._name
def _set_name(self,name):
print("set")
self._name = name
name = property(_get_name, _set_name)
# 注意这里的参数属性为self._name 而不是self.name
c = C("forasp.cn") # 初始化
c.name = "www.forsasp.cn" # 添加
print(c.name)
"""结果:
set
get
www.forsasp.cn
"""
# 第四种通过 通过@property 装饰器
print("第四种通过 通过@property 装饰器")
class D:
@property
def name(self):
print("get")
return self._name
@name.setter
def name(self, name_value):
print("set")
self._name = name_value
# 注意这里的参数属性为self._name 而不是self.name
d = D() # 初始化
d.name = "forasp.cn" # 添加
print(d.name)
"""结果:
set
get
forasp.cn
"""
以上就是python 设置属性,读取属性的方法
以上就是python 设置属性,读取属性的方法
http://%77%77%77%2E%66%6F%72%61%73%70%2E%63%6E
·上一篇:python抛出异常 >> ·下一篇:python 中的默认值 >>