'''
name = 'alex'
age = 18
sex = 'female'
'''
# -----------------------------------
import setings
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 tell_info(self):
print('Name:%s Age:%s Sex;%s Id:%s' % (self.name,self.age,self.age,self.id))
# 绑定给对象,就应该由对象来调用,自动将对象本身当作第一个参数传入
@classmethod
def from_conf(cls):
obj= cls(setings.name,
setings.age,
setings.sex
)
return obj
# 绑定给类,就应该有类来调用,自动将类本身当作第一个参数传入
@staticmethod
def create_id():
m = hashlib.md5(str(time.time()).encode('utf-8'))
return m.hexdigest()
# 非绑定方法,不与类或者对象绑定,谁都可以调用没有自动传值一说
p1 = People('kingforn',28,'male')
p1.tell_info()
p2 = People.from_conf() # from_conf(People)
p2.tell_info()
'''
执行结果:
Name:kingforn Age:28 Sex;28 Id:62586d7416e5fc7745fc3463474b1d71
Name:alex Age:18 Sex;18 Id:62586d7416e5fc7745fc3463474b1d71
'''