Home >Backend Development >Python Tutorial >Detailed explanation of python naming rules

Detailed explanation of python naming rules

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼forward
2019-08-27 17:43:574751browse

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(&#39;BLUE&#39;)
RED=register_option(&#39;RED&#39;)
YELLOW=register_option(&#39;YELLOW&#39;)
#设置标签  
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&#39;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()
#输出  
[&#39;_Base__secret&#39;,..., &#39;public&#39;]
don&#39;t tell
[&#39;_Base__secret&#39;, &#39;_Top__secret&#39;, ..., &#39;public&#39;]
don&#39;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=[&#39;zhangsan&#39;,&#39;lisi&#39;]

Display naming dictionary

Use the full name of the personal address

persons_addresses={&#39;zhangsan&#39;:&#39;beijing&#39;,&#39;lisi&#39;:&#39;shanghai&#39;}

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!

Statement:
This article is reproduced at:jianshu.com. If there is any infringement, please contact admin@php.cn delete