首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python编程中类的属性获取、设置、判断是否存在等,实战hasattr和getattr函数的应用案例!

知识回顾:

有关类的多继承

掌握的是多继承类定义的写法。

理解类的同名方法的优先级。

__bases__查看一个类的多个继承父类 。

本节知识视频教程

一、接口

开场白要说的其实是在python中没有接口的概念。那么接口是怎样的呢?

接口:理解为一种规范。定义一个接口实际上是一定一个规范,那么一个接口类可以定义多个规范。每个规范实际上是一个函数(方法)名称。

接口的实现:通过具体继承这个接口的类来具体实现。

二、Python中的判断模式

Python中采用可以采用方法判断代替某个接口方法是否存在。下面来开始介绍。

1. hasattr函数

hasatrr(参数1,参数2)函数来判断,如果某个参数1对象中有参数2的方法,那么就返回True,否则返回False

参数1:某个类实例化的对象

参数2:某个方法名称,用字符串类型表示

通过测试,我们知道hasattr函数其实也同样适用于类的属性。

2. getattr函数

getattr(参数1,参数2 [,参数3])

参数1:某个类的对象

参数2:某个类的方法名称,注意这个方法名称不要加小括号

参数3:默认函数,这个方法可以被省略,但是如果被省略的情况下,参数2这个方法名称如果不存在的话,这个函数会直接报异常。如果参数3没有省略,那么这个getattr函数的结果,在参数2不存在的情况下,会返回参数3,使得结果不会报错。注意,参数3在写的时候不要加小括号,一旦加了小括号,参数3这个方法名称就会被自动执行。

这里的参数3中的方法名称不一定是要在类的内部的,也可以是外部自定义的。

同样的,这个函数也可以适用到属性的获取上面。

3. setattr函数

这个函数用来设置对象的默认方法与属性。

setattr(参数1,参数2,参数3)

参数1:某个类的实例化对象。

参数2:需要设置的某个类的新的方法或属性名称。

参数3:对象参数2中的方法或属性名称的具体的值。

如果参数2是一个属性,那么参数3可以直接设置这个属性的值。

如果参数2是一个方法,那么参数3可以设置自定义的某个方法名称,注意这里不要写成字符串的形式,而是直接写某个方法名。

如果参数2中的方法或属性名称与对象原有的方法或属性相同,那么就以新设置的为准。

三、总结强调

1.掌握接口的概念。

2.掌握hasattr判断某个对象是否有某个属性或者方法。

3.掌握getattr函数获取某个对象的方法或属性,并可以给予一个默认值。

4.掌握setattr函数设置某个对象的方法或属性。

本节源代码:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230514A065NN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券