python 内置函数isinstance(),hasattr(),getattr(),setattr()的介绍

python有很多内置函数很好用,也非常常用。今天来介绍几个常用的


1. isinstance(),用于判断对象类型,是否在一个范围内,如果在则返回True,反之返回False
例如:
a= 'aaa'
isinstance(a,(str,int))   #属于str
>>>True
isinstance(a,(int,float))   #都不属于
>>>False

也是可以作为一些判断,判断对象是否属于一些类等。
class A(object):
	pass
s =A()
isinstance(s,(A,str,int,float))   #属于A类
>>>True


2. hasattr(object,'x') 函数,用于判断对象object是否含有x属性或方法,有则返回True,否则返回False
比如:
A = {}
hasattr(A,'keys')
>>>True 
可以用于一些判断,比如类的属性的判断或方法判断等等


3. getattr(object,'x') ,获取对象object的x属性或方法,有就打印出来,属性会直接打印出值,方法则打印内存单位,没有则会报错
class A(object):
	a ='a'
	def s(self):
		print('s')
getattr(A,'name')  
>>>a
getattr(A,'abc')  
>>>报错  ## 没有这个属性或方法时,报错
getattr(A,'abc','ok')  
>>>ok     ## 没有这个属性或方法时返回给定的值


4.  setattr(A,'abc','123')  为对象的属性赋值 ,如果属性不存在这创建此属性,作为操作,没有返回值
设置后:  getattr(A,'abc')
>>>123


结合一起可以实现,判断对象是否有指定属性,若没有,则创建并赋值
get(A,'xxx',set(A,'xxx','456'))   获取A对象的xxx属性,有就打印出来,没有就创建并赋值为'456'


这些常见的内置函数还是非常好用的。

猜你喜欢

转载自blog.csdn.net/weixin_41004350/article/details/78780700