1.函式引數
函式定義時,自己定義的引數,稱為形參
函式呼叫時,其引數為實參,即實際要傳遞的引數舉例:
def
pname
(username)
:#username 形參
print
(%username)
pname(
'python'
)#傳遞了乙個實參
*args
是接受所有未命名的引數(關鍵字),是乙個元組型別
**agrs2
是接受所有命名的引數(帶關鍵字的),是字典資料型別
def
getinfo
(name,address,
*args,
**agrs2)
:print(%
(name,address)
)print
(args)
print
(agrs2)
getinfo(
'tencent'
,'shenzhen'
,'a'
,'b'
,'c'
,'d'
,age =
20)
結果:('a', 'b', 'c', 'd')
實參加上關鍵字 。關鍵字對應我們的形參
def
getinfo
(name,address)
:print(%
(name,address))
getinfo(name=
'tencent'
,address=
'香港'
)
結果:
函式定義的時候給形參賦預設值,則在函式呼叫的時候可以不傳遞值,如果有傳遞值會覆蓋預設值
def
getinfo
(name,address =
'香港'):
#預設值引數
print(%
(name,address))
getinfo(
'tencent'
)#有預設值的形參,可以不用傳遞
getinfo(
'tencent'
,'深圳'
)#傳遞引數的話,會覆蓋原來的預設值
結果如下:
2.函式呼叫
is判斷兩個物件是否為同乙個位址,返回true,否則false
數值型別(int和float)、字串str、元組tuple宣告不可變型別時會在已經宣告的物件中尋找該物件是否已經被宣告過,若該物件被宣告過則,變數會直接指向該物件不會再申請新的記憶體空間
列表list、字典dict、集合set宣告同樣的內容python會重新發申請空間對其進行儲存
不可變物件的傳遞
def fun(args):
args = 'hello' #重新賦值
print(args) #輸出hello
str1 = 'baby' #宣告乙個字串的變數 不可變資料型別
fun(str1) #將該字串傳遞到函式中
print(str1) #還是baby 並沒有被改變
結果:
hello
baby
可變物件的傳遞
def
fun(args)
: args[0]
='hello'
#重新賦值
print
(args)
#輸出
list01 =
['baby'
,'come on'
]#宣告乙個字串的變數 不可變資料型別
fun(list01)
#將該字串傳遞到函式中
sign(
)print
(list01)
#傳遞的是物件本身,函式裡面被修改了值,原物件也會跟著修改
結果如下:
['hello', 'come on']
['hello', 'come on']
3.變數宣告在函式內部的變數是區域性變數
def
test1()
: a =
1print
(a)print(id
(a))
deftest2()
: a =
2print
(a)#無法使用test1函式中定義的區域性變數
print(id
(a))
呼叫如下:
test1()
test2()
結果為:
1
8791479866400
28791479866432
如果在函式之外直接tips:原因是區域性變數不能在函式外部訪問print(a)
則報錯,name 'a' is not defined
使用關鍵字global定義的變數為全域性變數
def
test1()
:global a #宣告全域性變數a
a =2print
(a)print(id
(a))
deftest2()
:global a #宣告全域性變數a
a =3print
(a)print(id
(a))
呼叫如下:
a = 1
test1()
test2()
print(a)#外部呼叫使用的是全域性變數
print(id(a))
結果如下:
2
8791479866432
3 8791479866464
3 8791479866464
lobal a #宣告全域性變數a
a = 3
print(a)
print(id(a))
呼叫如下:
a = 1
test1()
test2()
print(a)#外部呼叫使用的是全域性變數
print(id(a))
結果如下:
2
8791479866432
3 8791479866464
3 8791479866464
Python學習筆記 1 1 2 認識Python
一.課程目標 二.詳情解讀 1.初識pythonpython語言是一種高階程式語言,它於1991年由吉多.範羅蘇姆 guido van rossum 發明。目前主要應用於web開發 gui開發 網路爬蟲 資料科學 人工智慧等領域。python官方 python語言也是一種多正規化程式語言,即物件導向...
Python學習筆記 一手漂亮的Python函式
使用類和函式定義模型 函式是抽象和封裝的基本方法之一 重構函式 命名合理 具有單一功能 包含文件注釋 返回乙個值 不超過 50 行 冪等函式,盡可能是純函式 函式太長 重構 refactor 冪等函式 idempotent function 可測試性 可維護性 在函式程式設計中,如果函式是冪等函式且...
python學習方法 十二種學習Python的方法
python學習方法 python是地球上最流行的程式語言之一。它被世界各地的開發商和製造商所接受。大多數linux和macos計算機都預裝了python版本,現在,即使是少數windows計算機 商也正在安裝python。也許您參加聚會遲到了,您想學習但不知道該去 這12個資源將幫助您入門,並逐步...