python函式學習與變數作用域

2021-08-08 05:58:39 字數 2399 閱讀 6122

學習函式
規則:
任何入引數和自變數必須放在圓括號裡,圓括號之間可以用於定義引數

return [表示式]

結束函式,選擇性地返回乙個值給呼叫方。不帶表示式的return相當於返回 none

語法:
def  函式名稱(引數):
函式體
呼叫:
函式名稱()
示例:

defhello():

print

("hello world!"

)hello

()hello

world

!

複雜點的帶參函式:
# 計算面積函式

defarea

(width

,height

):return

width

*height

defprint_welcome

(name

):print

("welcome"

,name

)print_welcome

("runoob")w

=4h =

5print

("width =",w

," height =",h

," area ="

,area(w

,h))

輸出結果:
welcome

runoob

width =4

height =5

area

=20

引數傳遞

可改變的和不可改變的物件

在python中 string,int,

tuples和numbers是不可更改的物件,而 list,dict 等則是可以修改的物件。

python 中一切都是物件,嚴格意義我們不能說值傳遞還是引用傳遞,我們應該說傳不可變物件和傳可變

物件

引數

必須引數 

必需引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣。

呼叫乙個函式,你必須傳入乙個引數,不然會出現語法錯誤

關鍵引數

關鍵字引數和函式呼叫關係緊密,函式呼叫使用關鍵字引數來確定傳入的引數值。

使用關鍵字引數允許函式呼叫時引數的順序與宣告時不一致,因為 python 直譯器能夠用引數名匹配引數值。

預設引數

呼叫函式時,如果沒有傳遞引數,則會使用預設引數。

不定長引數

你可能需要乙個函式能處理比當初宣告時更多的引數。這些引數叫做不定長引數,和上述2種引數不同,宣告時不會命名

語法

deffunctionname

([formal_args,]*

var_args_tuple

):"函式_文件字串"

function_suite

return

[expression

]

加了星號(*)的變數名會存放所有未命名的變數引數。如果在函式呼叫時沒有指定引數,它就是乙個空元組。我們也可以不向函式傳遞未命名的變數。如下例項:

#!/usr/bin/python3

# 可寫函式說明

defprintinfo

(arg1,*

vartuple

):"列印任何傳入的引數"

print

("輸出: "

)print

(arg1

)for

varin

vartuple

:print

(var

)return

;# 呼叫printinfo 函式

printinfo(10

);printinfo(70

,60,50

);

以上例項輸出結果:

輸出:

10輸出:

7060

50

Python函式學習 作用域與巢狀函式

name alex li 全域性變數 def change name name print before change name 函式內部變數從內向外找,如果內部不存在,會找上一層 輸出 before change alex li name 金角大王,乙個有tesla的男人 區域性變數 print ...

python變數 概念與作用

變數 簡單來說 其實就是計算機記憶體中的一塊儲存空間 用來儲存cpu需要使用的資料 而這個儲存空間需要乙個名字 這個名字的統稱就叫變數 例如 a 10 a 在這裡就是乙個變數的名字.而 a 10 就是給 a 這個變數賦值 注意 賦值和命名是不一樣的 在你敲出 a 這個字母的時候 其實就已經給其命名了...

python 函式學習

今兒再網上看了下別人總結的python 函式,功能挺強大的,c有的功能都有,下面就記些它的功能點 1 定義,格式跟c不一樣,概念是一樣的。def 函式名 引數列表 函式語句 return 返回值 2 函式可以命別名,很方便啊,c語言我記憶中只有指標可以。def sum list result 0 f...