password
URL
type
status
date
slug
summary
tags
category
icon
周起始
标签
是否汉化
最近在重和优化现有的项目,除了代码逻辑层面的优化,其他一些细节,项目目录文件夹命名,模块\类命名还是不规范,有些乱,so,再回顾下基本知识,python命名规则,mark下
Python中的命名规则
一、Python项目组成
1、顶层的包(类似文件夹)。
2、各个模块(Python file)。
3、类(class 定义类)。
4、变量和方法(函数)。其中,方法中也可以定义变量(方法中的变量)。
二、命名规范:
1、项目:首字母大写+大写式驼峰, 如:ProjectName;
2、包:使用小写字母命名。多个单词之间用下划线分隔。
3、模块:使用小写字母命名。多个单词之间用下划线分隔。
4、类/异常(驼峰命名法):首字母大写+大写式驼峰。Python中一个模块可以包含多个类。私有类名称需要以下划线开头。如:HelloWorld 或 _HelloWorld;
5、函数:使用小写字母命名。多个单词之间用下划线分隔。私有函数名称需要以下划线开头。
6、变量:使用小写字母命名。多个单词之间用下划线分隔。私有变量名称需要以下划线开头。
7、常量/全局变量:使用大写字母命名。多个单词之间用下划线分隔。私有常量名称需要以下划线开头。
三、Python中的特殊模块_init_.py
1、 包含此模块的文件夹才能成为包。(需要确保包的命名符合规范,才能被导入)
2、 init.py当包被导入的时候会自动运行。
四、导包路径
1、绝对导入(from只能从根目录导入) :
from my_package import *
from my_package import my_test
import my_package.my_test as p
p.func
2、相对导入(“.”代表当前目录,“..”代表上一层目录):
from .my_package import my_test
五、其他
- 变量名 :变量名应该是描述性的,用以表示存储数据的目的。通常使用小写字母,多个单词之间使用下划线
_
分隔,例如my_variable
。变量名应该具有描述性,以便于代码的可读性。
- 常量名 :常量通常以大写字母表示,并使用下划线
_
分隔多个单词,例如PI
或MAX_VALUE
。在Python中,没有真正的常量,但是通过约定,将变量名全部大写来表示它是一个常量。
- 函数名 :函数名应该是小写字母,多个单词之间使用下划线
_
分隔,例如calculate_average()
。函数名应该描述函数的功能。
- 类名 :类名应该以大写字母开头,使用驼峰命名法(Camel Case)来表示多个单词,例如
MyClass
。
- 模块名 :模块名应该使用小写字母,多个单词之间使用下划线
_
分隔,例如my_module
。模块是包含Python代码的文件,通常以.py
作为文件扩展名。
- 包名 :包名也应该使用小写字母,多个单词之间使用下划线
_
分隔,例如my_package
。包是包含多个模块的目录。
- 私有变量和函数 :如果要将变量或函数视为私有,可以在其名称前面添加一个下划线,例如
_private_variable
或_private_function
。这只是一种约定,Python中没有真正的私有性。
- 特殊命名 :有些名称在Python中具有特殊含义,如构造函数
__init__
、析构函数__del__
等。避免使用这些名称来定义自己的变量、函数或类。
总的来说,Python的命名规则强调可读性和清晰性。选择描述性的名称,以便其他人能够容易地理解您的代码。此外,遵循Python社区的命名约定通常是一种好的实践,这有助于提高代码的一致性和可维护性
离开乏味的皮囊,自由的灵魂在路上
- Name: Alan Hsu
- Tag: 随感、技术、经验、旅行、推荐、生活、音乐、电影 etc.
- Email:xulanzhong521gmail.com
- Twitter:@AlanHsu521
- Telegram:@AlanHsu521
- WeChat: Alan_Hsu_521
- Github: https://github.com/xsoway/
- Blog: https://xmylog.com
- Author:Alan_Hsu
- URL:https://xmylog.com/article/articles_python_name
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts