Python:更改文字构造函数的行为

时间:2019-10-01 16:59:08

标签: python python-3.x

这里的基本问题是:如果我继承基类型(例如range(6)),那么当我使用文字构造函数时,是否可以让解释器使用我的子类而不是list? /> 像这样:

list

1 个答案:

答案 0 :(得分:0)

您基本上在问您是否可以更改python语法的工作方式。不,您不能那样做。 []内置在python中,无论您做什么,都会创建一个列表实例。通过将list重新分配给您的班级可以看到这一点。

class myList(list):
    pass

list = myList  # changing the mapping
test = []
test2 = list()
print(type(test))
#  <class 'list'>
print(type(test2))
#  <class '__main__.myList'>