python func函式用法 python之函式

2021-10-11 15:10:00 字數 3058 閱讀 8265

1.oop 物件導向程式設計,萬物皆物件,以class為主,抽象化

2.pop 面向過程變成,萬事皆過程,def定義過程

3.函式式程式設計,將某種功能封裝起來,用的時候直接呼叫函式名,def定義函式,也叫function/方法/過程/子程式

函式定義:函式是指將一組語句的集合通過乙個名字(函式名)封裝起來,要想執行這個函式,只需要呼叫其函式名即可 --alex

def hello():'這是乙個簡單的函式'print("hello world")

hello()

上面定義了乙個函式hello(),並且呼叫了函式,最終效果是列印出一句hello world。我們可以從上面得到一些函式的基本定義方式。總結如下:

函式的第一行可以存放字串說明函式的功能。

我們再來看看有引數傳遞的函式,python中一切都是物件,所以傳值的引數就可以分為兩種,一種是不可變物件,例如字串,元組,數字等;另一種是可變的物件,例如列表,字典等。

傳不可變物件型別類似於c++的值傳遞,只能將實參的值賦值給形參,而不能將形參的值傳回給實參,形參的變化不會影響到實參的變化。

def func1(a):

a=3return a

b=2func1(b)

print('b=' +str(b) )

結果:[python@master func]$ python31.py

b=2傳可變物件,通過函式可以修改原物件的內容,類似於c++的引用傳遞,操作同一物件。

def func2(a):

b=[1,2,3]

func2(b)

print(b)

結果:[python@master func]$ python32.py

[1, 2, 3, [1, 2, 3]]

有些函式引數會有預設值,即在呼叫函式時,不傳入指定引數,則會使用定義時的預設值。在c++中,函式帶預設值的引數寫法遵循從右向左的順序,以便在函式呼叫時能夠正確傳值,在python中也遵循這個原則。另外,還可以用關鍵字傳指定引數的值。如下例:

def func3(name,age=20):

print("名字",name,end=";")

print("年齡",age)

func3('ysg')

func3(name='zs')

print('''''''''''''''''''''''''''''''''''')

def func3(name,age):

print("名字",name,end=";")

print("年齡",age)

func3('zhang',20)

func3(age=18,name='wang')

結果:[python@master func]$ python33.py

名字 ysg;年齡20名字 zs;年齡20名字 zhang;年齡20名字 wang;年齡18

此外,如果事先不清楚傳入的引數個數,可以在引數前加*表示,在傳入引數時,引數之間用逗號隔開。如下例,求解輸入資料的加法:

def func4(*number):sum=0

for x innumber:sum=sum+x

print(sum)

func4(1,2,3,4)

結果:[python@master func]$ python34.py10

lambda表示式 --建立匿名函式(匿名函式的應用場景:應用於一次性的場景,臨時使用)

lambda表示式是乙個能夠完成特定功能的表示式,與函式的作用一樣,二者的區別主要是lambda表示式**定義簡單,可以在使用的時候定義,主要是完成一次特定的功能;而函式需要在使用前定義,可多次使用。lambda的基本語法如下:

lambda arg1,arg2,...,argn:expression

lambda表示式引數也可以指定預設值,也遵循函式定義時的規則,在呼叫時候也與函式一樣。下面用了乙個簡單的例項:

sum1 = lambda a,b:a+b;

print(sum1(1,2))

sum2= lambda a,b=5:a+b;

print(sum2(1))

結果:[python@master func]$ python35.py3

可以看到,lambda表示式返回的值就是表示式的值,在函式中,我們可以用return來返回函式的計算結果;return不帶引數的話,作用就是退出程式並且返回none。如下例:

def func5(a,b):if((type(a)!=int) | (type(b)!=int)):

return;else:

return (a+b);

print(func5('a',2))

print(func5(1,2))

結果:[python@master func]$ python36.py

none3

匿名函式結合使用內建函式的用法

max,min,sorted,map,reduce,filter的用法

字典的運算:最小值,最大值,排序

salaries=

print(max(salaries))

print(max(salaries.values()))

print(max(salaries,key=lambda name:salaries[name]))

print(min(salaries,key=lambda name:salaries[name]))

print(max(zip(salaries.values(),salaries.keys()))[1])

結果:[python@master func]$ python37.py

yuanhao100000000alex

yuanhao

alex

map>>> names=['alex','wupeiqi','yuanhao','yanglei','egon']>>> res=map(lambda x:x if x == 'egon' else x+'二狗子',names)>>>print(res)

>>>print(list(res))

['alex二狗子', 'wupeiqi二狗子', 'yuanhao二狗子', 'yanglei二狗子', 'egon']>>>

函式的用法 CELL函式高階用法,

資料多時看的眼花繚亂,使用聚光燈功能突出顯示當前的行和列,在檢視資料時非常方便,wps是自帶該功能的。選中要設定的資料區域,在 開始 選項卡下點 條件格式 選擇 新建規則 在彈出的 新建格式規則 視窗中選擇 使用公式確定要設定格式的單元格 在 為符合此公式的值設定格式 下輸入公式 or cell r...

函式的用法 INDEXC函式的用法

1 製作小 箱 如何利用excel製作簡單的小 箱?這裡與大家分享借用index函式來實現。在單元格中輸入公式 index a2 a17,randbetween 2,counta a2 a17 公式說明 counta函式表示統計非空單元格格式 randbetween函式表示隨機生成整數 2 隔行提取...

lseek函式的用法lseek函式的用法

使用 lseek 函式可以改變檔案的 cfo include unistd.h include off t lseek int filedes,off t offset,int whence 返回值 新的偏移量 成功 1 失敗 引數 offset 的含義取決於引數 whence 1.如果 whenc...