自动添加方法定义模板
autoself的Python项目详细描述
autoself:自动添加方法定义模板
首先,免责声明。明确的自我是好的。字节码破解是不好的。
把它们放在一起,很明显这个模块是令人讨厌的!
但是,如果你真的*
*真的*想省省自己的按键次数(比如,你拼命地
试图侵入死星的安全系统来覆盖垃圾
当它冰冷的金属钳口慢慢地将你挤压成紫色的糊状物时
它可以帮助你做到这一点。但是,停下来想想圭多
问题是:
自我表露是一件好事。它通过
消除变量解析方式的歧义。它也使得
函数和方法之间的差别很小。
“在python 3000中不会改变的事情”:
http://www.python.org/dev/peps/pep-3099/核心语言
此模块不是要使“self”隐式化。它不会试图改变
方法的工作方式,或进行任何语义更改。它做了一个
简单的事情:自动添加样板代码以使函数执行
作为方法调用时的“正确的东西”。
它提供一个单独的函数“autoself”。给定一个函数作为参数,
“autoself”将返回带有必要样板的等效函数
作为一种方法。这将取决于
功能,可能意味着:
*插入“self”作为第0个参数
*插入'cls'作为第0个参数,并用classmethod()包装
*如果未使用“self”和“cls”,则使用staticMethod()包装
*如果它不是一个合适的功能或是正常的,什么也不做
例如,使用以下方法定义“likes”方法:
def喜欢(自我、火腿、鸡蛋):
打印自我,“喜欢”,火腿,“和”,鸡蛋
相当于按以下方式定义:
def likes(火腿、鸡蛋):
打印自我,“喜欢”,火腿,“和”,鸡蛋
喜欢=自动(喜欢)
或更整洁,使用@autoself decorator。当然,这不会
省得你打字了!“autoself”也可以应用于类,并将
自动自组织该类dict中的所有函数:
无堆类:
def likes(火腿、鸡蛋):
打印自我,“喜欢”,火腿,“和”,鸡蛋
定义仇恨(垃圾邮件):
打印“全部”,CLS,“讨厌”,垃圾邮件
def meh(吐司):
打印吐司,“很无聊”
heapslesstyping=自动(heapslesstyping)
当它可用时(python 2.6?),它将更加方便
将其与类装饰符语法一起使用。
想保存更多的输入吗?“autoself”可以用作
在模块中定义的所有类上发挥其魔力:
uu元类=autoself
类外观本身:
定义初始化(我的,特殊的,参数):
self.my=我的
self.special=特殊
self.args=参数
保存五级击键:
定义初始化(这个,有效,很好):
self.this=这个
self.works=工作
self.great=很好
计数器=0
定义类方法saveevenmore():
时钟计数器+=1
使用此样式,您可以看到使用五种方法在击键中节省的净时间
定义或更少!
首先,免责声明。明确的自我是好的。字节码破解是不好的。
把它们放在一起,很明显这个模块是令人讨厌的!
但是,如果你真的*
*真的*想省省自己的按键次数(比如,你拼命地
试图侵入死星的安全系统来覆盖垃圾
当它冰冷的金属钳口慢慢地将你挤压成紫色的糊状物时
它可以帮助你做到这一点。但是,停下来想想圭多
问题是:
自我表露是一件好事。它通过
消除变量解析方式的歧义。它也使得
函数和方法之间的差别很小。
“在python 3000中不会改变的事情”:
http://www.python.org/dev/peps/pep-3099/核心语言
此模块不是要使“self”隐式化。它不会试图改变
方法的工作方式,或进行任何语义更改。它做了一个
简单的事情:自动添加样板代码以使函数执行
作为方法调用时的“正确的东西”。
它提供一个单独的函数“autoself”。给定一个函数作为参数,
“autoself”将返回带有必要样板的等效函数
作为一种方法。这将取决于
功能,可能意味着:
*插入“self”作为第0个参数
*插入'cls'作为第0个参数,并用classmethod()包装
*如果未使用“self”和“cls”,则使用staticMethod()包装
*如果它不是一个合适的功能或是正常的,什么也不做
例如,使用以下方法定义“likes”方法:
def喜欢(自我、火腿、鸡蛋):
打印自我,“喜欢”,火腿,“和”,鸡蛋
相当于按以下方式定义:
def likes(火腿、鸡蛋):
打印自我,“喜欢”,火腿,“和”,鸡蛋
喜欢=自动(喜欢)
或更整洁,使用@autoself decorator。当然,这不会
省得你打字了!“autoself”也可以应用于类,并将
自动自组织该类dict中的所有函数:
无堆类:
def likes(火腿、鸡蛋):
打印自我,“喜欢”,火腿,“和”,鸡蛋
定义仇恨(垃圾邮件):
打印“全部”,CLS,“讨厌”,垃圾邮件
def meh(吐司):
打印吐司,“很无聊”
heapslesstyping=自动(heapslesstyping)
当它可用时(python 2.6?),它将更加方便
将其与类装饰符语法一起使用。
想保存更多的输入吗?“autoself”可以用作
在模块中定义的所有类上发挥其魔力:
uu元类=autoself
类外观本身:
定义初始化(我的,特殊的,参数):
self.my=我的
self.special=特殊
self.args=参数
保存五级击键:
定义初始化(这个,有效,很好):
self.this=这个
self.works=工作
self.great=很好
计数器=0
定义类方法saveevenmore():
时钟计数器+=1
使用此样式,您可以看到使用五种方法在击键中节省的净时间
定义或更少!