Python常量声明

OHL*_*ÁLÁ 9 python constants

如果我声明一个包含变量的const类:

例如

class const:
    MASTER_CLIENT_CONNECTED = 0
    CLIENT_CONNECTED = 1        
    GET_SERVER_QUEUE = 9998    
    ERROR = 9999
Run Code Online (Sandbox Code Playgroud)

有没有办法在不创建新类的情况下达到这个变量(常量).

像这样:

import const
const.MASTER_CLIENT_CONNECTED 
Run Code Online (Sandbox Code Playgroud)

要么

import const
if(i==MASTER_CLIENT_CONNECTED):
Run Code Online (Sandbox Code Playgroud)

Thi*_*ter 12

是的,而不是将它们放在一个类中,而不是将它们直接放入您的模块中(将文件命名为例如const.py模块名称const).为此使用一个类几乎是滥用命名空间的类 - 而且Python 有用于此目的的包/模块.

然后,from const import *如果您不想const.在所有内容之前写入,您甚至可以使用从该模块导入所有全局变量.但是请注意,这通常是不鼓励的,因为它可能会将大量内容导入到全局命名空间中 - 如果您只需要一个或两个常量from const import ABC, DEF等等就可以了.


sam*_*sam 5

你为什么需要一堂课?您可以使用如下形式:

在constant.py中编写:

MASTER_CLIENT_CONNECTED = 0
CLIENT_CONNECTED = 1        
GET_SERVER_QUEUE = 9998    
ERROR = 9999
Run Code Online (Sandbox Code Playgroud)

然后以以下方式访问它:

import constant
print constant.MASTER_CLIENT_CONNECTED
print constant.CLIENT_CONNECTED 
print constant.GET_SERVER_QUEUE 
print constant.GET_SERVER_QUEUE 
Run Code Online (Sandbox Code Playgroud)