我自己因為課程的關係式在Udemy上面學習Python的,不管你在哪裡學習,只要找到自己的喜歡的方式就是好的學習方法,今天來講講關於Python2的基本語法教學:)
import sys
print sys.argv[1]
print raw_input("Please enter the string you want to be printed out: ")
使用""" 缺點為有換行(\n)符號
使用""" 輸入後加上\ 再換行
索引
藉由[]填入數字索引(可由左至右 正值 或 右至左 負值)
變數名稱[索引數字]
查詢字串長度 len() ex:len(字串變數名稱)
超過長度 - 噴錯誤訊息() string index out of range
索引函式
變數名稱.index("查詢之字元")
變數名稱.count("查詢之字元")
變數名稱.find("查詢之字串")
* 找不到則回傳-1
"顯示"字串為全大寫或全小寫
變數名稱.upper() -->全顯示為大寫英文
變數名稱.lower() -->全顯示為小寫英文
判斷開頭字元與結尾字元
變數名稱.startswith("是否開頭字元")
變數名稱.endswith("是否結尾字元")
是 回傳 True
否 回傳 False
"顯示"清除開頭結尾重複字元 strip()
變數名稱.strip() -->消除開頭與結尾空白
變數名稱.strip("指定字元") -->消除開頭與結尾指定字元
"顯示"替換字串中的字元 replace()
變數名稱.replace("舊字串","新字串")
將字串變為獨立元素(切割字串)
變數名稱.split("根據字元")
於字串中平均插入指令字元
"指定字元".join(變數名稱)
字元相加
a='a字串'
b='b字串'
a+b
```
- ![](https://i.imgur.com/tBjlwRz.png)
查看字元是否在字串中
a = '字串'
'字元' in a --> 字元 是否在字串a中有出現
'字元' not in a --> 字元 是否沒有在字串a中出現
正確回傳 true 錯誤回傳 false
```
- ![](https://i.imgur.com/42u7OxI.png)
將指定字串或數字用 %s %d 填入
'aaaaaa %s bbbbb %d' % ("字串",數字)
切割字串
str = '字串'
str[:] -->顯示整個字串
str[5:14] -->取字串中第 5~13 個字元(從0開始)
str[:15] -->取字串中第 0~14 個字元(**注意不包括15)
str[-9:-1] -->取字串中倒數第 9~2 個字元(**注意不包括最後一個(-1))
str[-9:] -->取字串中倒數第 9~1 個字元
str[::2] -->只取字串中第2的倍數個顯示
str[::3] -->只取字串中第3的倍數個顯示
字串翻轉
str=''
str[::-1]
數值型態
查看數值型態 type(數字)
type(數字)
轉換型態
int(數字)
float(數字)
bool(數字)
complex(數字)
加減乘除
數字+數字
數字-數字
數字*數字
數字/數字 (當兩數字都是int時,結果會省略到最接近的整數)
* 2 = int
* 2. = float
餘數(mod)
數字%數字
多次方 ** & pow(,)
a數字**b數字 -->a的b次方
pow(a數字,b數字) -->a的b次方
** = pow
比較
、<、<=、>=、==、!=
優先權
絕對值 abs()
abs(負值)
return 正值
比較兩數值 max() min()
max(數字1,數字2) -->return 較大的數字
min(數字1,數字2) -->return 較小的數字 **字串>數字**
常使用於比較
注意 大寫英文 != 小寫英文
檢測布林值的函數 bool()
bool(式子)
真回傳 true 假回傳 false
邏輯運算符 and、or、not
(1==1) and (1==1) -->左右兩式"皆"為真,回傳true
(1==1) or (1==1) -->左右兩式"其一"為真,回傳true
not(1==1) -->式子中為false則回傳true
python必為false(假)
空陣列
陣列名稱=[]
查看陣列個數 len()
len(陣列名稱)
索引陣列中的目標元素
陣列名稱=[1,2,3,4,5,6]
陣列名稱[1] -->回傳2
陣列名稱[-1] -->回傳6
修改陣列中其中一個元素
陣列名稱=[1,2,3,4,5,6]
陣列名稱[1]='改變後的元素'
比較陣列中元素 最大值 max() 最小值 min()
新增/刪除 陣列中的元素 append del pop remove
陣列名稱.append(加入值)
陣列名稱.insert(加入於第幾個,加入的元素)
del 陣列名稱[第幾個] -->刪除
陣列名稱.pop(第幾個) -->刪除
陣列名稱.remove(元素名稱) -->刪除
陣列相加 extend()
陣列名稱1+陣列名稱2
陣列名稱1.extend(陣列名稱2) -->將陣列2在陣列1之
元素索引 index()
陣列名稱.index(元素名稱)
元素在陣列出現次數 count()
陣列名稱.count(元素名稱)
陣列中的元素進行排列 sort reverse
陣列名稱.sort() -->升冪
陣列名稱.reverse() -->降冪
陣列中的元素進行排列不改變原陣列 sorted()
sorted(陣列名稱)
sorted(陣列名稱, reverse = true)
多個陣列元素
陣列名稱*數量
切割陣列
list = [元素1,元素2,元素3,元素4...]
list[:] -->顯示整個陣列
list[5:14] -->取陣列中第 5~13 個元素(從0開始)
list[:15] -->取陣列中第 0~14 個元素(**注意不包括15)
list[-9:-1] -->取陣列中倒數第 9~2 個元素(**注意不包括最後一個(-1))
list[-9:] -->取陣列中倒數第 9~1 個元素
list[::2] -->只取陣列中第2的倍數個顯示
list[::-1] -->顯示陣列元素倒反
集合內為 無重複相同元素 的陣列 set
第一種宣告
陣列名稱 = [元素1,元素2,...]
集合名稱 = set(陣列名稱)
第二種宣告
集合名稱 = {元素1,元素2,...} -->會自動將重複元素去掉
顯示集合中元素個數 len()
len(集合名稱)
查詢是否存在於集合
元素 in 集合名稱 -->存在回傳true
元素 not im 集合名稱 -->不存在回傳true
新增元素 add()
集合名稱.add(欲加入之元素)
比對兩集合重複元素 intersection()
set1={}
set2={}
set1.intersection(set2)
set2.intersection(set1)
比較兩集合不相同的元素 difference()
set1={}
set2={}
set1.difference(set2)
set2.difference(set1)
兩集合相加(去掉重複的) union()
set1={}
set2={}
set1.union(set2)
set2.union(set1)
刪掉元素 pop()
集合名稱.pop(元素索引)