python中关于变量名失效的案例

案例一:传参动态导入模块.

selectModule = input("please input your module name")
app_name = input("please input your App's name")

# import selectModule #此时导入的模块名是selectModule
module = __import__(selectModule)  # 返回值标记这 导入的这个模板
app = getattr(module, app_name)  # 此时app就指向了module模块中的app_name这个函数

案例二:让类实例化时,初始化的实例属性为传参的值.

class User:
    def ___init__(self, **kwargs):
        for name,val in kwargs.items():
            setattr(self, name, val)
            # self.name= val # 此时的name只是表示实例的属性名为name.

u = User(uid=123,name="cp",email="OOP@126.com)
原文地址:https://www.cnblogs.com/carlous/p/10567643.html