python测试函数怎么写_Python - 函数
函數,function,是一段代碼的集合體。是Python為了代碼最大程度的重用、減小代碼冗余而提供的最基本的程序結構。
Python是一門面向對象的編程語言,對函數進行分類和封裝,由對象實現對方法的調用。
一、函數調用
在此之前,我們已經接觸過一部分Python的Built-in內建函數,例如abs()、max()、min()、int()等。
要實現調用一個函數,必須先知道函數的名稱以及所需要的參數信息。對于內建函數,可以通過命令help(func_name)查看函數的幫助信息。
通過函數名實現調用,其中的函數名其實就是指向一個函數的對象引用,可以把函數名賦給任何一個變量,相當于給這個函數起了一個別名。
例如:
>>> a = abs # a 是函數abs()的別名
>>> a(-1)
1
二、函數定義
語法形式
定義關鍵字def。Python中將函數的聲明和定義視為一體,函數由聲明的標題行和定義體組成。
def 函數名(參數列表):
函數體
return sth.
【注意】:
函數的返回值用return關鍵字進行返回。若沒有顯示的使用return,則默認返回None。
函數的返回值是一個tuple類型的值。返回一個值時,括號省略;返回多個值時,為同一個tuple接收,把位置賦給相應的值。如果要返回一個list的值,則需要顯示地使用“[]”進行修改。
前向引用。Python中不允許在函數未聲明定義前,對其進行引用或者調用。
【例子一】自定義一個求絕對值的函數為例:
>>> def my_abs(x):
... if x>= 0:
... return x
... else:
... return –x
>>> my_abs(-3)
3
定義一個空函數
如何定義一個空函數?使用pass關鍵字。
pass語句用來作為占位符。
什么時候使用呢?一般是比如說這段代碼還沒想好怎么寫,可以使用pass讓代碼能運行起來。
def nop():
pass
三、import 調用
函數定義完成后,把函數寫入到***.py文件中保存。進入到該存放路徑下,啟動Python解釋器。
使用語句“from py_file_name import 函數名”。
import 語句可以導入需要的Python模塊,例如 import time;
也可以從模塊中導入某部分,from time import sleep,ctime;
也可以導入某個自定義的模塊或者模塊中的函數等。
有時候工程模塊存在層級目錄結構,而只需要導入工程中下的某文件的某部分,則可以使用“.”進行導入,例如:
from 工程名層級.test_function import TestFunc
四、調用函數參數檢查
調用函數時,需要對函數的參數列表進行檢查。
如果參數個數不對,python解釋器會自動檢查出來,并拋出TypeError。但如果參數類型不對,python解釋器就無法幫助檢查。
內置函數
內置函數參數類型不對時:
>>> abs('a')
Traceback (most recent call last):
File "", line 1, in
TypeError: bad operand type for abs(): 'str'
自定義函數
若函數定義沒有參數檢查,則出錯信息在下一句,與內置函數不一樣,說明函數定義不夠完善。
def my_abs(x):
if x>= 0:
return x
else :
return -x
>>> my_abs('a')
Traceback (most recent call last):
File "", line 1, in
File "D:\Python_project\test1.py", line 2, in my_abs
if x>= 0: (if語句報的錯)
TypeError: '>=' not supported between instances of 'str' and 'int'
改為如下:
def my_abs1(x):
if not isinstance(x,(int , float )): # 參數類型檢查
raise TypeError('not the type') # 拋出錯誤并提示“not the type”
if x >=0:
return x
else:
return -x
>>> my_abs1('a')
Traceback (most recent call last):
File "", line 1, in
File "D:\Python_project\test1.py", line 11, in my_abs1
raise TypeError('not the type')
TypeError: not the type # (錯誤和異常的處理)
? thanks for watching, keep on updating...
總結
以上是生活随笔為你收集整理的python测试函数怎么写_Python - 函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京:本月起加油站作业区可用手机支付、摩
- 下一篇: websocket python爬虫_p