import setting
import hashlib
import time
class People:
def __init__(self, name, age, sex):
self.id = self.create_id()
self.name = name
self.age = age
self.sex = sex
def func(self): #绑定到对象的方法
print('你的名字是%s年纪是%s性别是%s'%(self.name, self.age, self.sex))
@classmethod
def from_info(cls):
obj = cls(setting.name,
setting.age,
setting.sex
)
#print(obj)
return obj
@staticmethod
def create_id():
m = hashlib.md5(str(time.time()).encode('utf-8'))
return m.hexdigest()
#绑定到对象就应该由对象来调用,默认会把对象本身传给第一个参数
#p = People('alex', 25, 'male')
#p.func()
#绑定到类就应该由类来调用,默认会把类本身传给第一个参数
# p = People.from_info()
# p.func()
#非绑定方法不与类或者对象绑定,谁都可以调用, 没有自动传值那一说
p1 = People('老王1', 18, 'male')
time.sleep(2)
p2 = People('老王2', 28, 'male')
time.sleep(2)
p3 = People('老王3', 38, 'male')
print(p1.id)
print(p2.id)
print(p3.id)
'''以上是对绑定到对象,绑定到类,谁都不绑定的方法使用的介绍
'''