首页 > 其他分享 >Property属性

Property属性

时间:2024-03-19 19:45:00浏览次数:26  
标签:username obj name self del Property def 属性

装饰器Property属性

可以动态的控制属性的获取,设置,删除相关操作

方法一

"""
	是同一个方法名
"""
class MyClass():
	
	def __init__(self,name):
		self.name = name
		
	@property  # 获取值时候触发
	def username(self):
		return self.name
		
	@username.setter  # 设置值时候触发
	def username(self,val):
		# print(val)  # val是设置的右值
		self.name = val
		
	@username.deleter
	def username(self):  # 删除值的时候触发
		del self.name

obj = MyClass("小红")
# 获取值的时候自动触发@property 装饰器下的方法
res = obj.username
print(res)

# 设置值的时候自动触发@username.setter 装饰器下的方法
obj.username = "小兰"
print(obj.username)

# 删除值的时候自动触发@username.deleter 装饰器下的方法
del obj.username

方法二

class MyClass():

	def __init__(self,name):
		self.name = name
		
	# 获取数据
	def get_username(self):
		return self.name
	
	# 设置数据
	def set_username(self,val):
		self.name = val
	
	# 删除数据
	def del_username(self):
		del self.name
		
	# 参数的顺序: 获取 , 设置  , 删除
	username = property(get_username , set_username  , del_username )
		


obj = MyClass("小芳")
# 获取值的时候,执行get_username下的相关操作
print(obj.username)

# 设置值的时候,执行 set_username 下的相关操作
obj.username = "11223344"
print(obj.username)

# 删除值的时候,执行 del_username 下的相关操作
del obj.username

标签:username,obj,name,self,del,Property,def,属性
From: https://www.cnblogs.com/wbcde116/p/18083777

相关文章

  • 数据库中利用二进制实现多个布尔属性的增删改查
    需求背景业务场景中经常需要一些布尔型的属性来标记数据状态,如果每个属性值都新增一个数据库字段来保存会造成空间上的浪费,在工作中进行建模设计时难免会想到用二进制来节省空间,以整形32位为例,去除最高位的符号位总共可以用来保存31个布尔属性值。实现细节为方便讲解,这里......
  • C#自动属性提供默认值的方法
    编程之路转自:cjavapy.com/article/55/_ .NET(C#)中,自动属性(Auto-ImplementedProperties)提供了一种简洁的方式来实现属性而无需显式定义字段。但直到C#6.0版本之前,不能在自动属性的声明中直接为其指定默认值。从C#6.0开始,可以在自动属性声明中直接初始化默认值。_1、在构造......
  • 当我需要实现某个外部属性变化,更新表格的某一列,所有值均为变化后的值,应该如何实现
    在这里,将tableData添加到useEffect的依赖数组会导致无限循环。因为在useEffect内部更新了tableData状态,每次状态改变又会触发useEffect再次执行,形成无限循环。解决这个问题的一种方法是,在状态更新时创建一个新的数组,而不是直接修改现有数组。这样就不会触发依赖数组中tableData的......
  • MvvmLight中,两个依赖属性的值发生变化时影响第三个控件属性的用法
    使用数据绑定配合IValueConverter(值转换器)创建一个自定义转换器,该转换器接收两个输入值,并根据他们是否相等返回相应的输出值。然后将这个转换器应用到第三个控件的属性上1publicclassEqualityToTextConverter:IValueConverter2{3publicobjectConvert(o......
  • 让图片适应标签的CSS object-fit属性
    在实际的项目运行过程中,可能出现运营人员上传的文件与预期的图片尺寸不同的情况,为了解决这一问题可以使用object-fit属性,对嵌入的图像(以及其他替代元素,如视频)做相应的变化,更加精确地控制图像的展示效果,从而满足多样化的设计需求。让图片适应标签的CSSobject-fit属性1......
  • 新人基础笔记css的文本属性及字体样式
    css的字体属性 1.字体系列CSS使用font-family属性定义文本的字体系列。语法:p{font-family:“微软雅黑”;}div{font-family:Arial,“MicrosoftYahei”,"微软雅黑";}各种字体之间必须使用英文状态下的逗号隔开一般情况下,如果有空格隔开的多个单词组成的字体,加引号......
  • 鸿蒙的背景属性
    背景图-backgroundImage属性:.backgroundImage(背景图地址)Text().backgroundImage($r('app.media.flower')),ImageReapeat.XY)背景图平铺方式ImageRepeat:(可省略)Noreapeat:不平铺,默认值X:水平平铺Y:垂直平铺XY:水平垂直均平铺背景图位置-backgroundImagePosition作......
  • Qt QTableWidget 设置列宽行高大小的几种方式及其他常用属性设置
    效果:1.列宽、行高自动分配1//列宽自动分配2tableWidget.horizontalHeader().sectionResizeMode(QHeaderView::Stretch)3//行高自动分配4tableWidget.verticalHeader().SectionResizeMode(QHeaderView::Stretch)2.固定值tableWidget.horizontalHeader().SectionResi......
  • 构建高性能网站:基于软件质量属性的综合优化分析
    构建高性能网站:基于软件质量属性的综合优化分析刘梦阳石家庄铁道大学,河北省石家庄市050043摘要:本文以《高性能网站建设指南》为基础,探讨了如何根据软件质量属性的六个一级指标对网站进行综合优化分析。通过分析功能性、可靠性、可用性、效率、可维护性和安全性等方面,提出了一......
  • css简直 恐怖如斯!!! css之前端必知属性!!!
    一、css中实现元素隐藏的几种方法1.opsition:0;        通过透明实现元素隐藏,视觉上隐藏但仍然存在2.display:none;        标签消失,不占页面位置,不显示3.display:block;        独占一行,可设置宽高,块显示二、如何进行元素转换1.    行元......