# 类中的定义的函数
# 1 绑定方法:谁来调用就会将谁当作第一个参数传入
# (1)绑定给对象的方法:类中定义的函数默认就是绑定给对象的方法,应该是由对象调用,会把对象当作第一个参数传入
# (2)绑定给类的方法:在类中的函数上加一个装饰器@classmethod,该函数就绑定给类了,应该是由类来调用,会把类当作第一个参数传入
# 2 非绑定方法:既不与类绑定也不与对象绑定,就是一个普通的函数,谁都可以来调用,没有自动传参的效果,
# 在函数上添加装饰器@staticmethod
#
class People:
def __init__(self, name, age):
self.name = name
self.age = age
def tell_info(self):
print("<%s:%s>" % (self.name, self.age))
@classmethod
def f1(cls):
print(cls)
@staticmethod
def f2(x, y, z):
print(x, y, z)
p1 = People('egon', 18)
# p1.tell_info()
# print(p1.tell_info)
# print(People.f1)
# People.f1()
# print(p1.f2)
# print(People.f2)
p1.f2(1, 2, 3)
People.f2(1, 2, 3)
# 例如:
import uuid
import settings
class MySQL:
def __init__(self, ip, port):
self.mid = self.__create_id()
self.ip = ip
self.port = port
def tell_info(self):
print("%s:<%s:%s>" % (self.mid, self.ip, self.port))
@staticmethod
def __create_id():
return uuid.uuid4()
@classmethod
def from_conf(cls):
return cls(settings.IP, settings.PORT)
# obj = MySQL("10.10.11.11",3306)
# obj.tell_info()
obj1 = MySQL.from_conf()
obj1.tell_info()
55 类方法与静态方法
最新推荐文章于 2022-11-22 15:57:22 发布