范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Python中propertyampampampeval()的妙用

  学习过Java 编程语言的小伙伴,应该都知道在Java 语言学习过程中会学到类属性的getter & setter 方法。那么在Python 中是否也有类似的方法呢?答案是,有的。
  今天的分享内容是:如何使用@property 装饰器去实现Python 中的getter & setter 方法。
  在代码实操之前,先来了解下@property 装饰器相关的小知识。有利于更好地理解以下实操代码。
  1、Python 内置有三大装饰器:
  @staticmethod(静态方法)
  @classmethod(类方法)
  @property(描述符)
  其中@property 则是一个非常好用的语法糖 (语法糖指那些没有给计算机语言添加新功能,而只是对人类来说更"甜蜜"的语法。之所以亲切地称之为"甜蜜"的语法,是因为语法糖往往给程序员提供了更实用的编码方式,有益于更好的编码风格,更易读)。
  @property 最大的好处就是在类中把一个方法变成属性调用,是Python 内置的功能,常用来修饰类方法,用于以访问属性的方式调用函数。
  2、Python 代码实现:   1class Person:  2    def __init__(self,name,age,salary):  3        self.__name=name  4        self.__age=age  5        self.__salary=salary  6  7    def set_name(self,name):  8        self.__name=name  9 10    def get_name(self): 11        return self.__name 12 13    def set_age(self,age): 14        self.__age=age 15 16    def get_age(self): 17        return self.__age 18 19    def set_salary(self,salary): 20        self.__salary=salary 21 22    def get_salary(self): 23        return self.__salary 24 25    @property 26    def age(self): 27        return self.__age 28 29    @age.setter 30    def age(self,age): 31        self.__age=age 32 33if __name__ == "__main__": 34    p1 = Person("tom",11,1000) 35    print(p1.get_age()) 36    p1.set_age(100) 37    print(p1.get_age()) 38 39    print(p1.age) 40    p1.age = 28 41    print(p1.age) 42 43    #eval()的功能:将字符串str当成有效的表达式来求值并返回计算结果。如下是将字符串转换成方法名再调用: 44    def man(): 45        return "good job" 46    print(eval("man")()) 47 48    #eval()可以把list, tuple, dict和string相互转化,这里以list为示例进行演示: 49    list1 = "[33,2,22,11,44,55]" 50    print(type(list1)) 51    list2 = eval(list1) 52    print(type(list2)) 53    print(list2) 54    print(list2[0])
  3、Python 中定义只读属性
  在Python 中定义只读属性非@property莫属,而定义只读属性也很简单:以需要定义的属性为方法名(如第26行:将age 属性定义为方法),在该方法上加上内置装饰器@property ,同时仍旧以属性名为方法名(如第30行:将age 属性定义为方法,并在方法名上增加@age.setter)。

