十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
代码看起来没有问题。如果在python3上不能用,应该也只需要小小的调整。原则上应该跑得通。
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、重庆小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了繁昌免费建站欢迎大家使用!
不过话说回来,这样的技巧通常在python里用不上。因为python的强大并不是因为它的面向对象属性。
而且这些写代码的可读性也较差。 python的强大在于它通用,它与C的良好结合,最重要的是它是“脚本”。 可以动态的做任何事情,既然它的动态很强大,你就不需要写这样的代码。
直接这样
s1= AnyClass()
s1.any_variable = some_value
这样足够了。因为python可以自动给未知的变量,增加一个内部属性。所以我经常写下面的这样的代码
class Config:
pass
conf = Config()
conf.mysql_ip = "127.0.0.1"
这样就可以了
1.self.__class__
self是当前,类的实例的变量,self.__class__用于获得对应的类的本身的变量。
2.前面通过
class Circle:
定义而来一个类,叫做Circle
其中,定义了类的变量:
all_circles = []
表示是:一个名叫all_circles的列表,并且初始化赋值为[],表示一个空的列表。
3.all__这是什么用法?
是你看错了。
实际是:
all_circles
这是一个单个的变量而已;
这个变量,是之前类Circle中的变量all_circles。
关于这部分内容,建议你去看看我所总结的:
【整理】Python中:self和init__的含义 + 为何要有self和__init__
和
【整理】Python中变量的作用域(variable scope)
就懂了。
里面有截图解释的,便于你理解。
(此处不给贴地址,请自己用google搜标题,即可找到帖子地址)
脚本初加载时,python会顺序执行所有可以执行的东西。 如果是函数与类定义,它就顺序将定义放到全局表里。
这里全局变最也是一样。python从import语句开始执行,执行到这句话today 就被初始化了。
如果这个模块被其它模块import ,那个在import 的时候, today会被加载。
不过跨模块的全局变量,在python里有些古怪。要小心使用。