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())