目錄
- 變數
- 定義
- 變數命名
- 命名規范
- 常量
- 變數的參考
- 記憶體回收
- 記憶體優化
- None
- 注釋
- 行內注釋
- 單行注釋與多行注釋
- TODO注釋
變數
定義
想要使用變數需要先定義變數名,后面的代碼才能呼叫,也就是先定義后呼叫,
print() 函式:列印字符到螢屏,
x = 4
y = x + 5
print('x + 5 結果是:', y)
# 運行結果
x + 5 結果是: 9
變數命名
變數名只能是字母、數字或下劃線的任意組合,第一個字符不能是數字,當然現在Python3也支持使用中文作為變數名,但是并不推薦使用,可讀性差,
在Python中是保留了一些內置的功能,這些功能名稱是不能作為變數名使用的,
import keyword
print(keyword.kwlist)
# 運行結果
['False', 'None', 'True', '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']
命名規范
參考:
PEP8 Python風格規范
為了保證代碼的可讀性,應該注意下面幾點:
- 避免使用長命名的變數
- 不要使用中文、拼音作為變數
- 避免變數名詞不達意
常量
常量指固定的值,因為在Python中沒有專門語法代表常量,所以程式員約定俗成用變數命名大寫的代表常量,
# 示例
NAME = 'JACK'
變數的參考
當定義一個變數的時候如a=10,10會儲存在記憶體中并得到一個記憶體地址,這個記憶體地址在記憶體中只有一份,變數a會參考這個記憶體地址,當我們使用a
這個變數名的時候會通過這個記憶體地址找到資料10,
id() 函式:回傳使用物件的記憶體地址,
a = 1
b = a
print("a未變之前(a, b)的記憶體地址是", id(a), id(b))
a = 2
print("a變了之后(a, b)的記憶體地址是", id(a), id(b))
# 運行結果
a未變之前(a, b)的記憶體地址是 1504404656 1504404656
a變了之后(a, b)的記憶體地址是 1504404672 1504404656
記憶體回收
記憶體會檢查物件的參考數量,當某個物件的參考數量為0時,Python會進行檢查,發現變數被參考物件數量為0時,使用的記憶體空間就會被回收,這也
是Python的垃圾回識訓制,
記憶體優化
Python解釋器在運行程式時會建立一個共享物件池,小整數物件是常駐記憶體,不會被刪出回收,變數宣告在[-5, 257)的范圍內,那么將不會為多個
變數申請不同的記憶體地址,而是指向同一個記憶體地址,
a = 1
b = 1
c = 1
print(id(a), id(b), id(c))
# 運行結果
1865376944 1865376944 1865376944
None
變數賦值None代表為空,也就是什么也沒有,
type() 函式:查看物件的型別,
name = None
print(type(name))
<class 'NoneType'>
注釋
注釋是為了提高代碼的可讀性,讓閱讀代碼的人更快的理解代碼所表達的意思,
# print("這句話是注釋不會被執行")
print("Hello world")
# 運行結果
Hello world
行內注釋
print("Hello world") # 這是行內注釋
單行注釋與多行注釋
"""
這是一個多行注釋,
"""
# 這是一個單行注釋
TODO注釋
# TODO : 這是TODO注釋, 標記著臨時的、短期解決方案的、或者足夠好但不夠完美的代碼,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/180425.html
標籤:其他
