小白基础讲解:Python 中@property的用法,看完不要再去踩坑了?

小白基础讲解:Python 中@property的用法,看完不要再去踩坑了?在绑定属性时,如果我们直接把属性赋值给对象,比如:我们先看个详细的例子:输出:表面上看,外部代码“成功”地设置了__age变量17,但实际上这个

欢迎大家来到IT世界,在知识的湖畔探索吧!

文章内容主要介绍了Python 中@property的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧!

在绑定属性时,如果我们直接把属性赋值给对象,比如:

小白基础讲解:Python 中@property的用法,看完不要再去踩坑了?

我们先看个详细的例子(注意双下划线name和age定义为私有变量):

小白基础讲解:Python 中@property的用法,看完不要再去踩坑了?

输出:

小白基础讲解:Python 中@property的用法,看完不要再去踩坑了?

表面上看,外部代码“成功”地设置了__age变量 17,但实际上这个_age变量和class内部的_age变量不是一个变量!

内部的_age变量已经被Python解释器自动改成了_Person_age,而外部代码给p新增了一个_age变量。 所以调用 get_age_fun输出的是初始值 20

而set_age_fun 通过class内部改变了age变量值,所以最终输出 balala: 35

我们再稍微调整下:

(注意只改变了一个变量名: 原来的私有属性 __age 单下划线为: _age,也可以定义为:age.
解释:以一个下划线开头的实例变量名,比如_age,这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当看到这样的变量时,意思是,”虽然可以被访问,但是,请视为私有变量,不要随意访问。”)

小白基础讲解:Python 中@property的用法,看完不要再去踩坑了?

正在学习python的小伙伴或者打算学习的,可以私信小编“07”领取资料

欢迎大家来到IT世界,在知识的湖畔探索吧!

输出:

小白基础讲解:Python 中@property的用法,看完不要再去踩坑了?

看的出私有和全局的设置

但是,上面的调用方法是不是略显复杂,没有直接用属性这么直接简单。

有没有可以用类似属性这样简单的方式来访问类的变量呢?必须的,对于类的方法
我们先来看一个稍微改造的例子:(稍后我们再使用Python内置的@property装饰器就是负责把一个方法变成属性调用.)

我们进入正题:看看@property的妙用之处:

小白基础讲解:Python 中@property的用法,看完不要再去踩坑了?

输出:

小白基础讲解:Python 中@property的用法,看完不要再去踩坑了?

以上就是本文的全部内容,希望对大家的学习有所帮助!!!

结尾

最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“07”即可领取。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/65452.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信