python内置函数及作用,举例说明Python中内置函数的应用和作用

  python内置函数及作用,举例说明Python中内置函数的应用和作用

  一、getattr的作用是什么?在Python交互式帮助环境中,输入getattr并按enter后,您将获得以下信息:

  阅读上图中的信息,您可以对getattr函数有以下认识:

  接受两个位置参数——object和name。可选参数——默认参数object是对象object的属性名,其类型是对象参数名的字符串。如果有一个名为sddjmg的对象,且属性为age,则getattr(age )的结果与sddjmg.age相同如果不知道目标sddjmg是否有weight属性,则尝试用getattr(sdjmg, weight ,0)进行检索。如果不保存该属性,则0是该属性不存在时返回的默认值,因为默认参数的值设置为0。二。什么时候需要使用getattr?既然getattr(sdjmg, age )和sddjmg.age都可以得到sddjmg对象的age属性的值,那么用后者不是更好吗?毕竟点语法看起来比getattr函数简单多了,不用写那么多字。的确,一般来说,使用点语法来获取属性值是很方便的。但是在语法上也有点弱,必须使用getattr函数来获取属性值。

  应该用谁?关键是编写代码的时候程序员是否能够确定要获取哪个属性的值。

  如果我清楚的知道,我想得到属性年龄的值。Sddjmg.age符合我的需求。但是,请考虑以下事项。

  Sddjmg对象有五个属性:姓名、年龄、工作、体重、身高,根据用户的选择显示相应的属性。也就是用户说“让我看看sddjmg的高度!”并告诉节目。程序必须向用户显示height属性的值。

  在上面的场景中,程序员在编写代码时无法决定访问哪个属性值,选择权交给了用户。用户输入了字符串“height ”,该字符串在点语法(如sddjmg.height)中没有位置。这个要求在语法上不太合适吧?如果非要用语法,那就不行。例如,使用字典保存sddjmg的所有属性值。关键是一个字符串,比如 height ,它的值就是属性值,比如sddjmg.height你可以通过字符串“height”来检索对应的属性值。但是,这个方法并不比接下来要介绍的getattr好多少。)此时,使用getattr是非常合适的。因为getattr的第二个参数类型只是一个字符串!我们可以使用Getattr(SDDjmg, height )来获取高度的值。也可以使用默认参数成功解决用户输入的属性不存在的问题。

  示例代码如下所示。

  fromtypingimportnamedtupleclassperson(命名元组) )。 Person Name:Strage:int job:str weight 3360 float height 3360 FloatsDJMG=Person(吓人的长颈鹿),32,Actor 178 是否要将用户输入的字符串赋给变量attribute _ Name attribute _ Name=input( whatsdoyouwanttoknow about害怕长颈鹿?Enteranattributename # #请注意,上面的字符串已传递给此函数。第二个参数#第三个参数是属性不存在时返回的字符串print。Getattr(SDDjmg,attribute_name,对不起,thisattr)如果你知道该函数适用的其他场景,请在评论区评论。

  如果这篇博文有帮助,请订购。(#.#)如果有任何问题,请随时留言。用博客nice或在线秒回复()))))))))))))))))))))))。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: