[oeasy]python0135_命名慣用法_name_convention
命名慣用法
回憶上次內(nèi)容
上次 了解了isidentifier的細(xì)節(jié)
關(guān)于 關(guān)鍵字
關(guān)于 下劃線
如何查詢 變量所指向的地址?
id
如何查詢 已有的各種變量?
locals
如果 用一個(gè)變量a的值
給另一個(gè)變量b 賦值
是什么樣的過程 呢????
指向
聲明變量a 并賦值為1
是個(gè)數(shù)字變量
是一個(gè)容器
指向地址的值為1

聲明b變量
并且把a(bǔ)所指向的地址
賦給容器b
這樣a和b指向同一個(gè)地址
如果再把2賦給a呢?
再賦值
當(dāng)對(duì)a重新賦值的時(shí)候
a指向一個(gè)新的地址
b仍然指向原來的地址

那可以 在一行快速對(duì)兩個(gè)變量 進(jìn)行賦值 么?
a = b = 3
連等 賦值 可以嗎?
連等賦值
可以一次賦值 好幾個(gè)變量

確實(shí)可以
這樣 也可以 提高效率

其實(shí) 這兩個(gè)等號(hào)
a = b
b = 3
相當(dāng)于 兩次聲明并賦值
先算的 是左邊的
后算的 是右邊的
能否同時(shí)給兩個(gè)變量賦不同的值?
一行賦值

這種情況經(jīng)過一個(gè)解包過程
UNPACK過程
將(3, 5)進(jìn)行解包
然后分別STORE進(jìn)a, b
a, b 這些標(biāo)識(shí)符還是比較簡(jiǎn)單的
如果一個(gè)變量中有兩個(gè)以上的單詞組成
比如說this year
這個(gè)變量名應(yīng)該怎么寫呢?
大小寫慣例
關(guān)于單詞的大小寫方式
大小寫慣例
叫做case convention
有一些套路的

都有哪些 命名慣用法 呢?
三大標(biāo)識(shí)符慣用法
帕斯卡
所有單詞首字母大寫
ThisYear
java中很常見的類名和變量名
小駝峰
首單詞都小寫,后面的首字母大寫
setThisYear
java中的函數(shù)經(jīng)常這么寫
蛇形
this_year

python選的是哪個(gè)呢?
蛇形

python幾乎所有的標(biāo)識(shí)符都用的是蛇形
變量名
函數(shù)名
方法名
模塊名
包名

python為什么這么偏愛蛇形呢?
溯源
PASCAL本質(zhì)上是駝峰類中的大駝峰

后來c語言和unix的出現(xiàn)
同時(shí)帶了一種新的命名慣用法
新的慣用法
這種慣例出現(xiàn)在c、unix的源代碼中
也出現(xiàn)在The C Programming Language 這本書里面

以下劃線作為分隔符
很像空格但不是空格
但是他和蛇有什么關(guān)系
蛇形命名
蛇形命名方式起源于 1960 年代
那時(shí)它甚至還沒有特定的名稱
就是被叫做"帶下劃線的小寫命名"
lower_case_with_underscores
Guido不喜歡大寫字母
因?yàn)橛X得大寫字母很裝
小寫字母很舒服
單程序里面必須要表示分隔符
python 從 c 語言中借鑒了下劃線的命名法
這個(gè)分隔符_在python中無處不在
比如
__builtins__
、__py_cache__
這種命名法的名字為
lower_case_with_underscores
但這名字拗口而且很難記
2002年
intel和微軟的員工在內(nèi)部交流的時(shí)候
起了snake_case名字
很像蛇匍匐在地上
2004年
ruby社區(qū)里面 Gavin Kistner 開始在Usenet上使用
并且流傳開來
2015年
根據(jù)下劃線派生的
中劃線和上劃線(lisp-case, kebab-case)的命名法也出現(xiàn)了
多單詞命名法格式

這些就是關(guān)于命名法的資料
還記得我們?cè)?jīng)的show_time.py嗎?
show_time 是 哪種 命名慣用法 呢?
我們?nèi)タ偨Y(jié)一下吧
總結(jié)
這次研究了 一行賦值多個(gè)變量
a = b = 5
a, b = 7, 8
還研究了 標(biāo)識(shí)符的慣用法
snake_case蛇形命名法
用下劃線 分隔開小寫字母的 方法
這樣就可以 更合理地 命名變量了
python使用的是
變量變量 能變的量
我可以
通過鍵盤錄入
變量的值 嗎???我們下次再說!??
藍(lán)橋->https://www.lanqiao.cn/courses/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython