python的返回函式的作用 函式的返回值和作用域

2021-10-12 10:58:01 字數 1091 閱讀 2921

1、函式返回值

def func(name,age,country):

user_info = {}

user_info['name'] = name

user_info['age'] = age

user_info['country'] = country

return user_info

my_user_info = func('xu', 10, 'cn')

注意:1、函式在遇到return語句時,就會停止執行函式,並將值返回,即return語句代表函式執行結束

2、如果函式裡沒有return語句,就會預設返回none

如果想返回多個值: 則用return user_info, country  返回多個值時,其返回的值是以元組的形式返回。

2、 作用域

name = "xu cool"

def func():

name = "dashuaibi"

print("裡面的name:", name)

func()

print("外面的name:", name)

列印結果:裡面的name: dashuaibi

外面的name: xu cool

為什麼在函式裡面改了name,在外面輸出name的時候,並沒有發生改變呢?

1、在函式中定義的變數稱為區域性變數,在程式的一開始定義的變數稱為全域性變數。

2、全域性變數作用域(即有效範圍)是整個程式,區域性變數作用域是定義該變數的函式。

3、變數的查詢順序是區域性變數》全域性變數

4、當全域性變數與區域性變數同名時,在定義區域性變數的函式內,區域性變數起作用;在其它地方全域性變數起作用。

5、在函式裡是不能直接修改全域性變數的

要想在函式內部修改全域性變數,則就需要在函式內部宣告乙個全域性變數:global name = "xu dashuaige"

3、傳遞列表、字典時發生的現象

在函式內部修改全域性變數的字典和列表,外部的字典和列表也會發生相應的改變。

因為程式只是把列表、和字典的記憶體位址傳給了函式,相當於是值傳遞了乙個容器,並沒有將容器裡的東西傳給函式。所以可以更改容器裡的東西。

希望與廣大網友互動??

python返回函式 python中返回函式

python的函式不但可以返回int str list dict等資料型別,還可以返回函式!例如,定義乙個函式 f 我們讓它返回乙個函式 g,可以這樣寫 deff print call f 定義函式g defg print call g 返回函式g return g 仔細觀察上面的函式定義,我們在函...

python返回 python 返回函式

返回函式 1.高階函式除了能夠接收函式作為引數外,還能把函式作為結果返回 2.例如乙個求和函式,通常情況下的定義以及呼叫 def sum nums x 0for n in nums x x n return x sum 1,2,3,4,5 不返回求和的結果,而是返回求和的函式 def sum 1 n...

python 返回函式

返回函式 python的函式不但可以返回int str list dict等資料型別,還可以返回函式!例如,定義乙個函式 f 我們讓它返回乙個函式 g,可以這樣寫 deff print call f 定義函式g defg print call g 返回函式g return g仔細觀察上面的函式定義,...