搜尋
首頁後端開發Python教學詳解Python函數的使用

詳解Python函數的使用

Mar 23, 2017 pm 02:33 PM
Python直函數

1.函數的基本定義


def 函数名称(参数)
         执行语        
         return 返回值

def : 定義函數的關鍵字;

函數名稱:顧名思義,是函數的名字,可以用來呼叫函數,不能使用關鍵字來命名,做好是用這個函數的功能的英文名命名,可以採用駝峰法與下劃線法;

參數:用來給函數提供數據,有形參和實參的區分;

執行語句:也叫函數體,用來進行一系列的邏輯運算;

傳回值:執行完函數後,返回給呼叫者的數據,預設為None,所以沒有回傳值時,可以不寫return。

 

2.函數的普通參數

#最直接的一對一關係的參數,如:


def fun_ex(a,b):            #a,b是函数fun_ex的形式参数,也叫形参
    sum=a+b    print('sum =',sum)
fun_ex(1,3)                  #1,3是函数fun_ex的实际参数,也叫实参#运行结果sum = 4

 

3.函數的預設參數

為參數定義一個預設值,如果呼叫函數時,沒有給指定參數,則函數使用預設參數,預設參數需要放在參數​​清單的最後,如:


def fun_ex(a,b=6):    #默认参数放在参数列表最后,如b=6只能在a后面
    sum=a+b    print('sum =',sum)
fun_ex(1,3)
fun_ex(1)#运行结果sum = 4sum = 7

 

4.函數的動態參數

不需要指定參數是元組或字典,函數自動把它轉換成元組或字典,如:

#
#转换成元组的动态参数形式,接受的参数需要是可以转成元组的形式,就是类元组形式的数据,如数值,列表,元组。

def func(*args):
    print(args,type(args))

func(1,2,3,4,5)

date_ex1=('a','b','c','d')
func(*date_ex1)

