Python中如何正确命名变量,有规律吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中如何正确命名变量,有规律吗?相关的知识,希望对你有一定的参考价值。

变量命名注意事项

1、变量名的长度不受限制,但其中的字符必须是字母、数字、或者下划线(_),而不能使用空格、连字符、标点符号、引号或其他字符。

2、变量名的第一个字符不能是数字,必须是字母或下划线。

3、Python区分大小写。

4、不能将Python关键字用作变量名。

例如:

提示:


    代码中有红色波浪线表明有语法错误,绿色的表明不推荐,最好‘见名知意 ’

    多个单词用下划线连接;

    避免用单个字符定义变量名,单个字母一般用在循环的时候,控制次数。

    Python的关键字:help("keywords")

    变量名的命名规则

    1、变量命名推荐使用小写字母

    2、变量的名字要有意义,进来用对应的英文命名,具有“见名知意”的作用。

    如学生姓名 变量取名为name或者student_name

    3、避免使用单个字符作为变量名(除了在循环里面定义的变量)

    4、当使用多个单词组成变量名时,应该使用(word_word_word)命名法。

    如 学生人数:student_number

    学生总人数:student_total

    变量的简单写法

参考技术A

Python 变量命名规则:

    变量名由字母、数字和下划线组成,但不能以数字开头。

    关键字(keyword)是不能用作变量名,如 while、for、def。

    合法的 Python 变量名的例子:x, x1, age, _abc。

    不合法的 Python 变量名的例子:1x, $y, z$, if。

希望以上信息能帮到你!

python 变量的命名

机器学习实战中的代码

def plotNode(nodeTxt, centerPt, parentPt, nodeType):
createPlot.ax1.annotate(nodeTxt, xy=parentPt, xycoords='axes fraction',
xytext=centerPt, textcoords='axes fraction',
va="center", ha="center", bbox=nodeType, arrowprops=arrow_args )

def createPlot():
fig = plt.figure(1, facecolor='white')
fig.clf()
createPlot.ax1 = plt.subplot(111, frameon=False) #ticks for demo puropses
plotNode('a decision node', (0.5, 0.1), (0.1, 0.5), decisionNode)
plotNode('a leaf node', (0.8, 0.1), (0.3, 0.8), leafNode)
plt.show()

求问:def的函数内 直接用“函数名.变量名”直接变成全局变量了?如:createPlot.ax1? 是这个意思吗?还是其他意思
因为上面的代码def createPlot():中定义createPlot.ax1
在def plotNode(nodeTxt, centerPt, parentPt, nodeType):中调用也用了createPlot.ax1
而不是createPlot.createPlot.ax1
为啥可以这样?
谢谢啊

Python语言变量命名规则变量名只能包含字母、数字和下划线。
变量名可以字母或下划线开头,但不能以数字开头。
例如,可将变量命名为message_1,但不能将其命名为1_message。变量名不能包含空格,但可使用下划线来分隔其中的单词。
以下示例,变量名greeting_message可行,但变量名greetingmessage会引发错误。
不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print。变量名应既简短又具有描述性。慎用小写字母l和大写字母O,因给他们可能被人错看成数字1和0;
注意:应使用小写的Python变量名。
驼峰命名法当变量名是由二个或多个单词组成时,还可以利用驼峰命名法来命名。
小驼峰式命名法第一个单词以小写字母开始,后续单词的首字母大写。
大驼峰式命名法每一个单词的首字母都采用大写字母。
参考技术A createPlot.ax1 是表示: ax1 是函数 createPlot 的一个属性,这个可以在函数里面定义也可以在函数定义后加入也可以
example:
def fun():
fun.x =1
当你在python的命令窗口下,运行一次fun()后,x 就是 fun()的一个属性,你在命令窗口下输入
fun.x 后面会显示 1

也可以 在 函数定义完后加入 属性 如 fun.y = 2,在使用 dir(fun),你就会发现fun有 x,y 这两个属性
参考技术B

不是这样的,是模块名,加变量名,或者是类名加成员变量的名

比如

class People:
    name = "wz"


实例化后,可以用

p = People()
p.name


再比如一个模块

people.py

里面的代码有

name = 'wz'

你在另一个脚本上导入它

import people
people.name

但是函数里的就是不可以这样用,可以百度"自强学堂 在线教程"学习python

追问

people.name 可以这样被调用我明白,我不清楚如果在people内部就取名people.name,那别人调用他岂不是要people.people.name?

追答

如果people.py这个模块内部有一个class是 People
这要看你如何调用了
import people
people.People.name # 一般不这么用
p = people.People() # p是People的一个实例
p.name

from people import People
p = People() # p是People的一个实例
p.name

参考技术C python通过函数属性实现全局变量的方法:
In [14]: %cpaste
Pasting code; enter '--' alone on the line to stop or use Ctrl-D.
:def add(x=1):
: try:
: add.sum += x
: except AttributeError:
: add.sum = x
: return add.sum
:print add(3)
:print add(4)
:print add(10)
:--
3
7
17

以上是关于Python中如何正确命名变量,有规律吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确命名变量以避免在Python中出现类似“外部作用域的阴影名称”的警告

PHP 命名空间可以包含变量吗?

“C++”如何打开用变量命名的文件?

python 变量的命名

java变量命名中为啥能用中文

python 以变量命名文件名