python運算符
Python語言支持以下類型的運算符:
- 算術運算符
- 比較(關系)運算符
- 賦值運算符
- 邏輯運算符
- 位運算符
- 成員運算符
- 身份運算符
- 運算符優先級
算數運算:
比較運算:
賦值運算:
邏輯運算:
成員運算:
身份運算:
位運算:
示例
1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 4 a = 60 # 60 = 0011 1100 5 b = 13 # 13 = 0000 1101 6 c = 0 7 8 c = a & b; # 12 = 0000 1100 9 print "1 - c 的值為:", c 10 11 c = a | b; # 61 = 0011 1101 12 print "2 - c 的值為:", c 13 14 c = a ^ b; # 49 = 0011 0001 15 print "3 - c 的值為:", c 16 17 c = ~a; # -61 = 1100 0011 18 print "4 - c 的值為:", c 19 20 c = a << 2; # 240 = 1111 0000 21 print "5 - c 的值為:", c 22 23 c = a >> 2; # 15 = 0000 1111 24 print "6 - c 的值為:", c
以上實例輸出結果:
1
2
3
4
5
6
|
1
-
c 的值為:
12
2
-
c 的值為:
61
3
-
c 的值為:
49
4
-
c 的值為:
-
61
5
-
c 的值為:
240
6
-
c 的值為:
15
|
運算符優先級:
python的數據類型
計算機顧名思義就是可以做數學計算的機器,因此,計算機程序理所當然地可以處理各種數值。但是,計算機能處理的遠不止數值,還可以處理文本、圖形、音頻、視頻、網頁等各種各樣的數據,不同的數據,需要定義不同的數據類型。在Python中,能夠直接處理的數據類型有以下幾種:
整數
Python可以處理任意大小的整數,當然包括負整數,在程序中的表示方法和數學上的寫法一模一樣,例如:1,100,-8080,0,等等。
計算機由於使用二進制,所以,有時候用十六進制表示整數比較方便,十六進制用0x前綴和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。
浮點數
浮點數也就是小數,之所以稱為浮點數,是因為按照科學記數法表示時,一個浮點數的小數點位置是可變的,比如,1.23x109和12.3x108是相等的。浮點數可以用數學寫法,如1.23,3.14,-9.01,等等。但是對於很大或很小的浮點數,就必須用科學計數法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。
整數和浮點數在計算機內部存儲的方式是不同的,整數運算永遠是精確的(除法難道也是精確的?是的!),而浮點數運算則可能會有四舍五入的誤差。
布爾值
布爾值和布爾代數的表示完全一致,一個布爾值只有True、False兩種值,要么是True,要么是False,在Python中,可以直接用True、False表示布爾值(請注意大小寫),也可以通過布爾運算計算出來:
1 >>> True 2 True 3 >>> False 4 False 5 >>> 3 > 2 6 True 7 >>> 3 > 5 8 False
and運算是與運算,只有所有都為True,and運算結果才是True:布爾值可以用and、or和not運算。
1 >>> True and True 2 True 3 >>> True and False 4 False 5 >>> False and False 6 False
or運算是或運算,只要其中有一個為True,or運算結果就是True:
1 >>> True or True 2 True 3 >>> True or False 4 True 5 >>> False or False 6 False
布爾值經常用在條件判斷中,比如:
1 if age >= 18: 2 print 'adult' 3 else: 4 print 'teenager'
字符串
a)字符串定義
字符串或串(String)是由數字、字母、下划線組成的一串字符。,字符串是我們最常用到的,我們用 '', "", "''"(三重引號(docstring)除了能定義字符串以外,還可以用作注釋),都可以定義字符串,特性不可修改,例子付下:
1 >>> str1 = "qwewqeqwe" 2 >>> str2 = 'qwewqe' 3 >>> str3 = "'qweqrqasd'"
b)字符串方法
1 name = 'caicaidetong' 2 name.capitalize() 首字母大寫 3 name.casefold() 大寫全部變小寫 4 name.center(50,"-") 輸出 '---------------------caicaidetong----------------------' 5 name.count('cai') 統計 cai出現次數 6 name.encode() 將字符串編碼成bytes格式 7 name.endswith("ong") 判斷字符串是否以ong結尾 8 name.find('A') 查找A,找到返回其索引, 找不到返回-1 9 10 format : 連接字符串方法,格式化字符串 11 >>> msg = "my name is {}, and age is {}" 12 >>> msg.format("caicai",24) 13 'my name is caicai, and age is 22' 14 >>> msg = "my name is {1}, and age is {0}" 15 >>> msg.format("caicai",24) 16 'my name is 24, and age is caicai' 17 >>> msg = "my name is {name}, and age is {age}" 18 >>> msg.format(age=24,name="caicai") 19 'my name is caicai, and age is 24' 20 21 22 23 msg.index('c') 返回a所在字符串的索引 24 msp.split(' ') 分割字符串 25 msg.strip() 刪除頭部和尾部的空格 26 msg.swapcase() 大小寫互換 27 28 >>> b="ddefdsdff_哈哈" 29 >>> b.isidentifier() #檢測一段字符串可否被當作標志符,即是否符合變量命名規則 30 True
1 字符串切片(顧頭不顧尾) 2 str = '0123456789′ 3 print str[0:3] #截取第一位到第三位的字符 4 print str[:] #截取字符串的全部字符 5 print str[6:] #截取第七個字符到結尾 6 print str[:-3] #截取從頭開始到倒數第三個字符之前 7 print str[2] #截取第三個字符 8 print str[-1] #截取倒數第一個字符 9 print str[::-1] #創造一個與原字符串順序相反的字符串 10 print str[-3:-1] #截取倒數第三位與倒數第一位之前的字符 11 print str[-3:] #截取倒數第三位到結尾
列表list
列表是由一序列特定順序排列的元素組成的。可以把字符串,數字,字典等都可以任何東西加入到列表中,日中的元素之間沒有任何關系。列表也是自帶下標的,默認也還是從0開始。
列表是我們以后最常用的數據類型之一,通過列表可以對數據實現最方便的存儲、修改等操作
定義列表
1 list1 = ['a',1,'123','qwe']
通過下標訪問列表中的元素,下標從0開始計數
>>> list1 = ['a',1,'123','qwe'] >>> list1[1] 取第二個值 1 >>> list1[0] 取第一個值 'a' >>> list1[-1] 取最后一個值, 'qwe'
切片操作
1 >>> list1[1:4] 取下標1到4的值,不包含4 2 [1, '123', 'qwe'] 3 >>> list1[1:-1] 取下標1到最后一個值,不包含最后一個。 4 [1, '123'] 5 >>> list1[0:3] 取下標0到3的值,不包含下標3的值 6 ['a', 1, '123'] 7 >>> list1[:3] 取開頭到3的值 8 ['a', 1, '123'] 9 >>> list1[2:] 取2到結尾的值 10 ['123', 'qwe'] 11 >>> list1[0::2] 取0到結尾的值, 2表示間隔一個值,取一個 12 ['a', '123']
列表其他常用操作
1 追加 append 2 3 >>> list1.append("xin") 4 >>> list1 5 ['a', 1, '123', 'qwe', 'xin'] 6 插入insert 7 8 >>> list1.insert(2,'charu') 從下標2后面插入 9 >>> list1 10 ['a', 1, 'charu', '123', 'qwe', 'xin'] 11 刪除 12 13 >>> list1.pop() 刪除最后一個值 14 'xin' 15 >>> list1 16 ['a', 1, 'charu', '123', 'qwe'] 17 >>> list1.remove('qwe') 刪除指定值 18 >>> list1 19 ['a', 1, 'charu', '123']
20 >>> list1.sort() 排序
21 >>> list1
22 ['1', '123', 'a', 'charu']