目录索引
- ==1. hasattr():==
- ==2. getattr():==
- ==3. setattr():==
- ==4. delattr():==
- ==5. issubclass():==
- ==6. isinstance():==
- 我们先创建一个类,用于后面举例子时使用,默认携带该例子
class Person(object):
def __init__(self,name,age,sex):
self.name = name
self.age = age
self.sex = sex
def run(self):
print(f"{self.name}的年龄是{self.age}性别是{self.sex}")
people = Person("小明",18,"男")
people.run()
1. hasattr():
print(hasattr(Person,"age"))#如果第一个参数是类名,无论有没有属性都是False
print(hasattr(people,"age"))
print(hasattr(people,"height"))
呈现效果:
2. getattr():
有:
print(getattr(people,"name"))
没有则报错:
print(getattr(people,"height"))
3. setattr():
setattr(people,"height",180)#增加了一个属性
print(hasattr(people,"height"))#变为了True
setattr(people,"sex","女")
print(getattr(people,"sex"))#变成了"女"
4. delattr():
delattr(people,"name")
print(hasattr(people,"name"))#变成了False
5. issubclass():
class Person1(Person):
pass
class Person2(object):
pass
print(issubclass(Person1,Person))
print(issubclass(Person2,Person))
6. isinstance():
判断前面是不是属于后面的类型:
a = 3
print(isinstance(a,int))#True
print(isinstance(a,str))#False
判断前面是不是属于后面的类型之一:
a = 3
print(isinstance(a,(int,str)))#True
print(isinstance(a,(str,list)))#False
判断前面是不是属于后面的实例化对象:
print(isinstance(people,Person))#True
print(isinstance(people,Person1))#False