python實用腳本
1)doctest
使用doctest是一種類似於命令行嘗試的方式,用法很簡單,如下
復制代碼代碼如下:
def f(n):
"""
>>> f(1)
1
>>> f(2)
2
"""
print(n)
if __name__ == '__main__':
import doctest
doctest.testmod()
應該來說是足夠簡單了,另外還有一種方式doctest.testfile(filename),就是把命令行的方式放在文件里進行測試。
2)unittest
unittest歷史悠久,最早可以追溯到上世紀七八十年代了,C++,Java里也都有類似的實現,Python里的實現很簡單。
unittest在python里主要的實現方式是TestCase,TestSuite。用法還是例子起步。
復制代碼代碼如下:
from widget import Widget
import unittest
# 執行測試的類
class WidgetTestCase(unittest.TestCase):
def setUp(self):
self.widget = Widget()
def tearDown(self):
self.widget.dispose()
self.widget = None
def testSize(self):
self.assertEqual(self.widget.getSize(), (40, 40))
def testResize(self):
self.widget.resize(100, 100)
self.assertEqual(self.widget.getSize(), (100, 100))
# 測試
if __name__ == "__main__":
# 構造測試集
suite = unittest.TestSuite()
suite.addTest(WidgetTestCase("testSize"))
suite.addTest(WidgetTestCase("testResize"))
# 執行測試
runner = unittest.TextTestRunner()
runner.run(suite)
簡單的說,1>構造TestCase(測試用例),其中的setup和teardown負責預處理和善後工作。2>構造測試集,添加用例3>執行測試需要說明的是測試方法,在Python中有N多測試函數,主要的有:
TestCase.assert_(expr[, msg])
TestCase.failUnless(expr[, msg])
TestCase.assertTrue(expr[, msg])
TestCase.assertEqual(first, second[, msg])
TestCase.failUnlessEqual(first, second[, msg])
TestCase.assertNotEqual(first, second[, msg])
TestCase.failIfEqual(first, second[, msg])
TestCase.assertAlmostEqual(first, second[, places[, msg]])
TestCase.failUnlessAlmostEqual(first, second[, places[, msg]])
TestCase.assertNotAlmostEqual(first, second[, places[, msg]])
TestCase.failIfAlmostEqual(first, second[, places[, msg]])
TestCase.assertRaises(exception, callable, ...)
TestCase.failUnlessRaises(exception, callable, ...)
TestCase.failIf(expr[, msg])
TestCase.assertFalse(expr[, msg])
TestCase.fail([msg])
2. 如何調試python腳本,使用python自帶工具
1, 首先下載並安裝Python 2.7
2, 寫一個簡單地Python源文件,比如test.py,內容如下:
import sys, os
def test(arg1, arg2):
print "begin test..."
fun1('1', '2')
print arg1
print arg2
def fun1(arg1, arg2):
print arg1
print arg2
if __name__ == '__main__':
test(*sys.argv[1:])
3, 右鍵test.py->Edit with IDLE進入IDLE界面,Run->Run Mole打開Python Shell窗口,點擊Debug->Debugger,就打開Debug Control界面,你也將會在Python Shell窗口看到如下顯示信息:
[DEBUG ON]
4, 開始調試
4.1,在Python Shell輸入如下測試行:
>>> test('3', '4')
4.2,在 fun1('1', '2')或者任意你想要查看的地方設置斷點(在IDLE界面里右鍵->set breakpoint).
4.3,回到Python Shell界面按回車,你將看到在debug control窗口裡顯示test.py的第一行。
4.4,按Go按鈕,將定位到test.py你剛才設置斷點的地方.
4.5,按Step或者Over進行調試(Step與Over的區別在於:Step將進入到函數內部進行調試,Over是指不進入到函數內部進行調試,而是直接執行完這個函數).
4.6,你將看到在Python Shell窗口裡分步看到列印的內容如下:
[DEBUG ON]
>>> test('3', '4')
begin test...
1
2
3
4
[DEBUG ON]
>>>
3. 分享!5種常用的Python工具
IDLE
在安裝Python時,默認也會安裝IDLE。這是最優秀的Python工具之一。它可以降低Python入門的門檻。它的主要功能包括Python Shell窗口(互動式解釋器)、自動補齊、高亮顯示語法以及基本的集成調試器。IDLE輕巧易用,方便學習。但是,它不適用於大型項目。許多程序員都將其作為最佳的Python工具。
Scikit-learn
Scikit-learn是數據科學最常使用的Python工具之一。這是一款為機器學習和數據科學而設計的Python工具。該工具主要用於處理分類、回歸、聚類、模型選擇以及預處理等任務。scikit-Learn最出色的功能是在測試數據集上執行基準測試時,表現出的驚人速度。因此,對於程序員和學生來說,Scikit-learn是最優秀的Python工具之一。
Theano
Theano是一款數據科學的Python工具,對於程序員和學生而言,這是一款非常可靠的工具。它是深度學習方面最好的Python工具,因此非常適合深度學習。Theano的設計主旨是用戶友好、模塊化、易於擴展,而且可以與Python配合使用。它能夠以最佳方式表達神經網路。Theano可以在TensorFlow和CNTK等流行的神經網路之上運行。
Selenium
Selenium是最佳的Python自動化工具之一。它適用於Python測試的自動化,常常用作Web應用程序的自動化框架。我們可以利用Selenium,通過許多編程語言(包括Java、C#、Python、ruby以及其他許多程序員和學生使用的語言)來編寫測試腳本。你還可以在Selenium中集成Junit和TestNG等工具,來管理測試用例並生成報告。
Test complete
Testcomplete是另一款非常出色的Python自動化工具。支持Web、移動和桌面自動化測試。更高級的應用需要獲得商業許可,而且它還可以幫助學生提高學業成績。Test complete還可以像機器人框架一樣執行關鍵字驅動的測試。它擁有最出色的錄制以及回放功能,非常實用。
關於分享!5種常用的Python工具,環球青藤小編就和大家分享到這里了,學習是永無止境的,學習一項技能更是受益終身,所以,只要肯努力學,什麼時候開始都不晚。如果您還想繼續了解關於python編程的學習方法及素材等內容,可以點擊本站其他文章學習。
4. python的腳本如何執行
運行python腳本的幾種方法:
一. 終端命令行下
[]$python "name.py"
二. python環境中
若腳本名稱為name.py,
其內容為:
a='head'
b='hehe'
print(a,b)
則使用
>>>impport name
針對此種方法我們使用下面的語句來顯示內容:
>>>print (name.a)
>>>head
>>>print (name.b)
>>>hehe
在同一個python環境中,第一次import載入以後,以後再使用import就不會有相應的結果顯示了,在這個時候可以使用>>>reload(name)在python
3.0中可能要載入ipm模塊才能使用reload()函數
>>>from imp import reload
>>>reload(name)
三.使用from
假設腳本的名稱為name.py
name.py的內容為:
a='head'
b='hehe'
print(a,b)
可以使用下邊的方法來運行腳本:
>>>from name import a,b,c
在這個python環境中我們就可以使用簡單的變數名來調用其內容。
eg:
>>>a
>>>'head'
>>>b
>>>'hehe'
四.使用exec
方法為:
>>>exec(open('name.py').read())
NOTICE:在上面的方法中,第三種和第四種方法會默認覆蓋python環境中已經存在
的且和name.py中有重名的變數名,且系統不會給出提示,請注意這一點!
5. 學習Python,寫一些生物信息中可以用到的小的腳本,有沒有推薦的
python在多個領域都有很多應用,常用的文件處理,系統管理等,網站構建有強大的django框架,生物信息有biopython框架,科學計算有多框架集成的pythonxy等等