[oeasy]python0133_變量名_標識符_identifier_id_locals
變量名
回憶上次內(nèi)容
上次講了 什么是
變量
變量變量
能變的量 就是變量
各種系統(tǒng)、游戲就是由變量所組成的

聲明了變量
并且 定義了變量
聲明就是 declaration
把標識符 和 具體值 聯(lián)系起來
標識符就是 變量的標記符
具體值 就是 賦給變量的值
過程就是 賦值
可以給變量 具體的值
就是 assignment
哪些字符串可以用作變量名呢???
變量名
a、a1可以作為變量名
字母開頭后面 可以接數(shù)字

1a 不可以 作為變量名
變量名 不能是 數(shù)字開頭
為什么 不能是 數(shù)字開頭 呢?
數(shù)字
數(shù)字開頭 一般都表示 數(shù)字常量
標識符
數(shù)字常量
從 c 語言的時候就是這樣
這樣 詞法分析器 便于區(qū)分

變量名 有沒有個
命名要求
呢?
命名要求
變量名、函數(shù)名、模塊名
模仿c語言
identifier
都屬于標識符
python對于標識符的規(guī)則
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
第一個字符應(yīng)該是字母或下劃線
合法的標識符可以包括大小寫字母、數(shù)字、下劃線
python具體什么要求呢?
查看文檔

進入幫助模式

找到主題
IDENTIFIERS
標識符
基本規(guī)則和c語言類似
第一個字符應(yīng)該是字母或下劃線
后面跟 字母、數(shù)字、下劃線

中文字符可以作為標識符么?
中文標識符
具體實驗

python3 中
中文字符串可以作為變量的標識符
這怎么理解呢?
PEP3131
不只是中文
不過一般不用
大多數(shù) unicode 字符都可以作為標識符
https://peps.python.org/pep-3131/

回憶一下什么是 unicode

如何判斷一個字符串
是否是合法的標識符呢?
identifier
字符串類(str) 有這么一個函數(shù)
叫做 isidentifier()

就是看看這個字符串
是否能夠做 identifier 標識符

如果非要數(shù)字開頭的話
前面要加下劃線
標點也屬于unicode字符
可以放在標識符中嗎?
標點

標點不能進入標識符
?????♀
為什么呢?
分別賦值
以逗號為例

逗號擔負這個切分的功能
可以對兩個變量分別賦值
其他符號
+
-
*
/
"
?
都有各自的功能
都不能作為標識符identifier
練習
以下哪些變量名是合法的?
oeasy
o2z
o?z
o,z
_orz
0rz
__0rz
使用函數(shù)驗證一下推論
失靈
isidentifier 也有不靈的時候

這如何理解呢?
先去總結(jié)一下
總結(jié)
變量 就是 能變的量
這次研究了 變量標識符的 規(guī)則
大小寫字母
數(shù)字
下劃線
第一個字符 應(yīng)該是 字母或下劃線
合法的標識符可以包括
還研究了字符串(str)的函數(shù)
是否為合法標識符
isidentifier
查詢字符串
最后發(fā)現(xiàn)
這個isidentifier函數(shù)有時候不好使?

這怎么理解呢????
我們下次再說!??
藍橋->https://www.lanqiao.cn/courses/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython