python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python类的常用高级函数

Python类的常用高级函数汇总

作者:Mar丶流年

这篇文章主要介绍了Python类的常用高级函数汇总,文章围绕python类函数展开详细内容,具有一的的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助

1.基础介绍

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

2.定义一个函数

你可以定义一个由自己想要功能的函数,以下是简单的规则:

3.__init__

# coding:utf-8

if __name__ == '__main__':

    '''
    定义:def __init__(self,参数1,参数2......):
        ......
    使用:在类实例化时触发  类名(参数1,参数2.......)
    '''

    class A(object):
        def __init__(self, name, sex):
            print(f'name is {name}, sex is {sex}')

    a = A('xie', 'man')  # name is xie, sex is man

4.__getattr__

# coding:utf-8

if __name__ == '__main__':

    '''
    定义: def __getattr(self,属性名)
    使用:在访问类不存在的或无权限的属性时触发 object.属性名
    '''

    class B(object):
        __name = 'rui'
        name = 'xie'

        def __getattr__(self, name):
            return f'name is {name}'

    b = B()
    print(b.name)  # xie
    print(b.__name)  # name is __name
    print(b.sex)  # name is sex
    print(b._B__name)  # rui

5.__setattr__

# coding:utf-8

if __name__ == '__main__':

    '''
    定义: def __setattr__(self,属性名,属性值)
    使用: 给类设置属性值时触发 object.属性名 = 属性值
    '''

    class C(object):
        name = ''
        __name = ''
        __sex = ''

        def __setattr__(self, key, value):
            print(f'I want set key:{key},value:{value}')

    c = C()
    c.name = 'xie'  # I want set key:name,value:xie
    c.age = '6666'  # I want set key:age,value:6666
    c.__sex = 'man'  # I want set key:__sex,value:man

6.__call__

# coding:utf-8

if __name__ == '__main__':

    '''
    定义: def __call__(self,参数1,参数2......)
    使用: 把类实例当做函数调用,通过object(参数1,参数2......)触发
    '''

    class D(object):
        def __call__(self, *args, **kwargs):
            print(f'args is {args},kwargs is {kwargs}')

    d = D()
    d(*(1, 2, 3), **{'name': 'xie'})  # args is (1, 2, 3),kwargs is {'name': 'xie'}

7.__str__

# coding:utf-8

if __name__ == '__main__':

    '''
    定义: def __str__(self)
    使用: 打印对象时触发 print(object)
    '''
    class F(object):
        def __str__(self):
            return '通常用来描述类'

    f = F()
    print(f)  # 通常用来描述类

到此这篇关于Python类的常用高级函数汇总的文章就介绍到这了,更多相关Python类的常用高级函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文