Python函式學習筆記

2021-10-11 16:32:25 字數 2164 閱讀 5422

自己學python的時候留下的一些筆記。

#函式的基礎知識

"""一.函式的引數

1.預設引數可以不用賦值,直接呼叫函式,但是要在定義的時候賦初值,

2.收集引數,可以防止不知道需要多少個引數,

例如: def test(*params):

print("引數長度是:",len(params));

print("第二個引數是:",params[1]);

test(1,"qhj",3.14,5,6,7,8)

引數是:8

第二個引數是:qhj

如果要寫成 :

def test(*params,exp):

print("...");

test(1,2,3,4,5,exp = 5);

這樣才不會報錯,或者使用預設引數 :

def test(*params, exp = 0):

二.函式與過程

1.python所有函式都會返回東西,如果沒有返回值,就返回none,

2.python可以返回多個值,那就是使用列表:

def back():

return [1,2,"qhj"]

這樣就會返回乙個列表

當然直接:

def back():

return 1,'qhj',3.14

這樣會返回乙個元組

三.函式與變數

1.python函式裡依然是有區域性變數。

2.python函式裡面可以隨便訪問全域性變數,但是在函式裡面修改全域性變數的時候,python會自動生成乙個和全域性變數名字相同,

但是「不一樣」的區域性變數。

3.如果想要在函式裡面改變全域性變數:

count = 10

def back():

global count #需要使用關鍵字

count = 5

print(count)

四.內嵌函式

1.函式巢狀的乙個例子:

def fun1():

print("this is first function")

def fun2():

print("this is second function")

fun2()

內部函式的作用域,都在外部函式內,比如只能在fun1()裡呼叫fun2()

2.閉包

defx():

def funy():

return x*y

return funy

呼叫的時候:

funx(8)(5)

403.內部函式呼叫外部函式的變數的時候

(1)可以將外部函式的變數變為列表,

(2)可以使用關鍵字:nonlocal x,

五.匿名函式

1.使用lambda函式定義函式:

lambda x : 2*x+1(前面時形參,後面是返回值)

這樣會返回乙個函式,例如:

g = lambda x : 2*x+1

g(5)

輸出11

2.過濾器

filter(function or none,可以迭代的變數),例如:

filter(none, [1,0,false,true])

list(filter(none, [1,0,false,true]))

[1,true](0,false被過濾了)

結合function:

def odd(x)

return x % 2

temp = range(10)

show = filter(odd, temp)

list(show)

[1, 3, 5, 7, 9]

所以過濾器就是:

只返回那些,經過乙個函式後,返回值是1的引數。(最後返回乙個序列)

filter(lambda x : x % 2,range(10))

3.map()

map(lambda x : x *2,range(10))

將會得到乙個序列,也就是0,2,4,6,8......

六.遞迴

1.設定遞迴的深度:

import sys

sys.setrecursionlimit(1000)

"""

python函式學習筆記

1.組合排列函式 要呼叫的包 itertools 用法 import itertools 1 product 笛卡爾積,有放回抽樣排列 用法 itertools.product abcd repeat 2 2 permutations 排列,不放回抽樣排列 用法 itertools.permutat...

部落格筆記 python函式學習

之前也學習過一段時間的python基礎知識,今天由於專案無法進行測試,閒來無事所以想重新溫故下。我天生對 不是很感冒才做的軟體測試,但是做久了感覺軟體行業是離不開 的,索性還是抽空涉獵點 相關的知識吧,畢竟一天在幹這行就要花心思去學習這行。今天簡單把python溫故的重點和以前覺得的難點在此記錄下 ...

python函式引數學習筆記

1 引數的傳遞是通過自動將物件賦值給本地變數名來實現的。函式引數 呼叫者傳送的 可能的 共享物件的引用值 所有的引數實際上都是通過指標進行傳遞的。作為引數被傳遞的物件從裡不自動拷貝。2 在函式內部的引數名的賦值不會影響呼叫者。在函式執行時,在函式頭部的引數名是乙個新的 本地變了,這個變數名時再函式的...