staticmethod非绑定方法

staticmethod非绑定方法

定义在类内部,普通方法,谁都不绑定

对象/类都可以调用,但是不会自动传值

class Person:
    def __init__(self,name,age):
        self.name=name
        self.age=age

    def object_method(self):
        print('我是对象绑定方法,对象来调用我')

    @classmethod
    def class_method(cls):
        print('我是类的绑定方法,类来调用我')

    #当成一个普通函数,只不过是写在类内部的
    @staticmethod
    def static_method():
        print('我是静态方法,谁都不绑定')
#静态方法(非绑定方法)
#类来调用
Person.static_method()
#对象来调用
p=Person('nick',19)
p.static_method()

静态方法(非绑定方法)的作用

跟类和对象都没有关系的时候,可以定义成静态方法,一般在类内部使用,类外部也可以使用

就是一个普通函数,想把它拿到类中管理,就可以定义成静态方法

class Person:
    def __init__(self,name,age):
        self.id=self.get_uuid()
        self.name=name
        self.age=age

    # 当成一个普通函数,只不过是写在类内部的
    @staticmethod
    def static_method():
        print('我是静态方法,谁都不绑定')
    @staticmethod
    def get_uuid():
        import uuid
        return uuid.uuid4()

p=Person('nick',18)
# print(p.id)
# print(p.get_uuid())
# print(Person.get_uuid())

猜你喜欢

转载自www.cnblogs.com/aden668/p/11430008.html