Python 基礎二
1.在python基礎一裏面我們講到過python2x是用的assic編碼 而python3x是用的utf-8的編碼,編碼的由來和一些規則。
Assic碼 最開始美國人發明出來 只是能夠打印英文字母和一些特殊字符 ,他們用8位來表示一個字符 2**8=256個 也就是用8個編碼代碼一個字符,也就是一個字節 8位 = 1 byte
Unicode 萬國碼 這時候的萬國碼能夠表示每個國家的字符 但是這時候用的比較繁瑣
初始階段 :16位 表示一個字符 則 16位=2byte=1個字符
末世階段: 32位 表示一個字符 32位=4byte=1個字符
這個階段的編碼 很浪費硬盤和內存的空間
Utf-8 對Unicode和assic碼的優化 不在那麽死板 比較靈活最少用1個字節來表示一個字符
英文 仍然是用8位來表示 1個英文字符=1byte
歐洲國家 用16位2個字節 來表示一個字符
亞洲 中國 用24位 3 個字節 來表示一個字符 所以在儲存空間上我們比較浪費
Gbk 國標編碼 只包含英文和中文
英文 用8位來表示1個字符
中文 用16位來表示1個 字符 要占用2個字節
轉換關系:8bit = 1byte 1024byte = 1kb 1024kb=1MB 1024MB=1GB
2. in/ not in
msg = "iloveyou" print(‘ilove‘ in msg)
print(‘iyou‘ in msg)
print(‘iyou‘ not in msg)
這種輸出的結果是bool值 True False True 應用舉例:
commet = input(‘請輸入你的評論:‘)
if "蒼井空" in comment:
print("你輸入的有敏感字符,請重新輸入")
3.while else
i = 0while True: print(i) if i = 5 : break i=i+1 else: print(‘輸出正常結束‘)
在這段代碼中 遇到了break 後面的else不會執行 只會輸出12345
count = 1 flag = True while flag: print(count) if count = 5: flag = False
count +=1 else: print(‘循環結束‘)
這短代碼會輸出 12345 循環結束
5.格式化輸出
dic = {‘name‘:‘yy‘,‘age‘:‘22‘,‘work‘:‘it‘} meg = ‘‘‘我的名字是%(name)s,我今年%(age)d,我的工作是% (work)s ‘‘‘ % dic print(meg)
6.運算符
or and 運算規則:
第一種:全都是比較運算 這種運算規則為()>and>or 同一優先級 從左到右依次計算
第二種:前後都是數值運算 x or y 如果X為True 則返回X 否則返回Y
X and Y 則正好相反 X為True 則返回Y
第三種:混合
bool值 與int的轉換 口訣為:非0即True 0位False
print(int(False))= 0 print(int(True))=1
print(bool(234))=True
Python 基礎二