【内置函数】——高级编程——如桃花来

内置函数将会给我们提供一些简单的方法供我们使用,这是python解释器自带的,不用我们再进行下载。

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

has+attr,用于判断对象有没有这个属性,有则返回True,没有则返回False

print(hasattr(Person,"age"))#如果第一个参数是类名,无论有没有属性都是False
print(hasattr(people,"age"))
print(hasattr(people,"height"))

第一个参数一般是实例化对象的变量名,第二个参数则是要测的属性。

呈现效果:
在这里插入图片描述

2. getattr():

顾名思义:get+attr,获取有属性的属性值,有就返回,否则就会报错

有:

print(getattr(people,"name"))

在这里插入图片描述

没有则报错:

print(getattr(people,"height"))

在这里插入图片描述

3. setattr():

set+attr,用于设置属性值,无则增,有则改

setattr(people,"height",180)#增加了一个属性
print(hasattr(people,"height"))#变为了True
setattr(people,"sex","女")
print(getattr(people,"sex"))#变成了"女"

第一个参数是实例化对象名,第二个参数是属性,第三个参数是给属性设置的值

4. delattr():

del +attr,用于删除属性值

delattr(people,"name")
print(hasattr(people,"name"))#变成了False

5. issubclass():

is+sub+class,用于判断前面这个类是不是后面这个类的子类,如果是则返回True,否则返回False

class Person1(Person):
    pass

class Person2(object):
    pass

print(issubclass(Person1,Person))
print(issubclass(Person2,Person))

注意: 两个参数都是类名
在这里插入图片描述

6. isinstance():

is+instance,是例子吗?该函数有三个方法:

判断前面是不是属于后面的类型:

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

判断群用括号包裹即可,只要其中有一个符合就返回True

判断前面是不是属于后面的实例化对象:

print(isinstance(people,Person))#True
print(isinstance(people,Person1))#False

isinstance()的用法非常广泛:

  • 判断函数类型,可单可群
  • 判断是否是实例化对象
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

如桃花来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值