Python資料型別、運算子、語句、迴圈
阿新 • • 發佈:2019-04-16
1.資料型別
- Numbers(int、long、float、complex)
- String
- Boolean(True、False)
- List
- Tuple
- Dict
- Set
2.資料型別轉換
- int(float, string, bytes)
- float(int, string, bytes)
- complex(int, float, str)
- str(int, float, complex, bytes, list, tuple, dict, set, 其他型別)
- bytes(string)
- list(str, bytes, tuple, dict, set)
- tuple(str, bytes, list, dict, set)
- dict(str, list, tuple, set)
- set(str, bytes, list, tuple, dict)
3.運算子
- +、-、*、/、**/<、>、!=、//、%、&、|、^、~、>>、<<、<=、>=、==、not、and、or
#兩個數字相加 sumNumber=1+2 print(sumNumber) #輸出結果:3 #兩個字串相加 sumString="Nice work" print(sumString) #輸出結果:Nice work #兩個數字相減 subNumber=2-1 print(subNumber) #輸出結果:1 #兩個數字相乘或者字串重複 multiplicationNumber=2*3 print(multiplicationNumber) #輸出結果:6 multiplicationString="hello"*2 print(multiplicationString) #輸出結果:hellohello #/---關於*號重複字串之前的部落格已經介紹過了---/ #兩個數相除 divisionNumber=9/2 print(divisionNumber) #輸出結果:4 divisionNumber=9.0/2 print(divisionNumber) #輸出結果:4.5 divisionNumber=9/2.0 print(divisionNumber) #輸出結果:4.5 #/---除數或被除數中有任意一個是小數的話,商也會保留小數,反之取整---/ #求冪運算 powerNumber=2**3 #相當於2的3次冪,就是2*2*2 關於冪運算大家應該在數學裡都很熟悉了 print powerNumber #輸出結果:8 #小於符號,返回值是bool值 lessThan=1<2 print(lessThan) #輸出結果:True lessThan=1<1 print(lessThan) #輸出結果:False #大於符號,返回值是bool值 moreThan=2>1 print(moreThan) #輸出結果:True moreThan=2>2 print(moreThan) #輸出結果:False #不等於符號 返回值是Bool值 notEqual=1!=2 print(notEqual) #輸出結果:True notEqual=1!=1 print(notEqual) #輸出結果:False #除法運算// 返回商的整數部分,拋棄餘數 divisorNumber=10//3 print(divisorNumber) #輸出結果:3 #除法運算% 返回商的餘數部分,拋棄商 divisorNumber=10%3 print(divisorNumber) #輸出結果:1 divisorNumber=10%1 print(divisorNumber) #輸出結果:0 /--沒有餘數則返回0--/ divisorNumberx=10//3 #divisorNumberx是商的整數部分 divisorNumbery=10%3 #divisorNumbery是餘數 divisorNumberz=3*divisorNumberx+divisorNumbery #divisorNumberz是除數乘以商的整數部分加上餘數,得到的divisorNumberz的值就是被除數 print(divisorNumberz) #輸出結果:10 #按位與運算&, 按位與是指一個數字轉化為二進位制,然後這些二進位制的數按位來進行與運算 operationNumber=7&18 print operationNumber #輸出結果:2 ''' 這個有點繞,稍微多說下,如果對二進位制不是太熟的朋友,可以開啟電腦自帶的計算器,按住win+q,輸入"calculator"。 然後在開啟的計算器設定成程式設計師模式, 就是View(檢視)->>programmer(程式設計師). 然後我們將7轉為二進位制:111,自動補全8位:00000111,然後將18轉為二進位制補全8位後得到:00010010 最後將 00000111 跟 00010010 按位進行與運算, /- 對與運算不熟的朋友可以看看百度百科的介紹,還是很詳細的。 http://baike.baidu.com/link?url=lfGJREBvGCY5j7VdF2OO9n2mtIbSyNUD7lZyyY74QIetguL5lXIQUxY38Yr-p4z4WdUvHUKGjw9CDfagiun2Ea -/ 得到結果:00000010 我們都知道10二進位制→十進位制=2,所以7跟18的按位與的結果是二進位制10(十進位制2) ''' #按位或運算|, 按位或是指一個數字轉化為二進位制,然後這些二進位制的數按位來進行或運算 operationNumber=7|18 print operationNumber #輸出結果:23 #結題思路和按位與運算的一樣,可以參考按位與運算 #按位異或 operationNumber=7^18 print operationNumber #輸出結果:21 #結題思路和按位與運算的一樣,可以參考按位與運算 #按位翻轉 ~ 按位翻轉公式: ~x= - (x+1) operationNumber=~12 #~12=- (12+1) = -13 print operationNumber #輸出結果:-13 #結題思路和按位與運算的一樣,可以參考按位與運算 #左移<< ''' 比如18左移就是將他的二進位制形式00100100左移,得到00100100(36)。 左移規律:左移一個單位相當於乘2,左移兩個單位相當於乘以4,左移三個單位相當於乘以8, 即: 左移n個單位相當於乘以2的n次冪 ''' operationNumber=12<<1 print operationNumber #輸出結果:24 operationNumber=3<<3 print operationNumber #輸出結果:24 #右移>> ''' 理解左移以後,右移就很好理解了。 右移是左移的逆運算,將對應的二進位制數向右移動。 右移規律:右移一個單位相當於除以2,右移兩個單位相當於除以4,右移三個單位相當於除以8, 即: 右移n個單位相當於除以2的n次冪 ''' operationNumber=12>>1 print operationNumber #輸出結果:6 operationNumber=12>>2 print operationNumber #輸出結果:3 #小於等於<= 比較運算,小於或等於返回一個bool值 operationNumber=3<=3 print operationNumber #輸出結果:True operationNumber=3<=2 print operationNumber #輸出結果:False #大於等於>= 比較運算,大於或等於返回一個bool值 operationNumber=2>=3 print operationNumber #輸出結果:False operationNumber=3>=2 print operationNumber #輸出結果:True #比較兩個物件是否相等== operationNumber=3==2 print operationNumber #輸出結果:False operationString="hi"=="hi" print operationString #輸出結果:True #邏輯非 not operationx=True operationy=not operationx print operationy #輸出結果:False operationz=False print not operationz #輸出結果:True #邏輯與 and ''' True and True = True True and False = False False and True = False False and False = False ''' print True and True #輸出結果:True #邏輯或 or ''' True or True = True True or False = True False or True = True False or False = False ''' print False or False #輸出結果:False
4. 運算子優先順序
由高到低排序
- ** 指數
- ~ 、+、 - ,取反, 正負號
-
- 、/、 %、 // 乘,除,取模和取整除
- +、- 加號減號
- 、>>、 << 右移,左移運算子
- & 位與
- ^ | 位運算子
- == 、!= 、< 、<= 、>、 >= 比較運算子
- = 、-= 、+= 、%= 、/= 、//=、 = 、*= 賦值運算子
- is、 is not 標識運算子
- in、not in 成員運算子
- and、or、not 邏輯運算子
4.語句
- if、if...else...、if...elif...else...
- switch...case
- while、while...do、do...while...
- for
5.字串操作
- find、index、count、replace、split
- capitalize、title、startsWith、endsWith、lstrip
- lower、upper、ljust、rjust、center
- rstrip、strip、rfind、rindex、partition
- rpartition、splitlines、isalpha、isdigit、isalnum
- isspace、join
6.列表的常見操作
- append、extend、insert
- in、not in、index、count
- del、pop、remove
7.字典的操作
- len、keys、values、items、has_key
8.方法
# 計算1~num的累積和
def calculateNum(num):
result = 0
i = 1
while i<=num:
result = result + i
i+=1
return result
result = calculateNum(100)
print('1~100的累積和為: