日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python那些事儿编程技巧_python一些编程技巧(持续更新)

發布時間:2024/7/5 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python那些事儿编程技巧_python一些编程技巧(持续更新) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

def xxx(x1,x2,n=3):

#一般函數中會傳遞數一個或數個可變參數以及一個默認位置參數

#可變參數 *karg

def xxx(*xx):

s=0

for i in xx:

s+=i

return s

#可以在函數中輸入一個或多個變量,系統默認將多個變量組成tuple來處理

num=[1,2,3,4]

print(xxx(*num)) #如果參數就是個列表,那么在函數之中,可以對列表名加個可變參數符號*,將列表變成可變參數傳遞

#關鍵詞參數,可以不受限制的輸入,以dict的形式傳入

def xxx(name='bob',age=24,**kw):

print({'NAME':name,'AGE':age,'others':kw})

print(xxx('bob',24,city='nanjing',nation='china'))

print(xxx('bob',24,city='nanjing',nation='china',waihao='stupid'))

#和上面可變參數一樣,如果輸入參數本身就是一個字典,則可以將字典名加上**,將字典中的元素傳遞函數當中

d={'city':'nanjing','nation':'china','birth':1994}

print(xxx(**d))

#命名關鍵詞參數,限制關鍵詞的輸入

#例如只想要city和nation的信息,在關鍵詞之前加上* 如果函數參數中有可變參數。則不需要加*

def xxx(name='bob',age=24,*,city,nation): def xxx(name='bob',age=24,*args,city,nation)

print({'NAME': name, 'AGE': age, 'city':city,'nation':nation})

xxx(city='nanjing',nation='china')

#一個完整的函數中包括必選參數、默認參數、可變參數、命名關鍵字參數和關鍵字參數,順序不能打亂

def xxx(name,age=24,*args,city,**kw):

def xxx(name,age=24,*,city,**kw):

#遞歸函數 (一個函數在內部調用函數自身)

#比如階乘函數:

def xxx(n):

if n==1:return 1

return n*xxx(n-1)

#函數式編程 (高階函數) 將函數本身作為變量賦予另一個函數

#map(),reduce(),filter(),sorted()

def F(x,y,f): #這里f本身就是一個函數

return f(x)+f(y)

print(F(1,-4,abs))

#map/reduce的用法 (高階函數)

'''map()函數接收兩個參數,一個是函數,一個是Iterable,map將傳入的函數依次作用到序列的每個元素,并把結果作為新的Iterator返回。'''

def fun(x):

return x*x

print(list(map(str,[3,4,5,6,7]))) #將列表所有元素轉換為字符串

'''reduce把一個函數作用在一個序列[x1, x2, x3, ...]上,這個函數必須接收兩個參數,reduce把結果繼續和序列的下一個元素做累積計算,其效果就是:reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)'''

from functools import reduce # 階乘/累乘

def f(x,y):

return x*y

print(reduce(f,[1,2,3,4,5,6]))

#過濾函數filter() filter(fun,list),篩選掉那些不滿足函數的值,用法和map相似

#返回0-1000內所有的回數(左到右或右到左一樣)

def huishu(x):

s=str(x)

return s[::]==s[::-1]

print(list(filter(huishu,range(10,1001))))

#sorted()排序函數 對象時iterable對象

#sorted(l,key=function,reverse=False) key實現自定義排序,reverse=True實現倒序

L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]

L=np.array(L)

#對列表名字實現排序

def byname(l):

return l[0]

print(sorted(L,key=byname)

print(sorted(L,key=lambda l:l[0])) 利用匿名函數

#對成績高低實現排序

def byscore(s):

return s[1]

print(sorted(L,key=byscore,reverse=True))

#函數中return函數 ‘閉包’

#還未更新

#匿名函數 lambda

def is_odd(n):

return n%2==1

print(list(filter(is_odd,range(1,20))))

print(list(filter(lambda x:x%2==1,range(1,20))))

#裝飾器 decorator

#還未更新

#偏函數 partial function 將函數的 關鍵詞參數 修改為默認值

#把一個函數的某些參數固定住并賦予一個新的函數,使新函數在使用起來更簡單

from functools import partial

max2=partial(max,10)

print(max2(1,2,3,4,5)) 等價于 print(max2(10,2,3,4,5))

int2=partial(int,base=6) #int2改為六進制

print(int2('120'))

總結

以上是生活随笔為你收集整理的python那些事儿编程技巧_python一些编程技巧(持续更新)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。