摘要:空函數(shù)如果想要定義一個什么都不做的函數(shù),那么可以用語句。為函數(shù)添加參數(shù)檢查我們對作一些改寫。此時調(diào)用函數(shù)時傳入錯誤的參數(shù)則會拋出。函數(shù)返回多個值支持返回多個值。
python中定義函數(shù)的關(guān)鍵詞是def,例如定義一個叫my_function的函數(shù)我們可以這么定義, 其中括號內(nèi)的x,y為傳入的參數(shù)。
def my_function(): # function body返回值
函數(shù)可以用關(guān)鍵字return返回?cái)?shù)據(jù)。函數(shù)執(zhí)行到return即返回不再執(zhí)行函數(shù)。沒用寫return語句的函數(shù),默認(rèn)返回None。
return None可以簡寫成return。
如果想要定義一個什么都不做的函數(shù),那么可以用pass語句。
例如
def do_nothing() pass
pass起的是占位符的作用。如果這個函數(shù)具體內(nèi)容不需要定義就可以使用pass。
參數(shù)檢查前一篇文章介紹過內(nèi)置函數(shù)會對傳入的參數(shù)的個數(shù)和數(shù)據(jù)類型進(jìn)行檢查。那么對于自定義函數(shù),python是怎么處理的呢?
我們定義一個函數(shù)
def my_function(x,y): return x*y
調(diào)用:my_function(1,2,3)
報錯:
Traceback (most recent call last): File "/Users/W/Code/Python/LearnPython/DataType.py", line 4, inmy_function(1,2,3) TypeError: my_function() takes exactly 2 arguments (3 given)
調(diào)用:my_function(1,"abc")
報錯:不返回錯誤信息。事實(shí)上我們希望my_function傳入的兩個參數(shù)應(yīng)該是整數(shù)活著浮點(diǎn)數(shù)才對。
為函數(shù)添加參數(shù)檢查我們對my_function作一些改寫。
def my_function(x, y): if not (isinstance((x,y),(int,float)) and isinstance(y,(int,float))): raise TypeError("Bad operand type") return x*y
此時調(diào)用my_function函數(shù)時傳入錯誤的參數(shù)則會拋出TypeError。
函數(shù)返回多個值Python支持返回多個值。Python其實(shí)是通過返回一個tuple實(shí)現(xiàn)的。
我們可以通過簡單的demo驗(yàn)證:
def func(): return 2, 3 print func()
則會輸出(2,3)這么一個tuple。
在語法上,返回一個tuple可以省略括號,即多個變量可以同時接收一個tuple,按位置賦給對應(yīng)的值。例如
x,y = func()。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/44255.html
摘要:一等函數(shù)在中,函數(shù)是一等對象。匿名函數(shù)關(guān)鍵字在表達(dá)式內(nèi)創(chuàng)建匿名函數(shù)然而,簡單的句法限制了函數(shù)的定義體只能使用純表達(dá)式,即函數(shù)的定義體中不能賦值,不能使用等語句。匿名函數(shù)適合用于作為函數(shù)的參數(shù) 一等函數(shù) 在python中,函數(shù)是一等對象。編程語言理論家把一等對象定義為滿足以下條件的程序?qū)嶓w: 在運(yùn)行時創(chuàng)建 能賦值給變量或數(shù)據(jù)結(jié)構(gòu)中的元素 能作為參數(shù)傳給函數(shù) 能作為函數(shù)的返回結(jié)果 在p...
摘要:前言最近跟著流暢的和學(xué)習(xí),看到裝飾器部分,有些頭大倒不是因?yàn)楦拍铍y以理解,而是書和網(wǎng)上文章中有些地方有些矛盾之處在簡單學(xué)習(xí)和實(shí)踐之后,整理出我對裝飾器的理解如下裝飾器的定義在不同語境下,裝飾器有不一樣的含義,我大致認(rèn)為有種定義一種把另一個對 前言 最近跟著《流暢的Python》和《Python Cookbook》學(xué)習(xí),看到裝飾器部分,有些頭大倒不是因?yàn)楦拍铍y以理解,而是書和網(wǎng)上文章中有...
摘要:是一個類型是一個的實(shí)例,那么他是一個類型。那么我們自定義類一直數(shù)據(jù)類型叫,包含了年齡性別各科成績等。我們自己將這一類數(shù)據(jù)歸納成一種數(shù)據(jù)類型叫做。在用創(chuàng)建類的時候,接收三個參數(shù),要創(chuàng)建的類名要繼承的父類,用一個表示。 動態(tài)語言與靜態(tài)語言的最大的不同就是,函數(shù)和類的定義,不是在編譯的時候創(chuàng)建的,而是在運(yùn)行的時候創(chuàng)建的。例如我們寫了一個叫demo.py的模塊,在里面定義了一個類: class...
摘要:定義默認(rèn)參數(shù)要牢記一點(diǎn)默認(rèn)參數(shù)必須指向不變對象尾遞歸調(diào)用函數(shù)本身,但是的返回值不包含表達(dá)式。而尾指針相當(dāng)于把常規(guī)的遞歸反過來,增加一層遞歸的同時釋放前一個遞歸指針,所以能夠始終保持只有一個棧幀在使用中。 教程 1、python大小寫敏感 如果字符串里面有很多字符都需要轉(zhuǎn)義,就需要加很多,為了簡化,Python還允許用r表示內(nèi)部的字符串默認(rèn)不轉(zhuǎn)義 >>> print ...
摘要:面向?qū)ο笞钪匾母拍顟?yīng)該就是類和實(shí)例了。記得以前學(xué)習(xí)的時候,有一個比較簡單的例子來解釋類和實(shí)例。構(gòu)造函數(shù)類中可以定義一個構(gòu)造函數(shù)。構(gòu)造函數(shù)的意思就是類在創(chuàng)建的時候會執(zhí)行的函數(shù)。在實(shí)例中通過構(gòu)造函數(shù)添加的或者在類外動態(tài)添加的屬性可以。 面向?qū)ο笞钪匾母拍顟?yīng)該就是類(class)和實(shí)例(instance)了。記得以前學(xué)習(xí)java的時候,有一個比較簡單的例子來解釋類和實(shí)例。在汽車制造過程中...
閱讀 1344·2021-10-18 13:32
閱讀 2506·2021-09-24 09:47
閱讀 1401·2021-09-23 11:22
閱讀 2525·2019-08-30 14:06
閱讀 659·2019-08-30 12:48
閱讀 2068·2019-08-30 11:03
閱讀 604·2019-08-29 17:09
閱讀 2543·2019-08-29 14:10