python函数调用位置_python函数定义,调用,传参,位置参数及关键字参数,返回值
使用函數(shù)是真正開始編程的第一步,函數(shù)y=f(x)我們并不陌生,對x進(jìn)行一頓操作得到一個(gè)值y。給不同的x,進(jìn)行相同的操作,得到相應(yīng)的y值。
程序?qū)用婧瘮?shù)是執(zhí)行特定任務(wù)的一段代碼,將一段代碼定義成函數(shù)并為該函數(shù)指定一個(gè)函數(shù)名,之后就可以用名稱來“調(diào)用”這個(gè)函數(shù)。
前面我們己經(jīng)用過一些函數(shù),如len()、id()等。這些是python生來就有的函數(shù)稱為內(nèi)置函數(shù)。
除了python的內(nèi)置函數(shù),我們在編程中還可以自定義函數(shù),在編程中我們大量使用的還是自定義函數(shù),先看一個(gè)入門案例:
# -*- coding: utf-8 -*-
# 定義一個(gè)函數(shù),能夠完成打印一句話
def printInfo():
print('人生苦短,我用Python')
printInfo()
printInfo()
printInfo()
D:python3installpython.exe D:/python/py3script/python66.py
人生苦短,我用Python
人生苦短,我用Python
人生苦短,我用Python
Process finished with exit code 0
定義函數(shù)和調(diào)用(定義了函數(shù)直接寫函數(shù)名就是調(diào)用):
使用def語句定義一個(gè)函數(shù),def語句后面跟著函數(shù)的名稱,然后是一對小括號,括號里面可以填寫函數(shù)需要的參數(shù),最后是冒號結(jié)束,然后下一行縮進(jìn)開始寫函數(shù)體的內(nèi)容。完整的函數(shù)寫法如下:
def 函數(shù)名(形參):
代碼塊
return 返回值
1.聲明函數(shù)必須使用def關(guān)鍵字。
2.函數(shù)名:從語法角度來看,函數(shù)名是一個(gè)合法的標(biāo)識符即可(變量的命名規(guī)范一樣);從可讀性角度來看,函數(shù)名應(yīng)該由一個(gè)或多個(gè)有意義的單詞組合而成,
3.形參:用于定義該函數(shù)可以接收的參數(shù),函數(shù)可以有參數(shù)也可以無參數(shù)。
1)形參可以有多個(gè),多個(gè)形參以英文逗號(,)隔開。
2)定義函數(shù)時(shí)指定了形參,調(diào)用該函數(shù)時(shí)就必須傳入對應(yīng)的參數(shù)值(或者說給對應(yīng)的形參賦值)
3)形參和函數(shù)外界無任何關(guān)系,函數(shù)內(nèi)部通過形參名字使用形參,調(diào)用函數(shù)時(shí)給形參傳值,此時(shí)這個(gè)值叫實(shí)參。
# -*- coding: utf-8 -*-
def sum(num1, num2,):
print('兩數(shù)的和是')
print(num1 + num2 )
sum(1,10) #調(diào)用函數(shù)
D:python3installpython.exe D:/python/py3script/python66.py
兩數(shù)的和是
11
Process finished with exit code 0
4.函數(shù)的參數(shù)默認(rèn)值
1)在定義函數(shù)的時(shí)候參數(shù)可以給定默認(rèn)值,有默認(rèn)值的參數(shù)必放在沒有默認(rèn)值參數(shù)列表的后面。
2)如果參數(shù)有默認(rèn)值,在函數(shù)調(diào)用的時(shí)候可以不填,不填就使用默認(rèn)的值。
2)如果參數(shù)有默認(rèn)值,在函數(shù)調(diào)用的時(shí)候也可以重新賦值。
# -*- coding: utf-8 -*-
def sum(start, end, step=1):
num_list = range(start, end, step)
print(num_list,len(num_list))
total = 0
for i in num_list:
total += i
if step == 1:
print("從%d加到%d是%d" % (start, end-1, total))
elif step == 2:
print("從%d到%d奇數(shù)相加是%d" % (start, end - 1, total))
sum(1,10)
sum(1,10,step=2)
D:python3installpython.exe D:/python/py3script/python66.py
range(1, 10) 9
從1加到9是45
range(1, 10, 2) 5
從1到9奇數(shù)相加是25
Process finished with exit code 0
5.函數(shù)位置參數(shù)與關(guān)鍵字參數(shù)
1)不通過參數(shù)名字而是直接在對應(yīng)位置傳入?yún)?shù)值被稱為位置參數(shù)。
2)使用位置參數(shù)的方式來傳入?yún)?shù)值(給形參賦值),必須按照定義函數(shù)時(shí)指定的形參順序來傳入。
3)根據(jù)參數(shù)名來傳入?yún)?shù)值被稱為關(guān)鍵字(keyword)參數(shù)。
4)使用關(guān)鍵字參數(shù)的方式來傳入值(給形參賦值),則無須關(guān)注定義的形參順序。
# -*- coding: utf-8 -*-
# 定義一個(gè)函數(shù)
def star_people(body , girl):
print("body: ", body)
print("girl: ", girl)
return body,girl
# 根據(jù)位置傳入?yún)?shù)
star_people('劉愷威', '趙麗穎')
# 根據(jù)關(guān)鍵字參數(shù)來傳入?yún)?shù)
star_people(body = '劉愷威', girl = '趙麗穎')
# 使用關(guān)鍵字參數(shù)時(shí)可交換位置
star_people(girl = '趙麗穎', body = '劉愷威')
# 部分使用關(guān)鍵字參數(shù),部分使用位置參數(shù)
star_people('劉愷威',girl ='趙麗穎')
D:python3installpython.exe D:/python/py3script/python66.py
body: 劉愷威
girl: 趙麗穎
body: 劉愷威
girl: 趙麗穎
body: 劉愷威
girl: 趙麗穎
body: 劉愷威
girl: 趙麗穎
Process finished with exit code 0
6.return返回值
想要在函數(shù)中把結(jié)果返回,需要在函數(shù)中使用return,return語句可以返回所有的數(shù)據(jù)類型,可以返回一個(gè)或多個(gè)值。如果沒有寫return語句,函數(shù)的默認(rèn)返回值是None。
# -*- coding: utf-8 -*-
def sum(num1, num2,):
# 用res變量保存兩數(shù)之和
res = num1 + num2
# return
return res
# 必須用變量接受return返回的值
result = sum(1,10)
print(result)
def add(num1, num2,):
# 用res變量保存兩數(shù)之和 但是沒有return
res = num1 + num2
result = add(1,10)
print(result)
def do(num1, num2,):
# 用res1變量保存兩數(shù)之和 但是沒有return
res1 = num1 + num2
# 用res2變量保存兩數(shù)之差 但是沒有return
res2 = num1 - num2
return res1,res2
result1,result2 = do(1,10)
print(result1,result2)
D:python3installpython.exe D:/python/py3script/python66.py
11
None
11 -9
Process finished with exit code 0
7.函數(shù)根據(jù)有沒有參數(shù),有沒有返回值,可以相互組合,一共有4種
無參數(shù),無返回值
無參數(shù),有返回值
有參數(shù),無返回值
有參數(shù),有返回值
總結(jié)
以上是生活随笔為你收集整理的python函数调用位置_python函数定义,调用,传参,位置参数及关键字参数,返回值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python列表修改元素_python
- 下一篇: 决策树 prepruning_数据挖掘入