#运行结果
(1, 2, 3, 4, 5) <class &#39;tuple&#39;>
(&#39;a&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;) <class &#39;tuple&#39;>

动态参数形式一
#转换成字典的动态参数形式,接收的参数要是能转换成字典形式的,就是类字典形式的数据,如键值对,字典

def func(**kwargs):
    print(kwargs,type(kwargs))

func(a=11,b=22)

date_ex2={&#39;a&#39;:111,&#39;b&#39;:222}
func(**date_ex2)

#运行结果
{&#39;b&#39;: 22, &#39;a&#39;: 11} <class &#39;dict&#39;>
{&#39;b&#39;: 222, &#39;a&#39;: 111} <class &#39;dict&#39;>

动态参数形式二
#根据传的参数转换成元组和字典的动态参数形式,接收的参数可以是任何形式。
def func(*args,**kwargs):
    print(args, type(args))
    print(kwargs,type(kwargs))

func(123,321,a=999,b=666)

date_ex3={&#39;a&#39;:123,&#39;b&#39;:321}
func(**date_ex3)

#运行结果
(123, 321) <class &#39;tuple&#39;>
{&#39;b&#39;: 666, &#39;a&#39;: 999} <class &#39;dict&#39;>
() <class &#39;tuple&#39;>
{&#39;b&#39;: 321, &#39;a&#39;: 123} <class &#39;dict&#39;>

动态参数形式三

5.函數的回傳值

執行一個函數,通常需要從中得到某個訊息,這時就需要使用return來取得回傳值,如:

def fun_ex(a,b):
    sum=a+b
    return sum      #返回sum值

re=fun_ex(1,3)   
print(&#39;sum =&#39;,re)

#运行结果
sum = 4

 

6.lambda表達式

用來表示簡單的函數,如:

#普通方法定义函数
def sum(a,b):
    return a+b
sum=sum(1,2)
print(sum)

#lambda表达式定义函数
myLambda = lambda a,b : a+b
sum=myLambda(2,3)
print(sum)

#运行结果
5


#7.內建函數

## 1)內建函數列表

##int() isinstance()##issubclass()type()##hasattr()max()#記憶體視圖()
    ## 內建函數  
<span class="pre">#abs()</span> <span class="pre"> dict ()</span> <span class="pre">##help()</span> <span class="pre">##min()</span> <span class="pre"></span>setattr()
<span class="pre">##all()</span> <span class="pre">dir()</span> <span class="pre">hex()</span> <span class="pre"> ##next()</span>######## ####### #any() <span class="pre"></span>#pmod()
<span class="pre">id()</span> <span class="pre">##object()</span> #sorted()<span class="pre"></span> <span class="pre"></span>##ascii()############### #########輸入() <span class="pre"></span>oct()
<span class="pre">#staticmethod()</span> <span class="pre"></span> <span class="pre"></span> ## bin()<span class="pre"></span> eval()<span class="pre"></span>
<span class="pre"></span>open() <span class="pre"></span>##str() <span class="pre"></span> bool() <span class="pre"></span> ##exec()<span class="pre"></span>
<span class="pre"></span>ord() <span class="pre"></span>#sum() <span class="pre"></span> #bytearray()<span class="pre"></span> ##filter()<span class="pre"></span>
<span class="pre"></span>##戰俘()################ ## #bytes() <span class="pre"></span>float()
<span class="pre"></span>#float() <span class="pre"></span>##iter() <span class="pre"></span>##print() <span class="pre"></span>tuple() <span class="pre"></span>##callable()
<span class="pre"></span>#format() <span class="pre"></span>format() <span class="pre"></span>##len ()########### ########## <span class="pre"></span> #chr( )<span class="pre"></span>
frozenset()<span class="pre"></span> #list()<span class="pre"></span> #range()<span class="pre"></span> vars() <span class="pre"></span> classmethod()<span class="pre"></span>
##classmethod()<span class="pre"></span> ##getattr()<span class="pre"></span> ##locals( )<span class="pre"></span> repr()<span class="pre"></span> ##zip()<span class="pre"></span>
#compile()<span class="pre"></span> #全域變數()<span class="pre"></span> map() <span class="pre"></span> 反轉())反白())<span class="pre">####### _進口__()########### </span><span class="pre"></span>
<span class="pre"></span>round()  <span class="pre"></span> delattr()<span class="pre"></span> #hash()<span class="pre"></span>
####### ###########

以上是詳解Python函數的使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
可以在Python數組中存儲哪些數據類型?可以在Python數組中存儲哪些數據類型?Apr 27, 2025 am 12:11 AM

pythonlistscanStoryDatatepe,ArrayModulearRaysStoreOneType,and numpyArraySareSareAraysareSareAraysareSareComputations.1)列出sareversArversAtileButlessMemory-Felide.2)arraymoduleareareMogeMogeNareSaremogeNormogeNoreSoustAta.3)

如果您嘗試將錯誤的數據類型的值存儲在Python數組中,該怎麼辦?如果您嘗試將錯誤的數據類型的值存儲在Python數組中,該怎麼辦?Apr 27, 2025 am 12:10 AM

WhenyouattempttostoreavalueofthewrongdatatypeinaPythonarray,you'llencounteraTypeError.Thisisduetothearraymodule'sstricttypeenforcement,whichrequiresallelementstobeofthesametypeasspecifiedbythetypecode.Forperformancereasons,arraysaremoreefficientthanl

Python標準庫的哪一部分是:列表或數組?Python標準庫的哪一部分是:列表或數組?Apr 27, 2025 am 12:03 AM

pythonlistsarepartofthestAndArdLibrary,herilearRaysarenot.listsarebuilt-In,多功能,和Rused ForStoringCollections,而EasaraySaraySaraySaraysaraySaraySaraysaraySaraysarrayModuleandleandleandlesscommonlyusedDduetolimitedFunctionalityFunctionalityFunctionality。

您應該檢查腳本是否使用錯誤的Python版本執行?您應該檢查腳本是否使用錯誤的Python版本執行?Apr 27, 2025 am 12:01 AM

ThescriptisrunningwiththewrongPythonversionduetoincorrectdefaultinterpretersettings.Tofixthis:1)CheckthedefaultPythonversionusingpython--versionorpython3--version.2)Usevirtualenvironmentsbycreatingonewithpython3.9-mvenvmyenv,activatingit,andverifying

在Python陣列上可以執行哪些常見操作?在Python陣列上可以執行哪些常見操作?Apr 26, 2025 am 12:22 AM

Pythonarrayssupportvariousoperations:1)Slicingextractssubsets,2)Appending/Extendingaddselements,3)Insertingplaceselementsatspecificpositions,4)Removingdeleteselements,5)Sorting/Reversingchangesorder,and6)Listcomprehensionscreatenewlistsbasedonexistin

在哪些類型的應用程序中,Numpy數組常用?在哪些類型的應用程序中,Numpy數組常用?Apr 26, 2025 am 12:13 AM

NumPyarraysareessentialforapplicationsrequiringefficientnumericalcomputationsanddatamanipulation.Theyarecrucialindatascience,machinelearning,physics,engineering,andfinanceduetotheirabilitytohandlelarge-scaledataefficiently.Forexample,infinancialanaly

您什麼時候選擇在Python中的列表上使用數組?您什麼時候選擇在Python中的列表上使用數組?Apr 26, 2025 am 12:12 AM

useanArray.ArarayoveralistinpythonwhendeAlingwithHomoGeneData,performance-Caliticalcode,orinterfacingwithccode.1)同質性data:arraysSaveMemorywithTypedElements.2)績效code-performance-calitialcode-calliginal-clitical-clitical-calligation-Critical-Code:Arraysofferferbetterperbetterperperformanceformanceformancefornallancefornalumericalical.3)

所有列表操作是否由數組支持,反之亦然?為什麼或為什麼不呢?所有列表操作是否由數組支持,反之亦然?為什麼或為什麼不呢?Apr 26, 2025 am 12:05 AM

不,notalllistoperationsareSupportedByArrays,andviceversa.1)arraysdonotsupportdynamicoperationslikeappendorinsertwithoutresizing,wheremactsperformance.2)listssdonotguaranteeconecontanttanttanttanttanttanttanttanttanttimecomplecomecomplecomecomecomecomecomecomplecomectacccesslectaccesslecrectaccesslerikearraysodo。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用