標籤:int 多行 fat 檔案 傳回值 b2c 個數 error: exe
按位元運算
按位 & | ^ ~
>> 3&3
3
>> 3&1
1
>> 2|1
3
異或
^
相同為0,不用為1
Is
判斷兩個對象是否相等,兩個對象的id()值相等才相等
Python緩衝 -5~256的較小值,指向其的變數對象id值相等
operator
#coding=utf-8import operatorprint (operator.add(1,1))print (operator.sub(2,1))print (operator.mul(2,3))print (operator.truediv(6,2))print (operator.contains("ab","a"))print (operator.pow(2,3))print (operator.ge(1,1))print (operator.gt(2,1))print (operator.le(1,2))print (operator.eq(1,1))
python 3.4.3 的版本中已經沒有cmp函數,被operator模組代替,在互動模式下使用時,需要匯入模組。
eval()
運算式求值,只能執行單行運算式,有傳回值
>> s = "1+2+3"
>> eval(s)
6
>> su = eval(s)
>> su
6
>> eval("1+2")
3
exec()
exec函數和eval函數類似,也是執行動態語句,只不過eval函數只用於執行運算式求值,而exec函數主要用於執行語句塊,可以執行多行語句,沒有傳回值;
>> e =‘print("hello")‘
>> exec(e)
Hello
>> exec("a = 2+3")
>> a
5
>> s = """
... for i in list(range(10)):
... print(i+1)
... """
>> exec(s)
1
2
3
4
5
6
7
8
9
10
標準輸出
sys.stdout.write()
>> import sys
>> sys.stdout.write("d")
d1
>> sys.stdout.write("dd")
dd2
標準錯誤輸出
>> sys.stderr.write("Error")
5
Error>>>
標準輸入
>> a = sys.stdin.read()
353
^Z
>> a
‘353\n‘
print(‘hello:?‘,end=‘‘)hi=sys.stdin.readline()[:-1]
列印內容儲存到檔案
import sysprint(‘Fatal error: invali input!‘,file=open("e:\\log.out","w"))print(‘Fatal error: invali input! ‘,file=sys.stderr)#列印錯誤
math.pi
>> import math
>> math.pi
3.141592653589793
練習題:
1、把字串中的所有數字去掉。
#coding=utf-8s = "a1b2c3b4d5dddddd"letters_list = []for v in s: if v not in "0123456789": letters_list.append(v)print("".join(letters_list))print("".join([v for v in s if v.isalpha()]))print("".join(filter(lambda x:x not in "0123456789",s)))print("".join(filter(lambda x:x.isalpha(),s)))
2、三個數排序
#coding=utf-8
def sort_2(a,b,c): if a > b: a,b = b,a if a > c: a,c = c,a if b > c: b,c =c,b return a,b,cprint(sort_2(3,1,9))
3、求一個列表中的最大值
def max(a): #找到列表的最大值 max_num = a[0] for i in a: if i > max_num: max_num =ireturn max_numa = [1,2,3,4,5]print(max(a))
python學習(4)