#函式的定義的格式
#def 函式名(引數[可選]):
#功能**的實現
#定義函式不會呼叫
defshow()
:print
("我叫張三丰,年齡18"
)#呼叫函式
#函式名(引數)
#定義帶有引數的函式
#name,age:形式引數(函式定義帶有的引數叫形式引數)形參
defshow_msg
(name,age)
:print
(name,age)
#呼叫帶有引數的函式"張三",20:實際引數(實參)
show_msg(
"張三",20
)
#無引數無返回值得函式
defshow()
:#函式'體裡面的**執行完畢,返回到函式的呼叫出
print()
#函式呼叫
show(
)#無引數有返回值的函式
defshow()
: result =
10#帶著資料返回到**的呼叫處
return result
value = show(
)print
(value)
#有引數無返回值的
defshow
(name,age)
:print
("我叫:%s 年齡:%d"
%(name,age)
)show(
"張三",19
)#有引數有返回值的
defshow_msg
(name,age)
: msg =
"我叫:%s 年齡:%d"
%(name,age)
return msg
result = show_msg(
"李四",40
)print
(result)
#定義函式是不會執行函式體裡面的**
defshwo()
:print
("哈哈"
)print
("呵呵"
)shwo(
)print
("lll"
)#總結:函式呼叫的時候會返回到函式的定義處,執行函式體裡面的**
#執行完畢,返回的呼叫處
#全域性變數:在函式外定義的變數叫做全域性變數
#特點:全域性變數可以在不同的函式裡面使用
score =
100def
show()
:#定義了乙個區域性變數,只不過這個區域性變數和全域性變數的名字一樣
# score =99
#修改全域性變數
global score#表示要對全域性變數score修改資料
score =
99print
(score)
show(
)print
(score)
函式傳參方式:
#呼叫函式的傳參方式:1.使用位置傳參2.使用關鍵字傳參
defshow
(name,age)
:print
(name,age)
print
("架架"
)#使用位置引數方式傳參:必修按照函式的引數順序去傳參
show(
"張三",18
)#positional argument:丟失了乙個位置引數
#使用關鍵字方式傳參
#使用關鍵字傳參,可以不按照函式引數的順序去傳參
show(age=
19,name=
"李四"
)#前面使用關鍵字傳參,後面使用位置傳參(不可以的)
# show(age=19,"張三")
#前面使用位置傳參,後面使用關鍵字傳參可以使用
#關鍵字傳參,必須放在最後
show(
"馮七"
,age=
10)
#函式的不定長引數:1.不定長位置引數2,不定長關鍵字引數
#不定引數:呼叫函式的時候不確定傳入多少個引數
#可能是0個或者多個
#--------------不定長位置引數的定義及呼叫--------------
#*args代表不定長位置引數,約定俗稱起的名字
defsum_num
(*args)
:print
(args,
type
(args)
)#計算結果變數
result =
0for value in args:
result += value
return result
result = sum_num(1,
2,3,
4,6,
8)print
(result)
# sum_num(a=1,b=2)
#------------不定長關鍵字子引數函式的定義及呼叫-------
#**kwargs 代表不定位置引數
defshow_msg
(**kwargs)
:print
(kwargs,
type
(kwargs)
)for key,value in kwargs.items():
print
(key,value)
#呼叫不定長位置引數的函式
show_msg(a=
1,b=2)
#使用位置引數的方式呼叫不定長關鍵字引數的函式
# show_msg(1,2)
# def pachong():
# #1.232323
# data = "asdasd"
# return data##
# data = pachong()
# print(data)
#爬蟲:只能抓取使用者有許可權能看見的資料
#定義不定長位置引數
defshow_msg
(*args)
:#(1,2)
print
(args)
#定義不定長位置引數
defshow
(*args)
:# print(args,type(args))
# (1,2)
print
(args)
#解決辦法:對元組進行拆包
show_msg(
*args)
# show_msg(args)
show(1,
2)
def
show_msg
(name,age,
*args,
**kwargs)
:print
(name,age,args,kwargs)
#不能使用下列方式呼叫,因為前面使用了關鍵字傳參,後面不能使用位置傳參
# shwo(name="李四",age=18,1,4,c=1,b=2)
# shwo("李四",20,1,2,3,4,a="蘋果",b="香蕉")
#可不可以
defshow
(*args,name,age,
**kwargs)
:print
(args,name,age,kwargs)
#kwargs必須放置在後面(不定長關鍵字引數放置在後面)
show(1,
2,name=
"李四"
,age=
12,aa=
1,bb=2)
#注意點:*後面的引數,必須使用關鍵字傳參方式
defcallable
(address,***,
*,name,age)
:print
(address,***,name,age)
#使用位置傳參的方式呼叫函式
callable(
"上海"
,"男"
,name =
"劉彥"
,age=
20)
def
show_msg
(**kwargs)
:print
(kwargs)
#定義不定長關鍵字函式
defshow
(**kwargs)
:print
(kwargs)
#使用了位置傳參的方式呼叫函式
# show_msg(a=kwargs)
# 對字典進行拆包
show_msg(
**kwargs)
show(a=
1,b=
2)
python基礎知識 函式
函式其實就是一段可以多次呼叫的 1 函式的定義 格式 def 函式名 引數1 預設值1 引數2 預設值2 return 表示式 函式名的命名規則 函式名可以是字母 數字或下劃線組成的字串,但是不能以數字開頭。例如加法操作 def addfunc x,y return x y print addfun...
python函式基礎知識
1,函式返回值有多個 def func ip 127.0.0.1 port 3389 return ip,port ip,port func 即可得到ip和port的值 2,函式legb 引數尋找順序 l local 本地作用域 e enclosing function 上一層結構中def或lamb...
python基礎知識 函式
def myfirstfunction print this is my first function myfirstfunction 呼叫函式def mysecondfunction print name i love you mysecondfunction fish 呼叫函式 mysecond...