python 之 初識函式

2022-03-04 13:38:07 字數 3554 閱讀 1209

有很多大神寫了介紹函式是什麼的好博文,我自問無法超越,但是引用還是可以的,真的很好,適合反覆閱讀

我在這裡獲得過很多的幫助,所以膜拜他們

路飛的美女講師部落格

銀角大王部落格

感覺自己沒有寫下去的必要了…..

return的作用:

1.函式執行完畢後,可以給呼叫者返回資料

2.一旦遇到return,結束當前函式的執行

不寫return是沒有返回值的,或者,return後面沒有內容,也是返回none。

return返回乙個值的情況,只需在return後面寫上要返回的內容即可。

可以返回任意多個、任意資料型別的值

返回的多個值會被組織成元組被返回,也可以用多個值來接收

預設引數

為什麼要有預設引數:將變化最小的值設定成預設引數,在進行傳參時,如果引數不變,就不用傳入

節省了輸入工作量,不用每乙個都輸一遍一樣的值

預設引數陷進:預設引數一定要指向不可變型別

形參

形式引數,沒有具體的值,只在呼叫的時候,才有確定的值

實參

實際引數,有實際的值

關鍵引數

必須放在位置引數後面

兩種傳參方式(按位置傳參,按關鍵字傳參)

位置引數必須傳值

非固定引數

*args:使用方法,打包成列表,並加            *。注意:會截胡所有位置引數

**kwargs:接受未定義的關鍵字引數,   **{}

總結:

1.定義:def

2.引數:圓括號用來接收引數。若傳入多個引數,引數之間用逗號分割。

引數可以定義多個,也可以不定義。

引數有很多種,如果涉及到多種引數的定義,應始終遵循位置引數、

*args、預設引數、**
kwargs順序定義。

如上述定義過程中某引數型別預設,其他引數依舊遵循上述排序

3.注釋:函式的第一行語句應該新增注釋。

4.函式體:函式內容以冒號起始,並且縮排。

5.返回值:return

[表示式] 結束函式。不帶表示式的return相當於返回 none

def 函式名(引數1,引數2,*args,預設引數,**kwargs):

"""注釋:函式功能和引數說明

"""函式體

……return 返回值

呼叫函式的規則

1.函式名()

函式名後面+圓括號就是函式的呼叫。

2.引數:

圓括號用來接收引數。

若傳入多個引數:

應按先位置傳值,再按關鍵字傳值

具體的傳入順序應按照函式定義的引數情況而定

3.返回值

如果函式有返回值,還應該定義「變數」接收返回值

如果返回值有多個,也可以用多個變數來接收,變數數應和返回值數目一致

無返回值的情況:

函式名()

有返回值的情況:

變數

=函式名() 多個變數接收多返回值: 變數1,變數2,... = 函式名()

函式變數分為  區域性變數  和  全域性變數

定義在函式外部的一級變數,叫做全域性變數

區域性變數只能在區域性生效(即在函式內部定義的變數,只能在函式內部生效)

在函式內部可以引用全域性變數

在函式中使用global 修改全域性變數

name = '

black girl

'def

change_name():

global

name

name = '

黑姑娘'

print('

在', name, '裡面'

, id(name))

change_name()

print(name, id(name))

在函式內部可以修改全域性列表等可變集合,只能是可變集合

name = '

black girl

'l = [1, 2, 3]

defchange_name():

global

name

name = '

黑姑娘'

l[1] = 5

del l[2]

print('

在', name, '裡面'

, id(name))

change_name()

print

(name, id(name))

print(l)

定義:函式內部,再次定義了乙個函式,無法直接在全域性被呼叫

只有在外層函式中被呼叫了,才會執行

age = 19

deffunc1():

global

age

deffunc2():

print

(age)

func2()

age = 72func1()

print(age)

想一下,執行結果是什麼?

定義:作用域,就是變數的作用範圍,函式中的變數的作用域就是函式內部

定義完成後,作用域就生成,作用域鏈向上查詢

無論在任何地方呼叫,都會回到定義它的作用域內

全域性作用域:包含內建命名空間、全域性命名空間,在整個檔案的任意位置都能被引用、全域性有效

區域性作用域:區域性命名空間,只能在區域性範圍生效

定義:匿名函式,是指,定義乙個函式,不用函式名,以lambda 開頭

只能定義簡單的函式,最複雜的就是三元函式

它的主要作用是和其它函式配合使用,如:map(生成乙個map物件,通過函式對引數內的每個值進行同樣的操作)

list1 = [1, 2, 3]

list2 = list(map(lambda x: x*6, list1))

print(list2)

定義:把乙個函式以引數的形式,傳遞給另乙個函式,就是高階函式

滿足以下任意乙個條件,即是高階函式

接受乙個或多個函式作為輸入

return另外乙個函式

age = 19

deffunc():

print

(age)

deffunc1(func):

global

age func()

age = 72func1(func)

print(age)

def

fun(x, y):

return x+y

js之初識函式

1.關於函式 函式屬於物件,卻是物件裡的一等公民,有著至高無上的地位。跟普通物件一樣,定義屬性和方法,擁有原型物件prototype。還可以進行呼叫並執行自身的 塊。function fn fn.attr value fn.method function fn.prototype 2.函式的作用域 ...

python 基礎之初識

python 它來自於英國超現實主義喜劇團體,而不是來自蛇。python安裝 目前大多數使用的 3.0版本,與 2.0相比它語法有些許更改,比如 print 函式等。其次近些年來大家都在向 3.03.0 版本吧。python程式設計基礎 1.整型 浮點型 字串資料型別 整型 2 1 0 1 2 浮點...

python基礎之初識

一。計算機是什麼 基本組成 主機板 cpu 記憶體 cpu 主頻,核數 16 記憶體 大小 8g,16g,32g 型號 ddr3,ddr4,ddr5,主頻 海盜船,玩家國度 顯示卡 視訊記憶體 型號 n gtx 1080 ti,a 位寬 240顯示卡 512mb 210 105 硬碟 西數,希捷,日...