面向对象之绑定方法与非绑定方法

复制代码
#切记:绑定方法:绑定给谁就应该由谁来调用,谁来调用就会把谁当做第一个参数自动传入
class MySQL:
    def __init__(self,host,port):
        self.host=host
        self.port=port

    def func(self):
        print('%s 说:你好啊我的天' %self.name)

    @classmethod #不依赖self.属性 传入时使用
    def from_conf(cls):
        return cls(settings.HOST,settings.PORT)

    @staticmethod #不绑定给类或对象,谁调用都可以 不传参数也行。
    def create_id(n):
        m=hashlib.md5()
        m.update(str(time.clock()+n).encode('utf-8'))
        return m.hexdigest()

# conn=MySQL('127.0.0.1',3306)



conn=MySQL.from_conf()
# print(conn.host,conn.port)
复制代码

 

posted @   强仔必胜  阅读(128)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示