程序里有很多东西需要命名,

良好的命名习惯可以提高编程效率; 减少出错;

良好命名的程序清晰易读。

好的名称可以提供很多有价值的信息。

本文解释作者在《Python编程基础及应用》一书中所使用的命名规则。

本文节选自作者的《Python编程基础及应用》视频教程。

命名示例

变量、类的数据成员

iSum sName fPrice

函数名称

add() convert() del() empty() push_back() pop()

getPrice() setPrice() draw() render() repaint()

类型名称

Student GraphDrawer Campus Engine

FloatBuffer Lesson Monitor Printer EMailPacket

版权声明

本文可以在互联网上自由转载,但必须:注明出处(作者:海洋饼干叔叔)并包含指向本页面的链接。

本文不可以以纸质出版为目的进行改编、摘抄。

正确, 错误 vs 好,相对不好, 坏

只要符合所用语言的命名规则的命名原则上都是“正确”的。

不同的人有不同的命名习惯。

没有标准答案,只有主观的好或者相对不好的判断。

但真的很重要:

良好的命名习惯可以提高编程效率; 减少出错;

良好命名的程序清晰易读。

好的名称可以提供很多有价值的信息。

规则1 全程使用英文,不准用拼音

▪KHBH XH ZHYE DQJG - 猜得出这些名称是什么意思吗?

sCustomerNo, sStudentNo fAccountBalance fCurrentPrice

Too long for you ?

sCusNo, sStuNo, fAccBalance , fCurPrice

规则2 变量/类的数据成员的命名

类型名缩写(小写) + 英文单词或其缩写(首字母大写)

类型

解释

缩写

举例

float

浮点数

f

fPrice fSum fAmount fScore fHeight fWeight

int

整数

i

iCount / iCnt iStudentCount iWidth iHeight iCapacity

string

字符串

s

sStudentNo sMemo sHint sDiagnostics sContent sName

bool

布尔型

b

bFound bCaptured bFull bHungry bDied bMarried bAvailable

如果变量表达的是一个集合(数组或者list), 用小写的英文单词的复数形式:

students members prices wheels teachers universities shoes arms

规则3 函数的命名

一个英文单词: 小写

add() convert() del() empty() try() pop() push()

两个英文单词: 第二个单词首字母大写 动+名

addAmount() setPrice() getPrice()

setEmpty() pushDown() riseUp()

toString() toDouble()

规则4 类型的命名

由一个或者两个英文单词构成,每个单词的首字母均大写

FloatBuffer PrinterQueue Student Lesson

Movie Song Employee

Team Board Company

Supplier GoldFish CellPhone

GraphDrawer

在面向对象程序设计当中,一个文件通常只包括一个类型,通常文件名由类型名 + . + 扩展名构成:

Student.py Company.h Company.cpp PrinterQueue.java

规则5 例外

如果有一个临时变量,仅在上下几行局部代码中被使用,用完即弃,可以用小写单字母:(代码阅读者容易通过上下文确定变量的类型和用途)

s = s + “, Done”

print(s)

for i in range(100):

print(i)

当心中文目录及中文文件名

很多开发环境及软件对中文的支持并不好,永远不要使用任何包含中文的目录或文件名:

示例

正/误

d:/学习资料/python/实验1

X

d:/Learing/python/Test1

忠告

命名这件事不同的人有不同的看法。

认真命好每个名, 尽量遵守规则。

表面上花时间,实际上省时间。

程序如果需要交给教师检查或者请求教师协助,两件事情先做好:

确认命名符合要求;