python_day7 绑定方法与非绑定方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python_day7 绑定方法与非绑定方法相关的知识,希望对你有一定的参考价值。
在类中定义函数如果 不加装饰器 则默认 为对象作为绑定方法
如果增加 classmethod 是 以 类 作为绑定方法
增加 classmethod 是 非绑定方法,就是不将函数 绑定
#####################
class Foo:
def func(self):
print(self)
@classmethod
def func2(cls):
print(cls)
@staticmethod
def sta():
print(‘非绑定参数‘)
JG=Foo()
JG.func()
JG.func2()
JG.sta()
########################
绑定方法与 非绑定方法的
应用场景;Mysql 连接;
绑定对象方法:默认传值
绑定类方法: 可以从文件中读取 默认值
非绑定方法,通过time.clock() 生成ID
#############################
import set1
import hashlib
import time
class Mysql:
def __init__(self,host,port):
self.id=self.create_id()
self.host=host
self.port=port
@classmethod
def from_conf(cls):
return cls(set1.Host,set1.Port)
@staticmethod
def create_id():
HAS=hashlib.md5(str(time.clock()).encode(‘utf-8‘))
return HAS.hexdigest()
@classmethod
def dele(cls):
print(‘from,delet‘)
def select(self):
print(‘select‘)
JG=Mysql(‘192.168.1.1‘,‘3306‘)
JG.select()
print(JG.create_id())
#############################################
以上是关于python_day7 绑定方法与非绑定方法的主要内容,如果未能解决你的问题,请参考以下文章
面向对象:多态(多态性)封装(隐藏属性)绑定方法与非绑定方法