簡單地理解,標識符就是一個名字,就好像我們每個人都有屬於自己的名字,它的主要作用就是作為變量、函數、類、模塊以及其他對象的名稱。
命令規則
標識符的命名,除了要遵守以上這幾條規則外,不同場景中的標識符,其名稱也有一定的規范可循
保留字是 Python 語言中一些已經被賦予特定意義的單詞,這就要求開發者在開發程序時,不能用這些保留字作為標識符給變量、函數、類、模板以及其他對象命名。
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', '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']
Python 解釋器自帶的函數叫做內置函數,這些函數可以直接使用,不需要導入某個模塊。
>>> dir(__builtins__)
a,b=1,2
弱類型語言有兩個特點:
Python中數有四種數值類型:整數、長整數、浮點數和復數。
整型, 如 1, -1, 0
長整型,是比較大的整數,如 234234243324
浮點型,如 1.23、3E-2
復數,如 1 + 2j、 1.1 + 2.2j
在 Python 中查看類型,使用 type() 內置函數。
>>> type(2)
int
>>> type("2")
str
十六進制:在 Pthon 中使用 0x 開頭的“數字”表示十六進制的數。對於 9 以後的數字,沒有對應的阿拉伯數字。則使用 a 表示 10 , b 表示 11 ,依次類推,最後 f 表示 15。 在十六進制表達中不區分“字母”的大小寫
八進制:在 Python 中使用 0o 開頭的數字表示八進制, 注意 0 後面是英文字母 o
二進制:0b 開關的表達式表示二進制。在二進制表達式中,只能使用數字 0 與 1
hex1 = 0x45
hex2 = 0x4Af
print("hex1Value: ", hex1)
print("hex2Value: ", hex2)
hex1Value: 69
hex2Value: 1199
int(x) 將 x 轉換為一個整數。
float(x) 將 x 轉換到一個浮點數。
complex(x) 將 x 轉換到一個復數,實數部分為 x ,虛數部分為 0 。
>>> a = 3.1415926
>>> int(a)
3
##轉換為復數表達式。
>>> complex(a)
(3.1415926+0j)
‘/’除法運算的結果為小數,即浮點數
#無論操作數是整數還是浮點數,結果總都是浮點數
>>> 4.0 / 2
2.0
>>> 1 / 1
1.0
如果你想丟棄小數部分,即執行整除運算,可使用雙斜槓 // 。
#無論操作數是整數還是浮點數,得到的商不保留浮點數的尾數
>>>4//2
2
>>>5.0//2
2.0
求余(求模)運算符,x % y的結果為x除以y的余數
>>> 10 % 3
1
>>> 2.75 % 0.5
0.25
>>> 10 % -3
-2
>>> 10 // -3
-4
乘方(求冪)運算符。 請注意,乘方運算符的優先級比求負(單目減)高,因此 -32 等價於 -(32) 。如果你要計算的是 (-3)**2 ,必須使用括號進行明確。
>>> -3 ** 2
-9
>>> (-3) ** 2
9
#在操作兩 個整型或浮點型值時, + 是相加操作符。但是,在用於兩個字符串時,它將字符串 連接起來,成為“字符串連接”操作符。
>>> 'Alice' + 'Bob'
'AliceBob'
#如果你對一個字符串和一個整型值使用加操作符,Python就不知道如何處理
>>> 'Alice' + 42
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-5-4e9a9e71481a> in <module>
----> 1 'Alice' + 42
TypeError: can only concatenate str (not "int") to str
##在用於兩個整型或浮點型值時,* 操作符表示乘法。 但* 操作符用於一個字符串 值和一個整型值時, 它變成了“字符串復制”操作符。
>>> 'Alice' * 5
'AliceAliceAliceAliceAlice'
>>> var2 = "Runoob"
>>> print ("var2[1:5]: ", var2[1:5])
var2[1:5]: unoo
#in 關鍵字的用法類似於操作系統,用於判斷一個某個元素是否在一個列表或字符串中。
>>> if( "H" in a) :
>>> print("H 在變量 a 中")
>>> else :
>>> print("H 不在變量 a 中")
H 在變量 a 中
#not 關鍵字用於取反
>>> if( "M" not in a) :
>>> print("M 不在變量 a 中")
>>> else :
>>> print("M 在變量 a 中")
M 不在變量 a 中
用法是將一個值插入到一個有字符串格式符 %s 的字符串中。
>>> "我叫%s,今年%d歲!" % ('小明', 10)
'我叫小明,今年10歲!'
Python 字符串格式化符號:
%s : 格式化字符串 ;
%d : 格式化整數 ;
%f : 格式化浮點數字,可指定小數點後的精度 ;
指定小數精度
%m.nf
%.nf
m 表示最小寬度,n 表示輸出精度,.是必須存在的。
f = 3.141592653
# 最小寬度為8,小數點後保留3位
print("%8.3f" % f)
# 最小寬度為8,小數點後保留3位,左邊補0
print("%08.3f" % f)
# 最小寬度為8,小數點後保留3位,左邊補0,帶符號
print("%+08.3f" % f)
單引號和雙引號,大多數情況完全相同
'Let's go!'
報錯
#反斜槓( \ )對引號進行轉義
'Let\'s go!'
轉義字符有時候會帶來一些麻煩,例如我要表示一個包含 Windows 路徑D:\Program Files\Python 3.8\python.exe這樣的字符串,在 Python 程序中直接這樣寫肯定是不行的,不管是普通字符串還是長字符串。因為\的特殊性,我們需要對字符串中的每個\都進行轉義,也就是寫成D:\Program Files\Python 3.8\python.exe這種形式才行。
在普通字符串或者長字符串的開頭加上r前綴,就變成了原始字符串,具體格式為:
str1 = r'原始字符串內容'
str2 = r"""原始字符串內容""
rstr = r'D:\Program Files\Python 3.8\python.exe'
print(rstr)
https://www.liaoxuefeng.com/wiki/1016959663602400/1017075323632896
Python 程序代碼中可能存在若干種語言文字的標識符和字符串用於顯示、輸出或注釋。為了存儲和顯示這些不同的語言文字,不同的國家和組織制定了若干種字符集標准。常見的字符集有 ASCII 字符集、簡體中文 GB2312 字符集、繁體中文 Big5 字符集、簡體中文 GB18030 字符集、Unicode 字符集等。
在Python3中,所有的字符串都是Unicode字符串,在 Unicode 中有很多方式將數字 23383 表示成程序中的數據,包括 UTF-8、UTF-16、UTF-32
在計算機內存中,統一使用Unicode編碼,當需要保存到硬盤或者需要傳輸的時候,就轉換為UTF-8編碼。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-D05wg0Cx-1656062146825)(https://boostnote.io/api/teams/dlm1ZMj21/files/0971c779c2cf97bc40e136e29a66b04b029eb5ef84f40cae80904530464c4d1c-image.png)]
Python 三引號允許一個字符串跨多行,字符串中可以包含換行符、制表符以及其他特殊字符
>>> para_str = """這是一個多行字符串的實例 >>> 多行字符串可以使用制表符 >>> TAB ( \t )。 >>> 也可以使用換行符 [ \n ]。 >>> """
>>> print (para_str)
bytes 是 Python 3.x 新增的類型,在 Python 2.x 中是不存在的。
如果采用合適的字符集,字符串可以轉換成字節串;反過來,字節串也可以恢復成對應的字符串。
#利用字符串的encode()方法編碼成bytes,默認使用utf-8字符集
a= “學習”.encode(‘utf-8’)
#調用 bytes 對象的 decode() 方法將其解碼成字符串
st= a.decode(‘utf-8’)
#連續賦值
A=B=C=100
#擴展後的賦值運算符
x += y #類似於x = x + y
x -= y #類似於x = x - y
= 和 == 是兩個不同的運算符,= 用來賦值,而 == 用來判斷兩邊的值是否相等
exp1 if contion else exp2
condition 是判斷條件,exp1 和 exp2 是兩個表達式。如果 condition 成立(結果為真),就執行 exp1,並把 exp1 的結果作為整個表達式的結果;如果 condition 不成立(結果為假),就執行 exp2,並把 exp2 的結果作為整個表達式的結果。
4+4<<2
#類似於(4+4) << 2
100 / 25 * 16,/和*的優先級相同,應該先執行哪一個呢?
所謂結合性,就是當一個表達式中出現多個優先級相同的運算符時,先執行哪個運算符:先執行左邊的叫左結合性,先執行右邊的叫右結合性。