您现在的位置是:首页 >其他 >【内置函数】——高级编程——如桃花来网站首页其他

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

如桃花来 2024-06-07 00:00:03
简介【内置函数】——高级编程——如桃花来

内置函数将会给我们提供一些简单的方法供我们使用,这是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()的用法非常广泛:

  • 判断函数类型,可单可群
  • 判断是否是实例化对象
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。