0
点赞
收藏
分享

微信扫一扫

Spring AOP续--织入

悄然丝语 2023-05-08 阅读 52

目录索引

  • 我们先创建一个类,用于后面举例子时使用,默认携带该例子
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
举报

相关推荐

0 条评论