粉丝买二手iPhone13Pro256GB准新机,称比全新机更划算粉丝本想买全新iPhone13Pro256GB,但预算不够。纠结再三之后入手了二手iPhone13Pro。二手iPhone和全新iPhone最大的区别就是保修天数,全新机能体验到撕消息称微软计划在免费Xbox游戏插入广告,收入全部归开发商财经网科技4月16日讯,据IT之家消息,微软正在考虑一种从广告中获取收入并与开发人员分享的新方法。根据BusinessInsider的一份报告,该公司希望推出一个新的广告计划,让品阻击马斯克这个门口的野蛮人!推特毒丸计划细节来了4月15日周五,美股因复活节长周末而休市一天。而近期因特斯拉CEO马斯克意欲成为门口的野蛮人而备受关注的社交媒体巨头推特发布公告,给出了阻止恶意收购的毒丸计划细节。推特发起毒丸计划苹果加入清洁能源计划的中国供应商过去一年增长近75苹果公司日前宣布,其全球供应商在去年使用的清洁能源翻了一番有余。目前,总计承诺未来几年使用的近16吉瓦清洁能源中,已有超过10吉瓦投入使用。在中国,加入Apple清洁能源计划的供应新手想了解拼多多无货源请看这里给大家分享一下自己的小白开店体验这些年网络越来越方便了。很多人觉得做店铺的话投入太大了,并且内容很繁琐,而且要求很高,其实不然,传统电商的话主要的花费是在进货囤货上面以及推广和美工分析人士预计中国电动汽车销量将持续增长来源参考消息网余诗泉参考消息网4月24日报道据香港南华早报网站报道,分析人士说,虽然过去2个月来,锂价格上涨5倍,迫使新能源车制造商提价,但这并不会影响中国电动车销售前景。根据惠誉威马汽车为用户带来了无忧无虑的K歌新体验中国新能源汽车企业突然崛起,引领了全球新能源汽车产业的发展趋势。中国汽车产业从汽车制造向汽车智能制造迈进,涌现出许多具有核心实力的新能源汽车企业,如威马。身为智能汽车顶级实力学校,非洲大使进直播间卖特产,商务部等多部门联合开展非洲好物网购节4月22日,红星资本局从商务部专题发布会上获悉,在2022年4月28日至5月12日,商务部将会同外交部发展改革委工业和信息化部市场监管总局邮政局知识产权局和中国消费者协会,共同指导C11高性价比的新能源SUV零跑C11不得不说无论是在设计性能自动驾驶辅助系统车机方面,C11才是零跑真正意义上的能够定义品牌形象的车型。那么被众人给予厚望,那么C11究竟如何呢?内外颜值我都有与此前两款车型价格差不多是颜值小米Civi1S还是性价比红米K40S,该如何选择?建议选择红米K40S,性价比更高,各项配置更好1性能上,红米K40S的骁龙870性能吊打骁龙778G,基本上高了个档次,性能是决定一款手机使用时间长短的硬件基础。2屏幕上,红米K4世界智能网联汽车大会展会时间2022年09月1619日展会地点中国北京中国国际展览中心(新馆)主办单位北京市人民政府工业和信息化部公安部交通运输部中国科学技术协会等举办周期一年一届同期展会第10届中国
万事达卡和双子座将提供实时加密货币奖励位于美国的加密货币交易所Gemini已与支付巨头万事达卡(Mastercard)和数字贷方信用卡发行商WebBank合作,在短短几个月内推出了新的加密货币奖励信用卡和实时奖励平台。VanEck向SEC提交以太坊ETF申请在美国没有加密货币ETF,VanEck同时提交了比特币ETF和以太坊ETF的申请。资产管理公司VanEck已经向美国证券交易委员会(SEC)提交了一份以太坊交易所交易基金(ETF)BitMEX确认扩张计划,重点仍在衍生品上在其先前宣布的扩张计划的基础上,加密货币衍生品交易所BitMEX已经公布了它正在扩大其提供的五个新业务部门现货经纪托管信息产品和学术。该公司还将在一些司法管辖区寻求额外的许可证。这分析师称,Dunamu纳斯达克上市ampampquot可能筹集179亿美元ampampquot韩国分析师正在继续争论韩国市场领先的Upbit加密交易所运营商Dunamu的市场价值,因为有关该公司寻求在美国股市上市的言论愈演愈烈。据此前报道,业内人士称Dunamu的价值对于国美国证券交易委员会推迟了对VanEck比特币ETF的决定美国证券交易委员会已经延长了对VanEck的比特币ETF提案的审查。新的截止日期是6月17日,但它很可能再次被延长。如果获得批准,VanEck的比特币ETF将是美国的第一个。根据一中国支付协会在最新警告中支持中国的加密货币禁令中国的三家银行和支付协会对央行2017年禁止金融机构和支付公司参与加密货币交易的禁令进行了加倍强调。在一份声明中,这些公司还警告投资者不要进行加密货币交易,声明中称这种交易是投机性SkybridgeCapital推出私人以太坊基金SkyBridgeCapital已经推出了私人以太坊基金,据TheBlock报道,该公司在1月份推出了2500万美元的比特币基金,还将向美国证券交易委员会(SEC)申请一个以太坊EEpicGamesvs苹果首轮裁决出炉,或为iOS加密支付打开大门一名法官近日裁定,苹果不能再阻止在iOS应用程序中使用外部支付选项。这项裁决增加了加密货币钱包在iPhone和iPad上进行支付的可能性。由于堡垒之夜(Fortnite)开发商Ep高杠杆再次为崩盘背锅,PlanB早已预测到这次市场底部9月7日,在比特币(BTC)价格暴跌导致数字资产跌至43,000美元以下后,交易员措手不及,这导致衍生品市场广泛清算,清算量超过35。4亿美元。由于比特币在萨尔瓦多被正式承认为法定市场总结比特币暴跌,萨尔瓦多抄底比特币比特币跌破4。6万美元,引发了数十亿的多头清算。这种波动性使萨尔瓦多的许多人对该货币的采用不那么乐观,但萨尔瓦多总统周二表示已抄底150个BTC。比特币周二大幅走低,一度从5200币圈事件监管风暴下,比特币卷土重来突破52000美元关口监管风暴下,比特币卷土重来突破52000美元关口9月7日,媒体了解到,今日凌晨,比特币价格冲破52000美元关口。4月中旬,比特币价格达到创纪录的65,520美元,此后出现了约50