1. 程式人生 > >Python資料型別、運算子、語句、迴圈

Python資料型別、運算子、語句、迴圈

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的累積和為: