当前位置:首页>python>从零开始学Python:其他内置函数解析(四)

从零开始学Python:其他内置函数解析(四)

  • 2026-08-26 17:05:42
从零开始学Python:其他内置函数解析(四)

学习笔记 DAY 17

坚持是一件说起来容易,做起来不容易的事情。

Python中的“其他内置函数解析(四)”

目 录
31. Property()函数32. gettattr()函数
32.property()函数
作用:property()函数用于在新式类中返回属性值。
语法:
class property([fget[, fset[, fdel[, doc]]]])

解析:

fget:获取属性值的函数

fset:设置属性值的函数。

fdel:删除属性值函数。

doc:属性描述信息。

返回值:返回新式类属性。

案例:

class C(object):  def_init_(self):     self._x= None  def getx(self):    return self._x  def setx(self, value):    self._x= value   def delx(self):     del self.xx=property(getx,setx,delx,"I'm the 'x'property.")

如果c是C的实例化,c.x将触发getter,c.x=value将触发setter,delc.x触发deleter。

如果给定doc参数,其将成为这个属性值的docstring,否则property函数就会复制fget函数的docstring(如果有的话)。

将property函数用作装饰器可以很方便地创建只读属性:

class Parrot(object):  def_init_.(self):    self._voltage = 100000  @property  def voltage(self):     """Get the current voltage."""     return self._voltage

上面的代码将 volage()方法转化成同名只读属性的getler方法。

property的getter、setter和deleter方法同样可以用作装饰器:

class C(object):   def_init_(self):     self._x = None   @property   def x(self):     """ |'m the 'x' property."""     return self._x   @x.setter   def x(self, value):     self._x = value   @x.deleter   def x(self):     del self._x

32.getattr()函数

作用:getattr()函数用于返回一个对象属性值。

语法:

getattr(object, name[, default])

解析:

object:代表一个对象。

name:字符串。

deamlt:默认返回值,如果不提供该参数,在没有对应属性时,将触发AttributeError。

案例:

>>>class A(object):···  bar = 1···>>>a=A()>>>getattr(a,'bar')   #获取属性bar值1>>>getattr(a,'bar2’)  #属性bar2 不存在,触发异常Traceback (most recent call last):  File "<stdin>", line 1, in <module>AttributeError:'A'object has no attribute'bar2'>>>getautr(a,'bar2',3)  #属性bar2不存在,但设置了默认值3>>>

(从基础背景开始学起,坚持,是一件不容易的事情。)


文章推荐

CMMI 体系培训PPT(一)

CMMI 体系培训PPT(二)

CMMI 体系培训PPT(三)

CMMI 体系培训PPT(四)

CMMI 体系培训PPT(五)

PMO体系分享PPT(一)

PMO体系分享PPT(二)

PMO和项目经理,不得不说的秘密!

项目管理:浅谈职业发展规划

项目管理:君子有所为有所不为

“大脑”再重要,也需要“生命”,质量管理便是项目管理的“命”!

文 | Lisa Notes

Lisa Notes |一个Lisa’s notes:生活、工作、学习中那些事儿,感悟自我成长,随心随笔杂谈。微信搜索「Lisa Notes」(ID:Lisa-notes),查看更多信息,原创小说,PPT干货分享。

长按♥一键关注

特别声明

本文为自媒体、作者等在微信公众号上传并发布,仅代表作者观点,不代表微信公众号的观点或立场,微信公众号仅提供信息发布平台,最终解释权归本人所有。合作请联系13698281600@163.com。

全世界只有不到0.03%的人

关注小SA

你真是个特别的人

快戳我!快戳我!快戳我!㊋㊋㊋

最新文章

随机文章