一文搞懂Python中函數(shù)的定義與使用
函數(shù)的定義和調(diào)用
函數(shù)的定義:def作為函數(shù)定義的關(guān)鍵字,為了告訴python這是一個(gè)函數(shù)。
無參函數(shù)
def s():
print("你好呀,祝你天天開心!")
s()
輸出:
你好呀,祝你天天開心!
有參函數(shù)
函數(shù)調(diào)用時(shí),將實(shí)參傳遞給形參
舉例:
def person(name,age,add)://函數(shù)的定義
print("名字是%s,%s的年齡是%d,%s的家庭住址是%s"%(name,name,age,name,add))
person(input("請輸入你的名字"),int(input("請輸入你的年齡")),input("請輸入你的家庭住址"))
#函數(shù)的調(diào)用,形參實(shí)參的個(gè)數(shù)和類型必須保持一致
輸出:
請輸入你的名字易烊千璽
請輸入你的年齡22
請輸入你的家庭住址湖南懷化
名字是易烊千璽,易烊千璽的年齡是22,易烊千璽的家庭住址是湖南懷化
1:通過位置傳遞參數(shù):僅通過位置關(guān)系將實(shí)參對應(yīng)的形參聯(lián)系起來,位置實(shí)參的順序很重要
def person(name,age):
print("%s的年齡是%s"%(name,age))
person(12,"Jason")//12對應(yīng)name,age對應(yīng)jason
person("Jason",12)
輸出:
12的年齡是Jason
Jason的年齡是12
2:通過關(guān)鍵字傳遞參數(shù):通過關(guān)鍵字將實(shí)參對應(yīng)的形參聯(lián)系起來,順序不重要,因?yàn)閜ython知道那個(gè)實(shí)參該賦給那個(gè)形參
舉例:
def person(name,age):
print("%s的年齡是%s"%(name,age))
person(age=12,name="Jason")
person(name="Jason",age=12)
輸出:
Jason的年齡是12
Jason的年齡是12
帶有返回值的函數(shù)
將函數(shù)的值返回給調(diào)用函數(shù)
舉例:
def add(number1,number2):
return number1+number2
print(add(12,23))
a=add(19,2)
print(a)
輸出:
35
21
將函數(shù)返回值作為實(shí)參進(jìn)行調(diào)用:
def add(number1):
return number1+10
print(add(12))
a=add(19)
print(add(a))
輸出:
22
39
默認(rèn)值:給形參設(shè)定默認(rèn)值,對應(yīng)的實(shí)參可以不傳遞值,如果實(shí)參也有值,則對應(yīng)的默認(rèn)值會被覆蓋。
def add(number1,number2=9):
return number1+number2
print(add(12))
a=add(19)
print(a)
輸出:
21
28
函數(shù)與循環(huán)結(jié)合
與while循環(huán)結(jié)合
def getSum(x):
//函數(shù)體
sum = 0
i = 1
while i < x:
sum += i
i += 1
return sum//將sun返回給調(diào)用函數(shù)
print(getSum(10))
print(getSum(100))
輸出:
45
4950
與for循環(huán)結(jié)合
def getSum(x):
i=1
add=1
for i in range(1,x):
add*=i
return add
print(getSum(10))
輸出:
362880
函數(shù)的分類
內(nèi)置函數(shù)和自定義函數(shù)
內(nèi)置函數(shù)
python中已經(jīng)規(guī)定好用來實(shí)現(xiàn)某些特定功能的函數(shù)
舉例:
print(bool(2))//bool()函數(shù)用來查看數(shù)據(jù)的布爾值,非0返回True,0或返回False print(abs(-10))//abs()函數(shù)用來取數(shù)據(jù)的絕對值 print(type(12))//type()函數(shù)用來查看變量的類型
輸出:
True
10
<class 'int'>
自定義函數(shù)
通過編寫函數(shù)體去實(shí)現(xiàn)自主想實(shí)現(xiàn)的功能。
舉例:
def add(number1,number2,nmuber3):
print(number1+number2+nmuber3)//打印三數(shù)之和
print(number1 * number2 * nmuber3)//打印三數(shù)之積
print(number1-number2-nmuber3)//打印數(shù)之差
add(10,2,7)
輸出:
19
140
1
函數(shù)的嵌套調(diào)用
自定義函數(shù)與三目運(yùn)算符結(jié)合:
def add(x,y):
return x+y if x>y else x-y //三目運(yùn)算符:如果x>y,則返回值為x+y,否則為x-y
print(add(1,3))
print(add(19,2))
輸出:
-2
21
自定義函數(shù)的嵌套使用:
def add(a,b,c,d):
max1=max(a,b)
max2=max(max1,c)
max3=max(max2,d)
return max3
max_s=add(23,4,15,6)
print(max_s)
輸出:
23
函數(shù)的嵌套定義
注意函數(shù)的定義語句和調(diào)用語句縮進(jìn)必須保持一致。
def f1():
print('你好!')
def f2():
print('希望你每天開心')
def f3():
print('好好學(xué)習(xí),天天向上!')
f3()
f2()
f1()
輸出:
你好!
希望你每天開心
好好學(xué)習(xí),天天向上!
到此這篇關(guān)于一文搞懂Python中函數(shù)的定義與使用的文章就介紹到這了,更多相關(guān)Python 函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
分享一下Python 開發(fā)者節(jié)省時(shí)間的10個(gè)方法
在這篇文章,我想強(qiáng)調(diào)一些 Python 可以節(jié)約時(shí)間并最大限度地提高生產(chǎn)力的方面。在做準(zhǔn)備時(shí),我咨詢了幾個(gè) Pythonists,他們最節(jié)省時(shí)間的技巧是什么?答案在這里2015-10-10
python寫入數(shù)據(jù)到csv或xlsx文件的3種方法
這篇文章主要為大家詳細(xì)介紹了python寫入數(shù)據(jù)到csv或xlsx文件的3種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
jupyter?notebook?中使用ipython?魔法指令的詳細(xì)過程
在?Jupyter?Notebook?中,IPython?魔法指令為數(shù)據(jù)分析和探索提供了很多便利,這篇文章主要介紹了jupyter?notebook?中使用ipython?魔法指令的詳細(xì)過程,需要的朋友可以參考下2024-06-06
Python3.7 dataclass使用指南小結(jié)
本文將帶你走進(jìn)python3.7的新特性dataclass,通過本文你將學(xué)會dataclass的使用并避免踏入某些陷阱。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-02-02
Python入門教程(十一)Python中的運(yùn)算符
這篇文章主要介紹了Python入門教程(十一)Python中的運(yùn)算符,Python是一門非常強(qiáng)大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下2023-04-04
python庫patchworklib多圖表整合用法示例探究
這篇文章主要介紹了python庫patchworklib對齊matplotlib圖表,將多個(gè)圖表的整合為單一圖表用法示例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Python使用dis模塊把Python反編譯為字節(jié)碼的用法詳解
通常來說Python的性能或代碼質(zhì)量的評估可以通過dis模塊獲取到對應(yīng)的字節(jié)碼指令來進(jìn)行評估,因而這里我們就來看一下Python使用dis模塊把Python反編譯為字節(jié)碼的用法詳解:2016-06-06
python基于socket進(jìn)行端口轉(zhuǎn)發(fā)實(shí)現(xiàn)后門隱藏的示例
今天小編就為大家分享一篇python基于socket進(jìn)行端口轉(zhuǎn)發(fā)實(shí)現(xiàn)后門隱藏的示例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07

