一、定義函數
在Python中,定義一個函數要使用def語句,依序寫出函數名稱、括號、括號中的參數和冒號:,然後,在縮排區塊中寫函數體,函數的回傳值會用return語句傳回。
定義函數的格式如下:
def 函数名(): 代码
範例:
# 定义一个函数,能够完成打印信息的功能 def printInfo(): print '------------------------------------' print 'Go语言进阶学习' print '------------------------------------'
定義帶有參數的函數
範例如下:
def add2num(a, b): c = a+b print c
呼叫帶有參數的函數
#以呼叫上面的add2num(a , b)函數為例:
def add2num(a, b): c = a + b print(c) add2num(11, 22)# 调用带有参数的函数时,需要在小括号中,传递数据
運行結果:
##呼叫函數時參數的順序
>>> def test(a,b): ... print(a,b) ... print(test(1, 2)) 1 2 print(test(b=1, a=2)) 2 1 >>> >>> print(test(b=1, 2)) File "<stdin>", line 1 SyntaxError: positional argument follows keyword argument
二、调用函数
定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它
调用函数很简单的,通过 函数名() 即可完成调用。
例:
# 定义完函数后,函数是不会自动执行的,需要调用它才可以 printInfo()
三、函数返回多个值
函数可以返回多个值吗?答案是肯定的。
带有返回值的函数
想要在函数中把结果返回给调用者,需要在函数中使用return
如下示例:
def add2num(a, b): c = a+b return c
或者
def add2num(a, b): return a+b
保存函数的返回值
如果一个函数返回了一个数据,那么想要用这个数据,那么就需要保存
保存函数的返回值示例如下:
# 定义函数 def add2num(a, b): return a + b # 调用函数,顺便保存函数的返回值 result = add2num(100, 98) # 因为result已经保存了add2num的返回值,所以接下来就可以使用了 print(result)
运行结果:
四、my_abs和内置函数abs的差别
print(my_abs('A'))
当传入了不恰当的参数时,内置函数abs会检查出参数错误,而定义的my_abs没有参数检查,会导致if语句出错,出错信息和abs不一样。
修改一下my_abs的定义,数据类型检查可以用内置函数isinstance()实现:
def my_abs(x): if not isinstance(x, (int, float)): raise TypeError('bad operand type') if x >= 0: return x else: return -x
添加了参数检查后,如果传入错误的参数类型,函数就可以抛出一个错误:
my_abs('A')
五、總結
本文基於Python基礎,介紹了函數定義。定義函數時,需要確定函數名稱和參數個數;如果有必要,可以先對參數的資料型別做檢查;函數體內部可以用return隨時傳回函數結果。
以上是盤點Python定義函數基礎知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

如何解決jieba分詞在景區評論分析中的問題?當我們在進行景區評論分析時,往往會使用jieba分詞工具來處理文�...


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

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

記事本++7.3.1
好用且免費的程式碼編輯器

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版