是否有使用缩写变量作为实例和/或类变量的编码标准(在python中)?
问题不一定是python的问题,其他语言的答案也会很有趣,但我对pythonic或一般的方法特别感兴趣。
try:
x = float(raw_input("Please enter a number: "))
except ValueError:
print "That was no valid number."
print "you entered " + str(x)
import A
class Foo:
def __init__(self):
self.queue = A.Very.Long.List.Of.Names.queue
仅用作self.queue
的缩写,并在Foo中多次使用。这肯定会使代码更短,更容易读取,但不一定更容易理解,因为有关结构的信息丢失了。
有一个类似的问题被问到Is it bad style to reassign long variables as a local abbreviation?但是我认为这个问题有权被问为局部变量的答案,而实例变量可能会有所不同。
答案 0 :(得分:0)
你可以做到
from A.Very.Long.List.Of.Names import queue
class Foo:
def __init__(self):
self.queue = queue
从性能的角度来看,这种方法更好,因为它不必承担 getattribute 和 getattr
的开销。您也可以在程序的全局部分声明相同内容,例如
import A
longVar = A.Very.Long.List.Of.Names.queue
class Foo:
def __init__(self):
self.queue = longvar
这使您可以避免使用python import语句以及在整个程序中使用longVar。
答案 1 :(得分:0)
据我所知,没有任何标准可以禁止或阻止您对类名别名。你是否应该主要是基于背景的观点和意见。
一般来说,如果一个类名太长,我首先看看我是否可以重构它。如果我不能,我将使用别名,如果它显着提高可读性。我不确定您对“结构信息”丢失的担忧源于何处 - 任何即使是稍微坚定的程序员都能识别出别名。
有时很容易过度思考这些事情。