我如何制作一个特殊的单身人士,比如None
? (我是python的新手。)
我希望能够做到这一点:
def create_mutations(d):
return [
Mutation(c, v)
if v is not CellAction.Delete else
Mutation(c, isDelete=True)
for (c, v) in d
]
像这样使用:
create_mutations({'a': 5, 'b': None, 'c': CellAction.Delete})
这将创建一个包含三个突变的列表,意思是“将a
设置为5
,将b
设置为None
,然后删除c
。”< / p>
关键是在create_mutations
的定义中,我无法使用... if v is not None else ...
因为“set b
到None
”和“delete {{之间没有区别1}}。“
我可以澄清问题是否不清楚。
答案 0 :(得分:6)
您可以在模块或类中的某个位置实例化object
,如下所示:
Delete = object()
这对大多数情况来说已经足够了。
答案 1 :(得分:3)
只需制作一些物品并给它命名。一个空类将会:
class Delete:
pass
或者,正如迈克尔所说,object
实例。
如果您计划使用is
进行测试,那么您使用的任何对象都应该是可变的; Python习惯于共享不可变对象的实例。 (例如,所有空元组都是同一个对象。)
答案 2 :(得分:1)
嗯,简单的答案是你不能(好吧,你可能,但那不是你想做的事。)
你可能只是在这里使用一个类,例如DeleteCell = object()
(或者,你可以拥有一个CellAction
类或模块,里面有各种动作(其他类)。)