Python入門之函式呼叫(二)
@R星校長
第2關:函式正確呼叫 - 得到想要的結果
定義函式與呼叫函式的順序
在定義了函式之後,就可以呼叫該函式了。但是在 Python 中我們要注意一個關鍵點,就是Python不允許前向引用,即在函式定義之前,不允許呼叫該函式。例如:
print plus(1,2)
def plus(a,b):
return a+b
執行結果為:
NameError: name 'plus' is not defined
從報錯結果可以看出,名字為plus
的函式還沒進行定義(雖然我們是在後面進行了定義)。所以當我們在呼叫函式時,一定要確定在呼叫之前進行了函式定義。
正確使用引數
我們要在呼叫函式時,需要正確呼叫函式的名稱和引數,例如我們定義了一個加法函式:
def plus(a,b):
return a+b
我們在呼叫plus()
函式時,如果傳入的引數型別不對,會報TypeError
錯誤。而且有時我們傳入的引數型別不是規定型別的話,就算呼叫函式執行結果沒有報錯,也會產生邏輯錯誤。例如:
# 定義plus函式,作用是求兩個正整數之和
def plus(a,b):
return a+b
# 呼叫plus函式,引數型別為'1','2'
print(plus('1','2'))
輸出結果:
12
雖然上述例子的程式執行結果沒有報錯,但是結果卻與我們的預期不符,因為我們的本意是呼叫plus()
函式實現兩個整數的加法。但是如果我們傳入的是字串型別的數值時,結果就是兩個字串的拼接。所以這個例子告訴我們一定要注意傳入引數的型別。
當我們傳入正常型別的引數時,傳入的引數個數不一致時,也會報TypeError
錯誤。例如:
# 定義plus函式,作用是求兩個正整數之和
def plus(a,b):
return a+b
# 呼叫plus函式,引數為1,2,3
print(plus(1,2,3))
報錯:
TypeError: plus() takes 2 positional arguments but 3 were given
報錯原因顯示,因為plus()
函式允許有且僅有2個引數,但是卻在呼叫時傳入了3個引數,所以程式報錯。
保持對事業的努力,事業比幻想中的金錢要現實得多。這是必須牢記的原則。
相關文章
- Python 入門之經典函式例項(二)Python函式
- Python入門-函式Python函式
- PHP入門之函式PHP函式
- C++入門教程(11):呼叫函式C++函式
- JavaScript入門-函式function(二)JavaScript函式Function
- python入門:range函式Python函式
- python-函式入門(一)Python函式
- Python匿名函式快速入門Python函式
- SQL入門之3 函式2SQL函式
- SQL入門之2 函式1SQL函式
- OpenFaaS實戰之二:函式入門函式
- python入門必會的助手函式:dir()函式Python函式
- MySQL入門系列:儲存程式(二)之儲存函式簡介MySql儲存函式
- python3.7 函式基礎入門Python函式
- 5-快速入門Python函式使用Python函式
- 【廖雪峰python入門筆記】函式Python筆記函式
- go語言入門之-函式和方法Go函式
- 尤拉函式入門函式
- 生成函式入門函式
- 前端入門——函式前端函式
- 11函式入門函式
- Python函式每日一講 - frozenset集合函式入門及例項Python函式
- Python開發的入門教程(六)-函式Python函式
- 《MySQL 入門教程》第 14 篇 MySQL 常用函式之數學函式MySql函式
- 集合與函式入門函式
- Python中將函式作為另一個函式的引數傳入並呼叫Python函式
- 建構函式之間的呼叫函式
- [譯] 函式式 JavaScript 快速入門函式JavaScript
- Go語言入門系列(六)之再探函式Go函式
- ES6入門之函式的擴充套件函式套件
- Python: 受限制的 "函式呼叫"Python函式
- 動態呼叫python類和函式Python函式
- 呼叫鏈監控 CAT 之 入門
- Python常用函式有哪些?Python基礎入門課程Python函式
- c# tcbs之建構函式呼叫建構函式示例C#函式
- Python 3 快速入門 2 —— 流程控制與函式Python函式
- 新手學python之Python的輸入輸出函式Python函式
- 3.JavaScript函式入門JavaScript函式