Day30.classmethod方法

1.classmethod方法_导入文件创建新对象,通过对象获取文件内容

   代码如下:

# todo 一:绑定方法:特殊之处将调用者本身当作第一个参数自动传入
# todo      1. 绑定给对象的方法:调用者是对象,自动传入的是对象
# todo      2. 绑定给类的方法:调用者是类,自动传入的是类型
import settings
import os
os.chdir(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

class Mysql:
    # todo 绑定给对象使用
    def __init__(self, ip, port):
        self.ip = ip 
        self.port = port

    def func(self):
        print('%s:%s' %(self.ip, self.port))
    
    # todo 从导入的配置文件中获取配置信息,进行初始化生成一个对象,场景:提供一种新的创造对象的方式
    @classmethod    # todo 将下面的函数装饰成绑定给类的方法
    def from_conf(cls):
        print(cls, '\n')
        return cls(settings.IP, settings.PORT)

 
# obj1 = Mysql('1.1.1.1', 3306)

obj2 = Mysql.from_conf()
print('settings.py文件创建成对象,并通过对象获取内容'.center(40, '-'))
print(obj2.__dict__, '\n')

 

posted on 2024-06-27 14:41  与太阳肩并肩  阅读(5)  评论(0编辑  收藏  举报

导航