Home >Backend Development >Python Tutorial >Detailed explanation of python naming rules
python naming rules
Naming style
Several different naming styles of python
Camel case naming method (WjW)
Mixed naming method (wjWj)
Capital case (WJWJWJ ) or capitalized and underlined (WJWJWJ)
Prefix (wjing) or suffix (ingwj) underline, sometimes double underline
Variable
python variable points For:
(1) Constants
(2) Public and private variables
Related recommendations: "Python Video Tutorial"
1. Constants
Constant global variables, use uppercase letters and underlines. The specified variable represents a constant value.
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(file)))
2. Naming and use
Constant defines a set of values, a set of constant values that the program needs to rely on, most of which are configuration file names. A good practice is to put all constants in one file, such as Django's settings file.
SECRET_KEY = '(5hjjo=-=r1s43d+=yu(ay2vy_pe53ut0kzd5skzxa9@5#qf_x' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = [] # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'helloapp', ]
You can also use the Configparser module to create configuration files. This one is not as good as the previous one.
A good piece of code that looks like a mark, you can give some unmarked attributes, etc.
OPTIONS={} def register_option(name): return OPTIONS.setdefault(name,1<<len(OPTIONS))#bin(len(OPTIONS))查看二进制数据 def has_option(options,name): return bool(options&name) #定义标签 BLUE=register_option('BLUE') RED=register_option('RED') YELLOW=register_option('YELLOW') #设置标签 SET=BLUE|RED #判断标签是否存在设置中 has_option(SET,BLUE) has_option(SET,YELLOW)
3. Public and private variables
For global variables that are mutable and can be freely accessed through import, if they need to be protected, they should be preceded by an underscore. Lowercase letters become private variables.
4. Functions and methods
Try to use lower case and underline for functions and methods. In some cases, mixed case is also used.
5. Justice for private elements
For private methods and functions, they are usually prefixed with two underscores, so that they will be renamed by the interpreter at runtime, which can avoid Conflicts with any subclass. For example:
class Base(object): def __secret(self): print("don't tell") def public(self): self.__secret() class Top(Base): def __secret(self): print("never say never") print(dir(Base)) b=Base() b._Base__secret() print(dir(Top)) Top().public() #输出 ['_Base__secret',..., 'public'] don't tell ['_Base__secret', '_Top__secret', ..., 'public'] don't tell
This will rename functions and methods with double underscores.
6. Special method
The special method is to use double underscores to start and end. Regular methods should not use this writing method.
def __init__(self): pass def __add__(self): pass
7. Parameters
Parameters are all in lowercase and sometimes can be underlined.
8.property
Properties are all in lowercase or lowercase and underlined.
9. Class
The class name uses camel case WjWj.
10. Modules and packages
Modules are usually lowercase, without underscores. For special modules such as init modules, if the module is a private module of the package, it will be used. Prefix with an underscore. The same goes for bags.
Naming
Name Boolean elements with the 'has' or 'is' prefix
is_life=True#是否活着 is_connected=True#是否连接 has_cache=True#是否有内存
Plural naming collections
users=['zhangsan','lisi']
Display naming dictionary
Use the full name of the personal address
persons_addresses={'zhangsan':'beijing','lisi':'shanghai'}
The name of the class
The name of the class is concise and to the point
SQLEngine
BaseCookie
Module and package names
Modules and packages should be lowercase, short sqlite, sha1, if it is a protocol Add lib suffix, urllib.
The above is the detailed content of Detailed explanation of python naming rules. For more information, please follow other related articles on the PHP Chinese website!