基礎知識小結
阿新 • • 發佈:2018-09-11
else is和== ict pen pda 交互 字符串 ont 代碼 1. python是一門解釋型弱類型高級編成語言語言
2. 常見的解釋器:
CPython, IPython, pypy,JPython, IronPython
3. 變量:在程序運行過程中產生的中間值供給後面使用
命名規範:
1. 由數字, 字母, 下劃線組成
2. 不能是數字開頭, 更不能是純數字
3. 不能是關鍵字(if else elif)
4. 不要太長
5. 要有意義
6. 不要用中文
7. 區分大小寫
8. 使用駝峰或者下劃線 數據類型:
1. int(整數)
+-*/ // %
2. str(字符串)
+ *
int(str)
3. bool(布爾值) True, False
常量 : 不存在絕對的常量。所有的字母大寫就是常量
交互 : s = input("提示語") 條件判斷 if語句
if 條件:
代碼塊 條件成立運行代碼塊 if 條件:
代碼塊
else:
代碼塊 if 條件:
代碼塊
elif 條件:
代碼塊
elif.....
else:
代碼塊 嵌套 ################################################################### 1. while循環
while 條件:
代碼塊(循環體)
break 結束當前本層循環.
continue 結束當前本次循環. 繼續執行下一次循環
else:
當條件不成立的時候執行這裏的代碼
2. 格式化輸出
%s 占位符 , 占位的是字符串
%d , 占位數字
3. 運算符
邏輯運算
and 並且的意思. 左右兩端同時為真. 結果才是真
or 或者的意思. 左右兩端有一個是真. 結果就是真
not 非真既假 非假既真 順序: () => not => and => or x or y if x == 0 then y else x
and和or相反
4. 編碼
1. ASCII. 8bit 1byte
2. GBK. 16bit 2byte
3. Unicode 32bit 4byte
4. UTF-8 可變長度
英文: 8bit 1byte
歐洲: 16bit 2byte
中文: 24bit 3byte ################################################################### 1. int + - * / % // ** bit_length()
2. bool 類型轉換
結論1: 想把劉偉轉換成劉德華. 劉德華(劉偉)
結論2: True => 1 False => 0
結論3: 可以當做False的數據: 0, "", [], (), {}, set(), None. 所有的空都是False
3. str字符串
字符: 單一的文字符號
字符串: 有序的字符序列
‘, ", ‘‘‘, """括起來的內容就是字符串
索引和切片:
1. 索引下標從0開始
2. 切片:[start: end: step]
1. 顧頭不顧尾
2. 默認從左往右取. 如果step是負數. 從右往左取 操作:
1. uppper() 轉化成大寫
2. strip() 去掉空白(空格, 制表符\t, 換行符\n) white space
3. replace(old, new) 替換
4. split() 切割, 結果是列表
5. startswith() 判斷是否以xxx開頭
6. find() index()
7. isdigit() 判斷是否由數字組成
8. len() 求字符串長度, 內置函數. 直接就可以了 叠代:
for 變量 in 可叠代對象:
循環體 ################################################################### 1. 列表的定義:
能裝對象的對象. 由[]表示. 內部使用逗號隔開
索引和切片 . 從0開始
[start: end: step]
2. 增刪改查
1. 新增: append(), insert(), extend()叠代添加
2. 刪除: pop(), remove(), clear(), del 元素
3. 修改: 索引或切片修改
4. 查詢: 索引查詢 for el in list:
5. 操作: count(), index(), find(), sort(reverse=True), reverse()
3. 元組(tuple):
由()表示. 內部用逗號隔開.
不可變, 只讀列表
不可變指的是第一層元素. 不可變的數據類型: int, str, bool, (元組) 4. range()
range(10) 0-9
range(1, 12) 1-11
range(1,12, 3) 1 4 7 10 for el in list: # 沒有索引 for i in range(len(list)):
list[i] ################################################################### 字典: 由{}括起來. 每個元素用逗號隔開, key:value的形式存儲數據
key: 不可變的. 可哈希的.
增刪改查:
1. 增加: 直接用新key來賦值. dict[key] = value setdefault()
2. 刪除: pop(key), popitems(), clear(), del dict[key]
3. 修改: dict[key] = value, update()
4. 查詢: get(key) dict[key] setdefault()
5. 常用操作:
1. keys() 拿到所有的key
2. values() 拿到所有的value
3. items() 拿到所有的鍵值對. (key, value) 6. 字典的遍歷
for k,v in dict.items(): for k in dict:
dict[k] ################################################################### 1. 小數據池, 緩存字符串, 整數, 布爾值. 提高內存使用效率. 不需要重復創建對象
數字: -5~256
字符串:
單個直接緩存
多個字符. 只有數字, 字母, 下劃線會緩存
乘以1,同上
乘以大於1, 總長度不超過20 4096 在同一個代碼塊中. 以上規則會有變化.
1. 數字. 默認都緩存.
2. 字符串. 默認也都緩存.
在不同的代碼塊中. 遵守的就是最上面的規則 2. is和==的區別
== 比較的是值.
is 比較的是內存地址 3. 編碼
encode() 編碼
decode() 解碼 ################################################################### join() 把列表中的每一項用字符串拼接起來
split() 相反
1. 關於刪除(重點)
1. 循環叠代過程中不能刪除。
2. 創建新列表。 把要刪除的內容保存在新列表中。 循環新列表, 刪除老列表
3. 字典在循環的時候可以修改, 但不能新增和刪除 dict.fromkeys(k, v)
把key叠代。和value組合成k:v創建新字典, 所有的key共享同一個value
2. set集合(粗略)
特點: 無序, 去重, 哈希
lst = []
list(set(lst)) # 去重復
3. 深淺拷貝(難點)
1. 賦值。 不會產生新對象,和拷貝無關
2. 淺拷貝。 只會復制自身。 會創建對象 3.深拷貝,把內部所有的內容都進行拷貝
2. 常見的解釋器:
CPython, IPython, pypy,JPython, IronPython
3. 變量:在程序運行過程中產生的中間值供給後面使用
命名規範:
1. 由數字, 字母, 下劃線組成
2. 不能是數字開頭, 更不能是純數字
3. 不能是關鍵字(if else elif)
4. 不要太長
5. 要有意義
6. 不要用中文
7. 區分大小寫
8. 使用駝峰或者下劃線 數據類型:
1. int(整數)
+-*/ // %
2. str(字符串)
+ *
int(str)
3. bool(布爾值) True, False
常量 : 不存在絕對的常量。所有的字母大寫就是常量
交互 : s = input("提示語") 條件判斷 if語句
if 條件:
代碼塊 條件成立運行代碼塊 if 條件:
代碼塊
else:
代碼塊 if 條件:
代碼塊
elif 條件:
代碼塊
elif.....
else:
代碼塊 嵌套 ################################################################### 1. while循環
while 條件:
代碼塊(循環體)
break 結束當前本層循環.
continue 結束當前本次循環. 繼續執行下一次循環
else:
當條件不成立的時候執行這裏的代碼
2. 格式化輸出
%s 占位符 , 占位的是字符串
%d , 占位數字
3. 運算符
邏輯運算
and 並且的意思. 左右兩端同時為真. 結果才是真
or 或者的意思. 左右兩端有一個是真. 結果就是真
not 非真既假 非假既真 順序: () => not => and => or x or y if x == 0 then y else x
and和or相反
4. 編碼
1. ASCII. 8bit 1byte
2. GBK. 16bit 2byte
3. Unicode 32bit 4byte
4. UTF-8 可變長度
英文: 8bit 1byte
歐洲: 16bit 2byte
中文: 24bit 3byte ################################################################### 1. int + - * / % // ** bit_length()
2. bool 類型轉換
結論1: 想把劉偉轉換成劉德華. 劉德華(劉偉)
結論2: True => 1 False => 0
結論3: 可以當做False的數據: 0, "", [], (), {}, set(), None. 所有的空都是False
3. str字符串
字符: 單一的文字符號
字符串: 有序的字符序列
‘, ", ‘‘‘, """括起來的內容就是字符串
索引和切片:
1. 索引下標從0開始
2. 切片:[start: end: step]
1. 顧頭不顧尾
2. 默認從左往右取. 如果step是負數. 從右往左取 操作:
1. uppper() 轉化成大寫
2. strip() 去掉空白(空格, 制表符\t, 換行符\n) white space
3. replace(old, new) 替換
4. split() 切割, 結果是列表
5. startswith() 判斷是否以xxx開頭
6. find() index()
7. isdigit() 判斷是否由數字組成
8. len() 求字符串長度, 內置函數. 直接就可以了 叠代:
for 變量 in 可叠代對象:
循環體 ################################################################### 1. 列表的定義:
能裝對象的對象. 由[]表示. 內部使用逗號隔開
索引和切片 . 從0開始
[start: end: step]
2. 增刪改查
1. 新增: append(), insert(), extend()叠代添加
2. 刪除: pop(), remove(), clear(), del 元素
3. 修改: 索引或切片修改
4. 查詢: 索引查詢 for el in list:
5. 操作: count(), index(), find(), sort(reverse=True), reverse()
3. 元組(tuple):
由()表示. 內部用逗號隔開.
不可變, 只讀列表
不可變指的是第一層元素. 不可變的數據類型: int, str, bool, (元組) 4. range()
range(10) 0-9
range(1, 12) 1-11
range(1,12, 3) 1 4 7 10 for el in list: # 沒有索引 for i in range(len(list)):
list[i] ################################################################### 字典: 由{}括起來. 每個元素用逗號隔開, key:value的形式存儲數據
key: 不可變的. 可哈希的.
增刪改查:
1. 增加: 直接用新key來賦值. dict[key] = value setdefault()
2. 刪除: pop(key), popitems(), clear(), del dict[key]
3. 修改: dict[key] = value, update()
4. 查詢: get(key) dict[key] setdefault()
5. 常用操作:
1. keys() 拿到所有的key
2. values() 拿到所有的value
3. items() 拿到所有的鍵值對. (key, value) 6. 字典的遍歷
for k,v in dict.items(): for k in dict:
dict[k] ################################################################### 1. 小數據池, 緩存字符串, 整數, 布爾值. 提高內存使用效率. 不需要重復創建對象
數字: -5~256
字符串:
單個直接緩存
多個字符. 只有數字, 字母, 下劃線會緩存
乘以1,同上
乘以大於1, 總長度不超過20 4096 在同一個代碼塊中. 以上規則會有變化.
1. 數字. 默認都緩存.
2. 字符串. 默認也都緩存.
在不同的代碼塊中. 遵守的就是最上面的規則 2. is和==的區別
== 比較的是值.
is 比較的是內存地址 3. 編碼
encode() 編碼
decode() 解碼 ################################################################### join() 把列表中的每一項用字符串拼接起來
split() 相反
1. 關於刪除(重點)
1. 循環叠代過程中不能刪除。
2. 創建新列表。 把要刪除的內容保存在新列表中。 循環新列表, 刪除老列表
3. 字典在循環的時候可以修改, 但不能新增和刪除 dict.fromkeys(k, v)
把key叠代。和value組合成k:v創建新字典, 所有的key共享同一個value
2. set集合(粗略)
特點: 無序, 去重, 哈希
lst = []
list(set(lst)) # 去重復
3. 深淺拷貝(難點)
1. 賦值。 不會產生新對象,和拷貝無關
2. 淺拷貝。 只會復制自身。 會創建對象 3.深拷貝,把內部所有的內容都進行拷貝
基礎知識小結