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

python中的getter和setter你知道吗?

  用java编程的小伙伴应该会比较熟悉getter和setter,其实在python中也有getter-setter,不过两者区别还是蛮大的。
  对于一般的属性访问或者设置我们用属性操作符就行了,那getter与setter有什么优点呢?优点就是灵活性高,因为当你访问或者设置某个属性时能执行一段代码,进而可以增加其它业务逻辑。
  python中的getter与setter是通过property类来实现的,但实际使用中我们常用装饰器来实现,即@property和 @x.setter。
  为了简单说明问题,我们实现以下例子:当访问或者设置某个属性时打印出正在访问或者设置的属性名字,代码如下:class HelloDemo:     def __init__(self, hello=None):         self._hello = hello      @property     def hello(self):         print("*****get hello*****")         return self._hello      @hello.setter     def hello(self, value):         print(f"*****set hello to value: {value}*****")         self._hello = value   demo = HelloDemo(1)  print(f"=====hello is: {demo.hello}=====") demo.hello = 2 print(f"=====hello is: {demo.hello}=====")
  为了便于区分打印出的内容,我们加了=====和*****标识作为区分,运行以上代码输出如下:*****get hello***** =====hello is: 1===== *****set hello to value: 2***** *****get hello***** =====hello is: 2=====
  了解了上面的内容后,我们就可以通过这种方式实现一个只读属性,如下:class HelloDemo:     def __init__(self, hello=None):         self._hello = hello      @property     def hello(self):         return self._hello      @hello.setter     def hello(self, value):         raise ValueError("can"t set read only field")  demo = HelloDemo(1)  print(f"=====hello is: {demo.hello}=====") demo.hello = 2 print(f"=====hello is: {demo.hello}=====")
  上面代码由于修改hello属性,运行时就会抛出异常,如下:=====hello is: 1===== Traceback (most recent call last):   File "test.py", line 15, in      demo.hello = 2   File "test.py", line 11, in hello     raise ValueError("can"t set read only field")
  这里我们只是说明了用法,具体的使用场景还是需要你去挖掘的,你学会了吗?如果有问题欢迎评论交流!

币圈大V集体撕逼?大V都跑路了我还不跑今年的五月是多事之秋,前有LUNA崩盘,后有IBOX卷钱跑路,本来BTC整体走弱后开始回调震荡,但是也爆仓了那么多人。今天推特上也疯了,主要因为OPT的事件,大V们下场撕逼,韭菜一新能源汽车时代,车企是否还需要继续研发内燃机?记者观察2个月前,上汽创新研发总院副院长仇杰赶在上海封城前,连夜只身赶往广德试验基地,只为了不影响新一代蓝芯动力样机的测试。更早之前,上汽动力总成技术中心项目团队赶在上海封控前,从各处将所从阿里辞职后不再内卷一位德国程序员的躺平之路如果你是因为幻想着新生活的美好而移民,那你将必然失望,因为生活中的盐总是咸的,哪里都一样。如果你是因为要逃离旧世界的痛苦而移民,那你几乎一定会幸福,因为那一时一地的苦难并不是普世价北京一网吧躲避监管违规经营致多人感染,4800余人被封控管理5月24日,平安北京通州官方微博凌晨发布情况通报,针对一新冠肺炎病毒感染者曾于5月19日在通州区台湖镇易龙网吧上网,造成新冠肺炎传播的情况说明。经查,5月10日,市文化和旅游局发布软件测试SQL面试题数据库,无外乎增删改查增insertintoA表values(value1,value2,value3)向A表中新增数据删deletefromA表(whereid1)删除A表(删除SQLserver(oracle)语句练习指南SQLserver(oracle)语句练习指南!!!练习希望可以按顺序执行!!!建表(一)createtableTeacher(Tnointeger,Tnamechar(6),Ti腾讯新闻再换帅!前负责人来自网易云音乐,去年8月上任经历系列裁员传闻后,腾讯迎来新的人事变动。5月23日,腾讯内部发文任命何毅进担任腾讯新闻业务负责人,兼任腾讯网总编辑,向公司副总裁曾宇汇报。原新闻负责人王诗沐将调任PCG(平台和内热搜第一!刷爆朋友圈的广告被指抄袭!刚刚,奥迪道歉,刘德华账号删除视频5月21日是小满节气,没想到朋友圈被奥迪一则广告刷屏。这则广告,没有介绍某款车型,只是以小满为题,请刘德华讲了个人生哲理。刘德华温情脉脉的讲述,引发了网友广泛共鸣,被誉为广告营销的现代汽车宣布在美国新投资计划,到2025年投入将超100亿美元路透社5月22日消息,现代汽车集团22日宣布将在2025年前在美国追加投资50亿美元,以加强与美国公司在先进技术方面的合作,包括机器人技术城市空中交通自动驾驶和人工智能。现代汽车上快手辟谣5月23日晚间,有消息称,快手科技(01024。HK)董事长宿华疑因牵涉某案件,于四月底被有关部门带走配合调查。对此,快手回复观察者网称,对恶意传播网络谣言的行为,已经正式向公安机巨星财富比尔盖茨们的能源行业创新一些世界上最著名的亿万富翁长期以来一直参与传统和创新的能源项目,但他们在多大程度上影响了该行业的看法?例如,当埃隆马斯克宣布特斯拉大规模购买比特币或批评数字货币时,人们会倾听。那么
新机iPhoneSE3鼎桥版Mate40EiPhone15自研基带vivoX80vivoX80系列将于明年年初发布根据外媒91Mobiles从业内人士获得的消息称,vivo将于明年一月底至二月初在印度发布vivoX80系列手机。目前vivoX80系列手机的信息普通打工族买手机,选择mate40pro还是iPhone13哪个好?现在有很多人买手机的时候都会纠结一下,来考虑一下手机的型号和品牌,都会有选择困难症。作为当下最火的两个手机品,华为和苹果的竞争非常的激烈,这两家厂商的手机产品不相上下,因此是买华为紧急叫停!腾讯道歉近日,不少哔哩哔哩(B站)上的UP主发视频质疑腾讯黎明计划,指出创作者没有拿到应得入驻金MCN恶意举报账号,或在入驻时被索要创作者在第三方平台账号和密码等情况。据一位游戏科普UP主交易额突破六百亿央行数字货币全面应用近了交易额突破六百亿元有效防范市场分割隐私泄露等风险央行数字货币支付工具全面应用渐行渐近核心阅读数字人民币具有与银行账户松耦合支付即结算低成本等特性,可满足用户多主体多层次多类别多形态这3款手机趋于完美,不仅配置强悍,价格还异常的亲民现如今智能手机市场的争夺已经进入了白热化阶段,各个厂家为了吸引用户每年都会推出多款智能手机产品,带来最直接的问题就是,很多对手机不了解的用户挑花了眼,一不留神就会买到让人懊悔的机型小米大获全胜,荣耀捷报频传,iQOO超级强悍激烈的双十一就这么结束了,相信每个人心中都有杆秤,知道每个品牌的整体表现如何。下面我们一起盘点下各大品牌的战报小米大获全胜小米的战报最简单,雷军用大获全胜来形容。因为小米仅发出全渠深度解读当年的5G投票中,联想究竟干了什么?2016年10月14日,里斯本。现场正在进行一次提案的表决,几乎全球的通信企业都汇聚于此,他们逐一起身代表各自的公司发表观点,试图为自己所代表的技术路线争取到些许支持。表决的内容为整改后续来了!腾讯视频整改措施全面,PP视频整改行动迅速通讯员郑静记者从浙江省消保委获悉,11月12日,7家视频网站向浙江省消保委提交了各自的整改报告。从整改情况来看,腾讯视频提交的整改措施最为全面,PP视频整改行动最为迅速。浙江省消保腾讯发布反诈防骗主题宣传片入局来源中国经济网为进一步宣传普及电信网络诈骗防范知识,提升社会公众的反诈防骗意识,联动各方力量共同推进电信网络诈骗打击治理工作,根据中国人民银行公安部银保监会相关要求,腾讯公司及财付为什么国外的社交软件能风靡168个国家,而微信到海外就不行了?与风俗习惯及使用语言有关专门作过这方面的探讨,有资格回答你这个问题。我女儿在澳洲读博,曾到美国日本韩国新西兰泰国参加过学术研讨,同学及接触到的朋友遍布几个大洲,我曾询问过她这个问题海世康纳智慧环卫系统传统的环卫服务管理模式单一,大部分地区仍采用分组分街道的工作模式,监管则采取当地环卫部门管理人员不定时抽查组长巡查汇报的方式,导致人员车辆监管困难环卫各资源无法共享互通,发现问题无