Python教程

python内置属性与内置方法

本文主要是介绍python内置属性与内置方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、类方法

类方法:把类看作成一个对象
#语法:
#@classmethod----由@开头的叫做装饰器或者修饰器
#def 类方法名(cls,形参):
类方法可以直接使用----->类对象.类方法名()
class People02:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    @classmethod#只针对下面第一个方法生效
    def say(cls):#类方法第一个形参一般习惯用cls,代表类本身
        print('这是一个类方法')
    @staticmethod#静态方法
    # 此方法是一个独立的方法且与类无关,只是存放在类中(第一个参数没变色可以看出与该类无关)
    #调用静态方法:类名.静态方法名()或者对象名.静态方法名()
    def add_function(self,num1,num2):
        return num1+num2

# People02.say()#类方法可以直接使用----->类对象.类方法名()
# lss2=People02('刘思',200)
# lss2.say()#对象.类方法名

二、内置属性

1.__dict__:类的属性(包含一个字典,由类的数据属性组成)

2.__doc__ :类的文档字符串

3.__name__: 类名

4.__module__: 类定义所在的模块(类的全名是'__main__.className', 如果类位于一个导入模块mymod中,那么className.__module__ 等于mymod)

5.__bases__ : 类的所有父类构成元素(包含了一个由所有父类组成的元组)

class People01:
    class_name='人类'#类属性--->写在类下面的属性
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def __say(self,content):
        print('{}说:{}'.format(self.name,content))
lss1=People01('思思',25)
# lss1._People01__say('xxxxxxx')#对象名._类名__私有方法名(实参)
#在类的内部可以直接使用,在类的外部:对象名._类名__私有方法名(实参)

三、内置方法(统自带内置方法--在Python中有一些内置的方法,这些方法命名都有比较特殊的地方)

# (其方法名以2个下划线开始然后以2个下划线结束)

1.__init__(self,....): 构造方法,给对象的属性进行初始化赋值使用的,且他是类里面第一个被自动执行的内置方法,构造方法支持重载,如果用户自己没有重新定义构造方法,系统就自动执行默认的构造方法。

2、__del__(self ):析构方法,在释放对象时调用,支持重载,可以在里面进行一些释放资源的操作,不需要显示调用。

3、__str__(self,...):自定义实例输出方法,写好该方法后,替换实例默认的输出操作。

4、__add__(self,...):两个相同类的对象进行运算

5、__getattribute__(...):获取实例属性的值,可直接结合对象使用。

class People03:
    def __del__(self):#析构方法
        print('最后执行,删除属性,释放内存')
    def __init__(self,name):#构造方法
        self.name=name
        print('先执行,新建属性')
    def __str__(self):#自定义对象的输出内容----替换默认输出的内容
        return 'lllll'
    def __add__(self, other):
        return self.name+other.name#这里的+代表运算符,还可以是*乘法/整除%取模等
# xx=People03('思思')
# xx1=People03(2)
# xx2=People03(5)
# print(xx)
# print(xx.name)
# print(xx.__getattribute__('name'))#和print(xx.name)用法差不多,都是获取实例属性值
# print(xx1 + xx2)#这里的+号不代表相加而是代表调用add方法---怎么运算就看add方法里面是什么方法

这篇关于python内置属性与内置方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!