Jas*_*per 6 python import redundancy init
我最近开始使用Python 2.6 for Ubuntu Server admin,并且有两个关于冗余的小问题:
首先是进口:它们看起来都像
从类导入类
from class import Class
Run Code Online (Sandbox Code Playgroud)
第二件事是__init__方法:
__init__(self,arg1,...,argn):
self.arg1 = arg1
...
self.argn = argn
Run Code Online (Sandbox Code Playgroud)
有没有办法避免这些重复?
第二件事不是冗余 - 它是设置实例属性.你也可以这样做:
class Foo:
def __init__(self, **kwargs):
for name, value in kwargs.items():
setattr(self, name, value)
Run Code Online (Sandbox Code Playgroud)
但是你需要像这样调用Foo:
Foo(arg1=1, arg2=2, arg3=3)
Run Code Online (Sandbox Code Playgroud)
你的导入似乎也有不正确的语法.它应该是from Class import Class.这看起来很多,因为看起来,你将每个类存储在一个单独的文件(模块)中 - 这完全是多余的.Python不是Java,通常应该在一个模块中容纳更多对象.请记住,该模块本身就是一个对象.此外,您应该正确命名模块 - 默认的代码样式指南说模块应该全部小写,没有特殊的字符.喜欢re或者urllib例如.
| 归档时间: |
|
| 查看次数: |
1395 次 |
| 最近记录: |