我的python學習歷程

2021-09-07 08:16:35 字數 2873 閱讀 4731

快要期末考試了,最近一直在進行期末考試的複習工作,所以沒來得及更新部落格,抱歉了,今天進行python基礎中最後一部分測試**的學習。

1.測試函式

在測試函式前,首先需要建立乙個函式進行測試,在這裡建立乙個名字的函式進行測試。

def a_asd(first,last):

all_asd=first+』 '+last

return all_name.title() //這個函式表示了名字的組成,接下來需要編寫乙個程式來執行這個函式。

from go_asd import a_asd

print(「enter 『q』 to quit at any time.」)

while true:

first=input("\nplease give me your first.")

if first==『q』:

break

last=input("\nplease give me your last.")

if last==『q』:

break

go_asd=a_asd(first,last)

print("\n你確定名字:"+go_asd+"?")

enter 'q』to quit at any time.

please giveme your first:zhang

please giveme your last:san

你確定名字:zhang san?

please give me your first:li

please give me your last:si

你確定名字:li si?

please give me your first:q //輸入q後程式在這裡終止

下面開始進行函式的測試

(1)可通過的測試

import unittest

from go_asd import a_asd

class asdtest(unittest.testcase): //建立乙個類,用於包含測試函式。

def test_first_last_asd(self)

go_asd=a_asd('zhang','san')

self.assertequal(go_name,'zhang san') //在這裡對原有程式進行了賦值,以檢測程式執行過程是否正確

unittest.main()

ran 1 test in 0.000s

ok//表示對乙個程式用了極少的時間進行了測試,並且測試成功

(2)不能通過的測試

在原有程式的基礎上再新增乙個中間名

def a_asd(first,middle,last)

all_asd=first+』 『+middle+』 '+last

return all_name.title()

再使用以上的測試的程式進行測試…

import unittest

from go_asd import a_asd

class asdtest(unittest.testcase): //建立乙個類,用於包含測試函式。

def test_first_last_asd(self)

go_asd=a_asd('zhang','san')

self.assertequal(go_name,'zhang san') //在這裡對原有程式進行了賦值,以檢測程式執行過程是否正確

unittest.main()

此時會出現錯誤的情況

eerror:test_first_last_asd(main.asdtest) //在這裡指出程式錯誤的地方

…ran 1 test in 0.000s

failed(errors=1) //在這裡指出程式測試失敗,並指出有一處錯誤。

(3)測試未通過時應該怎麼辦

改變需要測試的函式,可以在函式裡新增語句,防止錯誤。

def a_asd(first,middle,last)

if middle:

all_asd=first+』 『+middle+』 『+last

else:

all_asd=first+』 '+last

return all_asd.title() //這個語句表示出有middle和無middle兩種情況,防止程式執行混亂。

再執行以上的測試程式就會出現:

ran 1 test in 0.000s

ok此時測試程式就會顯示出函式沒有問題,成功執行。

(4)新增新測試

測試以上的所有函式

import unittest

from go_asd import a_asd

class asdtest(unittest.testcase): //建立乙個類,用於包含測試函式。

deftest_first_last_asd(self)

go_asd=a_asd('zhang','san')

self.assertequal(go_name,'zhang san')

def test_first_middle_last_asd(self)

go_asd=a_asd('zhang','lao','san')

self.assertequal(go_name,'zhang lao san')//在這裡表示對以上兩個程式進行測試,在乙個程式裡分別運用了兩個測試語句,

unittest.main()

這時候再執行程式會出現:

ran 2 test in 0.000s

ok//在這裡表示測試了兩個函式,並且這兩個函式均可行

到這裡,關於函式的測試就已經學習完了。

關於類的測試也已經學習完了,稍後會更新關於類的測試的學習過程

我的python學習歷程

這是接著剛剛的部落格 用if語句處理列表 1 檢查特殊元素 a as zx qw for er in a print you are er print nthe best you are as.you are zx.you are qw.the best asd as zx qw for a in ...

我的python學習歷程

今天是使用檔案的內容,包含一百萬位的大檔案,以及寫入檔案。1.使用檔案內容 asd zxc.txt with open asd as qwe line qwe.readline 逐行讀取檔案中的資料 rt 建立乙個空列表用於儲存資料 for line in lines 用for迴圈遍歷原檔案中的所有...

python 我的學習歷程 筆記和資源

學習python也有很長時間了,開始記錄下一些心得。python專案之 ftp伺服器 python專案之 詞典的實現 python專案之 英漢詞典 帶gui tkinter python專案之 路由器抓取器 python專案之 天氣 優化版 python專案之 天氣程式 帶gui python專案之...