一 內置函數python
1 輸出 print函數
print(1,2,3,4,5,sep=';',end='| ') ##sep是以;分開每一個數字,end是以|結尾的spa
2 查看內置屬性設計
##dir查看某對象的屬性及其方法code
# import osorm
# print(dir(os))對象
3 數學相關運算的blog
3.1 abs 計算絕對值排序
# print(abs(-9))ip
3.2 divmod 能夠返回商和餘數
# print(divmod(9,4))
3.3 round 小數精確
# print(round(3.1415926,3)) #逗號後面能夠指定保留幾位小數,而且會四捨五入
3.4 pow 冪運算
# print(pow(2,3,5)) #(2**3)%3 就是2的三次方,對5取餘
3.5 sum 求和
# print(sum ([1,2,3,4]))
# print(sum(range(1,10)))
#print(sum([1,2,3,4,5],10)) ##1到5求完和以後,而後再加10,不加默認是0
3.6 max求最大值(重要)
print(max(1,2,3,6))
print(max(range(1,10)))
3.7min 求最小值(重要)
1 # print(min(-1,0,3,4)) 2 3 # print(min(-1,0,3,4,key=abs)) ##算完絕對值以後,在返回最小值 4 5 # def func(num): 6 7 # return num%2 8 9 # print(min(-2,3,-4,key=func))
3.8 反序
1 ##reverse ##直接返回結果 2 3 # ret = [1,2,3,4,5] 4 5 # ret.reverse() 6 7 # print(ret) 8 9 10 #reversed ##返回一個可迭代對象 11 12 # ret1 = reversed(ret) 13 14 # ret2 = reversed((1,2,3,4,5)) 15 16 # print(ret) 17 18 # print(list(ret1))
4 字符串相關的
1 # eval和exec 2 3 # eval('print(123)') 4 5 # exec('print(123)') 6 7 # print(eval('1+2-3*20/(2+3)'))##有返回值 8 9 # print(exec('1+2-3*20/(2+3)')) ##執行了但沒有返回值
5 format格式化顯示
#字符串能夠提供的參數,指定對齊方式,<是左對齊, >是右對齊,^是居中對齊
# print(format('test', '<20'))
# # print(format('test', '>20'))
# print(format('test', '^20'))
6##ord 字符串按照unicode轉數字
# print(ord('a'))
7#chr數字按照unicode轉字符
# print(chr(97))
8##repr用於%r格式化輸出
# print(repr(1))
# print(repr('1'))
9 enumerate 枚舉
1 # ll=['a','b','c'] 2 3 # for i in ll: 4 5 # print(ll.index(i),i) 6 7 第二種寫法 8 9 # for i,v in enumerate(ll): 10 11 # print(i,v)
10 zip返回一個迭代器,拉鍊就是按順序讓其一一對應
ret = zip([1, 2, 3, 4, 5], ('a', 'b', 'c', 'd'), (4, 5,0)) # 拉鍊方法
print(ret)
for i in ret:
print(i)
11filter 重要 用於過濾,好比大於幾的數字,或者偶數,奇數之類的
lst = [1, 4, 6, 7, 9, 12, 17]
def func(num):
if num % 2 == 0: return True
filter(func, lst) ##分別把lst裏面的值傳給num,而後取出除2等於0的數字
for i in filter(func, lst):
print(i)
##第二種方法
g = (i for i in lst if i%2 == 0)
for i in g:
print(i)
12map 求1到10的平方 重要 主要用於計算
def func(num):
return num**2
for i in map(func,range(10)):
print(i)
13 排序
##sort 排序(這個只是個方法,不是函數)
1 # l = [1,-4,-2,3,-5,6,5] 2 3 # l.sort(key=abs) ##按照絕對值來排序的 4 5 # print(l)
打印結果是
[1, -2, 3, -4, -5, 5, 6]
##sorted排序(重要)
1 # l = [1,-4,-2,3,-5,6,5] 2 3 # new_l = sorted(l,key=abs,reverse=True) ##按照絕對值,而且反序來排序的 4 5 # print(new_l)
打印結果是
[6, -5, 5, -4, 3, -2, 1]
二 匿名函數(lambda)
匿名函數:爲了解決那些功能很簡單的需求而設計的一句話函數
1 #普通函數寫法: 2 def calc(n): 3 return n**n 4 print(calc(2)) 5 6 7 #換成匿名函數 8 calc = lambda n:n**n 9 print(calc(2)) 10 11 打印結果都是4
匿名函數格式
函數名 = lambda 參數 :返回值 #參數能夠有多個,用逗號隔開 #匿名函數無論邏輯多複雜,只能寫一行,且邏輯執行結束後的內容就是返回值 #返回值和正常的函數同樣能夠是任意數據類型
2.1例子
1 ##第一種普通函數寫法: 2 # def func(num): 3 # return num ** 2 4 # 5 # for i in map(func,range(10)):print(i) 6 7 8 ##第二種寫法:匿名函數 9 10 # for i in map(lambda num : num ** 2 ,range(10)):print i 11 12 13 ##打印結果是0-9,9個數字的平方
#例子
現有兩元組(('a'),('b')),(('c'),('d')),請使用python中匿名函數生成列表[{'a':'c'},{'b':'d'}]
第一種寫法:普通函數 # def func(t): # return {t[0]:t[1]} # ret = map(func,zip((('a'),('b')),(('c'),('d')))) # print(list(ret)) ##第二種寫法:匿名函數 # ret = map(lambda t:{t[0]:t[1]},zip((('a'),('b')),(('c'),('d')))) # print(list(ret))