變量其實很簡單,不過在使用過程中會遇到一些棘手的問題。 比如一個變量我之前已經用過了,現在我要定義一個類似的變量,該怎麼辦?
還有,很多小夥伴其實知道變量應該遵守什麼規範,應該代表什麼數據,但是大學英語沒學好,不知道怎麼給變量取名字。
這些問題,其實都有比較好的解決方案。 我們還是從最基本的操作開始吧,這樣能加深理解,沒準自己就找到了更好的方式。
變量有什麼用
變量的作用是用來存儲數據,當一個數據很大,或者需要使用多次的時候,就可以通過變量來存儲。 假設我們現在有一串比較長的數據需要打印多次,要每次輸入這麼長的數據就比較麻煩。
print("今天的天氣不錯,適合學習。我拿出一本康熙字典,翻到了第 573 頁。")
print("今天的天氣不錯,適合學習。我拿出一本康熙字典,翻到了第 573 頁。")
print("今天的天氣不錯,適合學習。我拿出一本康熙字典,翻到了第 573 頁。")
print("今天的天氣不錯,適合學習。我拿出一本康熙字典,翻到了第 573 頁。")
今天的天氣不錯,適合學習。我拿出一本康熙字典,翻到了第 573 頁。
今天的天氣不錯,適合學習。我拿出一本康熙字典,翻到了第 573 頁。
今天的天氣不錯,適合學習。我拿出一本康熙字典,翻到了第 573 頁。
今天的天氣不錯,適合學習。我拿出一本康熙字典,翻到了第 573 頁。
每次要打很多字,很累,而且並不能保證每次輸入的內容是 100% 一致的。而變量把數據存起來之後,每次取出非常方便,還能保證一致性。使用變量之後,代碼也變得更加簡潔。
notes = "今天的天氣不錯,適合學習。我拿出一本康熙字典,翻到了第 573 頁。"
print(notes)
print(notes)
print(notes)
print(notes)
今天的天氣不錯,適合學習。我拿出一本康熙字典,翻到了第 573 頁。
今天的天氣不錯,適合學習。我拿出一本康熙字典,翻到了第 573 頁。
今天的天氣不錯,適合學習。我拿出一本康熙字典,翻到了第 573 頁。
今天的天氣不錯,適合學習。我拿出一本康熙字典,翻到了第 573 頁。
在這個例子中,=
號左邊的 notes 是變量名稱,=
號右邊的就是變量的值。
變量命名規範
變量名稱不能隨便取,需要遵守一定的規範。變量名可以包含字母、數字、下劃線_
, 但是不能以數字開頭,而且不能是 python 的內置關鍵字。所有的內置關鍵字都可以通過以下程序獲取:
import keyword
print(keyword.kwlist)
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
試着判斷以下以下哪些是正確的變量名,哪些不是:
a = "mingtian"
_name = "mingt"
my-age = 19
your_age = 16
his age = 33
711 = "address"
try = "again"
一個合法的變量只需要遵守上面的規則,但是要取一個好的變量名稱並不容易,它需要有明確的意義,讓別人一看就知道你這個變量代表的含義。 多看優秀程序員的命名,提供英語能力是編寫好的變量名最重要的途徑。 比如用 name 表示名字, 用 age 表示 19 。
name = "jiubing"
wexin_account = "jiubing1"
變量命名方式
細心的小夥伴會發現,Python中每種命名的方式會有細微的差別。
命名變量的時候通常採用蛇形命名,或者下劃線命名,每個單詞之間用下劃線連接。
your_name = "jiubing"
my_age = 16
除了函數以外,在命名函數、模塊、包的時候通常採用蛇形命名方式。
而Python的類採用的是駝峯式命名法,單詞的首字母大寫,看起來就像駱駝峯一樣。
class YourDream:
pass
英語不好怎麼辦
很多小夥伴英語水平不自信,就算想到命名需要的意思,也想不到對應的單詞,所以有的人乾脆用中文命名。
名字 = "jiubing"
號碼 = "jiubing1"
Python其實早就以及支持中文命名,但是還是很少人這麼使用,這麼命名在公司裏面不一定能通過審覈。 如果公司支持這種命名方式,我覺得就用中文命名可以;如果不行,那隻能換其他的策略。
第一個比較好用的方式是:用翻譯詞典,這也是我用的主要方式。 我的英語不是很好,所以有的時候命名不得不借助翻譯工具。 很多人會用瀏覽器打開百度翻譯,不過我覺得這稍微有一點麻煩。
我推薦兩種方式,第一種是安裝劃詞軟件,比如我用的 qtranslate, 選中需要翻譯的中文,使用快捷鍵就能快速實現翻譯。我用過幾款工具,這個是我用非常順手的,已經使用好多年了,如果找不到下載地址,私聊我,發安裝包。
第二種方式使用 utools 這一類的效率工具,裏面集成了翻譯功能,也可以通過快捷鍵快速翻譯,具體的操作我就不描述了,如果實在不會的找我私聊吧。
需要注意的是,翻譯完了以後一定要花一兩秒種時間記一下這個單詞,因爲下次還有可能遇到。 一個變量名一旦你用了第一次,非常有可能還會使用第二次的,在我們頻繁使用翻譯軟件得到英語單詞時,也要慢慢積累詞彙量。 不能靠翻譯軟件過一輩子。