[oeasy]python0133_变量名_标识符_identifier_id_locals
变量名
回忆上次内容
上次讲了 什么是
变量
变量变量
能变的量 就是变量
各种系统、游戏就是由变量所组成的

声明了变量
并且 定义了变量
声明就是 declaration
把标识符 和 具体值 联系起来
标识符就是 变量的标记符
具体值 就是 赋给变量的值
过程就是 赋值
可以给变量 具体的值
就是 assignment
哪些字符串可以用作变量名呢?🤔
变量名
a、a1可以作为变量名
字母开头后面 可以接数字

1a 不可以 作为变量名
变量名 不能是 数字开头
为什么 不能是 数字开头 呢?
数字
数字开头 一般都表示 数字常量
标识符
数字常量
从 c 语言的时候就是这样
这样 词法分析器 便于区分

变量名 有没有个
命名要求
呢?
命名要求
变量名、函数名、模块名
模仿c语言
identifier
都属于标识符
python对于标识符的规则
c语言对于标识符的要求是这样的
A valid identifier can have letters(both uppercase and lowercase letters),digits and underscores.
The first letter of an identifier should be either a letter or an underscore
第一个字符应该是字母或下划线
合法的标识符可以包括大小写字母、数字、下划线
python具体什么要求呢?
查看文档

进入帮助模式

找到主题
IDENTIFIERS
标识符
基本规则和c语言类似
第一个字符应该是字母或下划线
后面跟 字母、数字、下划线

中文字符可以作为标识符么?
中文标识符
具体实验

python3 中
中文字符串可以作为变量的标识符
这怎么理解呢?
PEP3131
不只是中文
不过一般不用
大多数 unicode 字符都可以作为标识符
https://peps.python.org/pep-3131/

回忆一下什么是 unicode

如何判断一个字符串
是否是合法的标识符呢?
identifier
字符串类(str) 有这么一个函数
叫做 isidentifier()

就是看看这个字符串
是否能够做 identifier 标识符

如果非要数字开头的话
前面要加下划线
标点也属于unicode字符
可以放在标识符中吗?
标点

标点不能进入标识符
🙅🏻♀
为什么呢?
分别赋值
以逗号为例

逗号担负这个切分的功能
可以对两个变量分别赋值
其他符号
+
-
*
/
"
?
都有各自的功能
都不能作为标识符identifier
练习
以下哪些变量名是合法的?
oeasy
o2z
o?z
o,z
_orz
0rz
__0rz
使用函数验证一下推论
失灵
isidentifier 也有不灵的时候

这如何理解呢?
先去总结一下
总结
变量 就是 能变的量
这次研究了 变量标识符的 规则
大小写字母
数字
下划线
第一个字符 应该是 字母或下划线
合法的标识符可以包括
还研究了字符串(str)的函数
是否为合法标识符
isidentifier
查询字符串
最后发现
这个isidentifier函数有时候不好使?

这怎么理解呢??🤔
我们下次再说!👋
蓝桥->https://www.lanqiao.cn/courses/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython