1、格式化輸出
把%后面的內容按照位置往前面的%s位置放數據(%s 占位字符串,%d占位數字)
#格式化輸出個人信息 name = input("姓名:") address = input("地址:") age = input("年齡:") print("你的姓名是%s,年齡是%s,住址是%s" %(name,address,age))
2、運算符
優先級順序:() -> not -> and -> or
#() -> not -> and -> or
print(not 1>4 and 4<8 or 7>9 and 1<6 or 4>6)
#a or b,如果a是零,結果為b。如果a是非零,結果為a
#a and b,和上面or相反
print(1 and 5<3 or 6)
3、編碼:ASCII、GBK、unicode、utf-8,用什么編碼. 就用什么解碼
- ASCII碼中只有7位有效位,最前面那一位是空着的,是0,ASCII中沒有中文編碼,ascii 8bit => 1byte 英文 + 數字 + 特殊符號
- 為了各國可以使用,提出一個標准=> ANSI =>在ASCII基礎上擴展8bit => 16bit給各個國家進行編碼 => (中國)GB2312 => GBK(國標碼擴展碼)=> gbk中包含了我們常用的中文、日文、韓文、繁體字,但gbk無法識別歐洲的文字,國際化的操作依然不能實現 => unicod(萬國碼)32bit產生,但unicod空間浪費較大且影響傳輸,如:a是8bit,但unicode記錄會是32bit,相當於1M的文件,轉換為unicode后將會是4M,隨着機能的提高,還有utf-8的產生,unicod可以使用了,把unicode重新進行定義 => uft-8(可變長度的unicode)
- python2.x中使用的是ASCII,python3.x內存中使用的unicode,文件存儲中使用的utf-8,如果想要存儲,必須進行轉換utf-8或gbk
- encode編碼(得到的是bytes類型),decode解碼(得到字符串)
s = "古力娜扎" # 字符串直接就是unicode print(s) # 想要存儲. 必須進行轉換 => utf-8 或者GBK # unicode => UTF-8 # b'\xe5\x8f\xa4\xe5\x8a\x9b\xe5\xa8\x9c\xe6\x89\x8e' 字節 => 01 => 用來存儲和傳輸 # b'\xb9\xc5\xc1\xa6\xc4\xc8\xd4\xfa' => gbk的編碼 一個中文2個字節 #編碼 bs = s.encode("gbk") print(bs) #解碼 bs = b'\xb9\xc5\xc1\xa6\xc4\xc8\xd4\xfa' # GBK bs = b'\xe5\x8f\xa4\xe5\x8a\x9b\xe5\xa8\x9c\xe6\x89\x8e' # utf-8 s = bs.decode("utf-8") print(s)
4、基本數據類型
int類型的數據. 基本運算 +-*/ // **
bit_length() 二進制長度
a = 3 # 11
print(a.bit_length()) # 二進制長度 2
bool類型. 基本數據類型之間的互相轉換
a = True
print(type(a)) # <class 'bool'>
# bool => int
b = int(a) # 把xxx轉化成數字
print(b) # True => 1
True => 1
False => 0
print(bool(0)) # False
print(bool(-1)) # True
0 => False
非0 => True