在Python中,为了减少混乱,有没有办法将“声明”类的成员/方法称为“自我”或解决方法。
class range:
#range_start # Declare as self
#range_end # Declare as self
def __init__(self,my_range_start,my_range_end):
range_start = my_range_start
range_end = my_range_end
def print_range(self):
print ("%x %x" % (range_start,range_end))
答案 0 :(得分:4)
没有任何直接的方法可以做到这一点。另外,如果你这样做了,你会违反一些相当深层次的python约定,而你的代码对于其他Python程序员来说将变得更难阅读。在我看来,成本太高,以减少视觉混乱。
答案 1 :(得分:2)
你无法以你想要的方式实现你所要求的东西,python社区已经讨论并抛弃了隐式self
的想法。
但是,关于您的代码示例,您可以减少代码量:
class range(tuple):
def print_range(self):
print("%x %x" % self)
但是,代码很糟糕,因为添加print_range()
函数是错误的方法(为什么它被称为print_range()
而不是print()
,顺便说一下?)。相反,提供__str__()
和__repr__()
的实现来格式化对象。
更多说明:
namedtuple()
函数可以创建类似于tuple
的类型,您可以查看它。self
是一种约定,您可以将其命名为任何名称。其他人不会轻易阅读你的代码。