Python命名规范

基本的命名约定

  • Snake Case - 蛇形命名:students_marks

    单词之间用下划线分隔。每个单词都以小写字母开头。

  • Pascal Case - 帕斯卡命名:StudentMarks

    每个单词都以大写字母开头。它们不使用任何分离器分离。

  • Camel Case - 驼峰命名:studentMarks

    第一个单词以小写字母开头,后面的单词以大写字母开头。

  • Kebab Case - 短横线隔开命名:student-marks

    每个单词都以小写字母开头,用连字符分隔。

  • Hungarian Notation - 匈牙利标记法:arrStudentMarks

    在名称的开头添加数据结构。

匈牙利标记法常见前缀

前缀 数据结构 备注
i index 索引(下标)
dw DWORD 双字
w WORD 单字
rw row 行数
col column 列数
lp long pointer 长指针
cb count of byte 字节数
sz zero-terminated string 以 0(’\0’)作结束符的字符串
h Handle 句柄
u unsigned int 无符号整数

Python中的命名约定

Packages

使用蛇形大小写来命名包
包就像包含模块和其他对象的目录。Python包应该遵循相同的约定,尽管不鼓励在包名中使用下划线。

import streamlit
import pulp
import flask_sqlalchemy

Modules

模块是从包中导入的函数,他们也用蛇形命名
模块是用于执行某些任务的预构建函数和其他对象的集合。模块应该有简短的小写名称。如果可以提高可读性,可以在模块名称中使用下划线(比如具有多个单词的名称)。

from streamlit import subheader, text, markdown, title
from datetime import datetime
from flask import jsonify

Classes

类应该以帕斯卡格式命名

# 从模块导入类
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

# 定义类
class MyClass:
    def __init__():
        pass

class Dog:
    def __init__():
        pass

Global (module-level) Variables

全局变量应该遵循蛇的情况

variable = 1
variable_one = 2

def func():
      global variable
      global variable_one

Methods

1.公共方法应该使用蛇形命名
2.私有方法应该以下划线_开头

class MyClass:
    '''
    This is a public method
    '''
    def  public_method():
        pass

    '''
    This is a private method
    '''
    def _private_method():
        pass

Instance Variables

与方法类似,公共实例应该是蛇形的,私有实例应该以下划线_开头

class MyClass:
    pass

public_instance = MyClass()
_private_instance = MyClass()

Functions

函数应该遵循蛇的情况

def func():
    pass

def func_one():
    pass

Constants

常量名称必须全部大写。

PI = 3.14
CONSTANT = 10

尽量避免的名字

我们避免使用这些名称,因为在某些字体中,它们与数字1和0难以区分,这使得用户很难理解发生了什么。

  • 小写字母l(letter)
  • 大写字母O(oh)
  • 大写字母I(index)
  • 避免为变量名称使用Python关键字和内置类/功能名称。例如,诸如“ max”,“ sum”,“ class”和“ list”之类的单词是在任何python环境中都存在的单词。因此,将它们用于功能以外的其他东西可能会使事情变得混乱和混乱。



参考资料
datasciencecentral.com
naming conventions in python

posted on 2022-07-18 16:37  livia_x  阅读(316)  评论(0编辑  收藏  举报

导航