Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中表示特殊值?_Python_Constants - Fatal编程技术网

在Python中表示特殊值?

在Python中表示特殊值?,python,constants,Python,Constants,我想表示nil的值,这是一个特定于我的应用程序的值,并将其与Python内置的None区分开来。最优雅的方式是什么?请注意,nil是唯一的常量值。使用sentinel对象: nil = object() 现在,您可以测试是否为零或是否为非零,就像您可以测试是否为无一样 当然,任何使用它的代码都必须从定义它的模块中导入它;它不是一种内置方式,无是内置的。使用sentinel对象: nil = object() 现在,您可以测试是否为零或是否为非零,就像您可以测试是否为无一样 当然,任何使用它的

我想表示
nil
的值,这是一个特定于我的应用程序的值,并将其与Python内置的
None
区分开来。最优雅的方式是什么?请注意,
nil
是唯一的常量值。

使用sentinel对象:

nil = object()
现在,您可以测试
是否为零
是否为非零
,就像您可以测试
是否为无
一样

当然,任何使用它的代码都必须从定义它的模块中导入它;它不是一种内置方式,
是内置的。

使用sentinel对象:

nil = object()
现在,您可以测试
是否为零
是否为非零
,就像您可以测试
是否为无
一样


当然,任何使用它的代码都必须从定义它的模块中导入它;它不是一个内置的方式
None
是内置的。

如果我以同样的方式创建另一个常量,它会与
nil
不同吗?如果我想像公开一个普通类一样公开它(因为我本质上希望它表示一个只有一个对象的类),最好在文件的全局范围内保留nil。如果使用
is
测试,其他值将不同。@Matthias For
object
实例,即使<代码>=< /代码>也会认为它们是不同的。将这种“单例”与
==
(也适用于
None
省略号
未实现的
)进行比较是不习惯的。@delnan:这么多年后仍在学习…@user3793111:是的,另一个常量将完全不同。如果我以同样的方式创建另一个常量,这有别于
nil
?如果我想像公开一个普通类一样公开它(因为我本质上希望它表示一个只有一个对象的类),最好在文件的全局范围内保留nil。如果使用
is
测试,其他值将不同。@Matthias For
object
实例,即使<代码>=< /代码>也会认为它们是不同的。把这样的“单例”与
==
(也适用于
省略号
未实现
)进行比较是不习惯的。@delnan:这么多年后仍在学习…@user3793111:是的,另一个常量将是完全不同的。