① python3實現自動化測試 [基於python語言實現自動化測試的研究]
[摘 要]自動化測試近年來的技術已經越來越成熟,在某些方面有著不可替代的作用,例如在性能測試,壓力測試中,自動化測試可以模擬成千上萬個用戶對目標程序進行測試。本文通過對大型實際項目的分析研究,分析針對某一產品的自動化測試框架。然後討論怎樣用python實現自動化測試。
[關鍵詞]測試技術手工測試自動化測試python腳本
[中圖分類號]TP3[文獻標識碼]A[文章編號]1007-9416(2010)03-0088-01
地添加測試用例,為測試用例提供公用函數,執行測試用例,發送測試結果等功能。
1 自動化測試的重要概念
檢查點(CheckPoint):將特定屬性的當前數據與期望數據進行比較的地方,用於判定被測試程序的功能是否正確。
成本收益比:並不是所有的測試都適合自動化測試,衡量一個用例是否適合自動化測試一個很重要的參考是國際上流行的自動化測試成本收益比,即是p=k*n/c1+c2。各個參數的意義下:
K=手工執行自動化測試案例所花費的時間成本。
N=自動化測試案例執行的次數
C1=花費在自動化測試前期的(時間成本+人力成本+金錢成本)
C2=花費在自動化測試後期的(時間成本+人力成本+金錢成本)
二八定律:1897年義大利經濟學家帕列托發現的二八定律在軟體行業同樣適用,而可以給我們很多啟發,指導我們的軟體開發和測試。80%的用戶經常使用的是20%的軟體功能。在軟體測試中,80%的bug是集中在20%的軟體模塊中,對於自動化測試來說,找出這20%的測試用例是至關重要的。
2 自動化測試的執行步驟
每次腳本都是從一個統一的文件開始執行的,就是如上的Start.py。這樣做的好處是可以把每個腳本都需要處理的工作放到一個文件中去執行,例如收集一些配置信息,讀取命令行參數。以這樣統一的處理風格為腳本的可讀性提供了保證,也為簡化了測試腳本的編寫,不用每次都要處理一些基本的事務。
啟動文件Start.py首先會讀取命行參數,如pthon Start.py -s FileMenu.suite -t FileNew
通過python的內置函數sys.argv就可以讀取命令行參數吵肢,非常方便。讀取到命令行參數後,在Start.py內部可以判斷命令行的格式是否符合我們的格式,如測試人員不小心把-s 寫成了-z 這樣就要退出測試執行。
如果輸入的格式是正確的,Start.py 負責在特定的目錄下尋找特定的Suite文件和Testcase。Suite文件和Testcase的格式會在下邊的具體實例中作介紹。
找到特定的Testcase後就可以執行測試用例,根據檢查點的通過或失敗發送測試報告,該報告會以網頁的形式顯示,方便測試人員和開發人員的查找調試。
3 用python實現GUI測試
圖形用戶界面(GUI) 就是使用圖象,輸入的文字,帶圖標的計算機界面,取而代之了許多鍵盤的功能。GUI可以讓用戶通過圖標和滑鼠與計算機進行交互,而不是單調地在命令行中輸入文本進行操作。設計良好的圖形用戶界面可以使用戶從命令中解放出來。
GUI測試主要包括兩個方面:一是純GUI測試,主要關注應用程序上GUI組件是否符合規范或是用戶的使用習慣,二是功能測試,主要是檢驗和驗證系統是否實現了系統的業務需求,旨在驗證系統的業務實現能力。但事實上兩者不是完全獨立的,一方面GUI的測試必定要觸發功能,另一方面,功能測試也一定要通過GUI將搜碰洞事件傳遞給後台服務。
3.1 編寫測試用例
ID 466540 :: Test CaseGeneral UI File Menu
Version 2
世枯PriorityP1
Summary:Verify File New window
Steps
SelectFile -> New
Expected Results
1. The VM creation window should open.
Keywords: i18n
Requirements : None
Created on 09/22/2008 20:58:23by wangw
Last modified on04/17/2009 00:20:53by marian
3.2 測試用例分析
以上是一個完整測試用例, 該測試用例包括:
測試ID 466540 , 有了測試ID就可以在測試人員提交bug後,QA或開發人員通過ID找到這個測試用例。還有一個更大的用處就是,在自動個腳本生成測試報告後,可以根據測試ID把該測試用例顯示在測試報告中,以供測試人員和開發人員調試。
測試名稱,根據測試名稱應該可以很快了解測試用例的內容,所以好的測試名稱也是非常重要的。
測試用例的版本(Version)。
測試優先順序(Priority),測試優先順序也是一個很重要的參數,因為大型項目都要有很多測試用例要執行。只有明確測試優先順序才能確保重要的測試用例得以及時進行,保證軟體質量。
測試用例概述(summary),幫助測試執行人員了解該測試用例的用測的功能。
測試步驟,描述測試人員或是自動化腳本每一步是怎樣操作的,例如本例告訴測試人員選擇菜單Fie,然後選擇菜單項New。
預期結果(Expected Results),說明經過以上測試步驟,期望程序運行出現的結果。
4 結語
本文在明確軟體測試理論的基礎上,對自動化測試做了重點闡述,通過實際項目的自動化測試分析,有些測試用例特別適合用自動化測試。例如GUI測試中,用些是要驗證界面元素是否顯示正常。如果是腳本就可以准確無誤地很快驗證完畢,而用人工驗證不僅容易出錯而且費時間。由於時間和硬體條件有限,本論文規避了許多問題,所以仍有許多工作需要完成。例如:做好腳本的復用,使測試腳本不斷積累。及研究怎樣在測試工具和自己搭建框架中尋找平衡等。
[參考文獻]
[1] 張克東.《軟體工程與軟體測試自動化教程》.北京:電子工業出版社,2002.
[2] 朱菊,王志堅,楊雪.《基於數據驅動的軟體自動化測試框架》[J]計算機技術測試與發展,2006.
[3] 馬瑞芳,王會燃.《計算機軟體測試方法的研究》.小型微型計算機系統,2003.
[4] 朱鴻,金凌紫.《軟體質量保障和測試》[M].北京:電子科學出版社,1997.
本文為全文原貌 未安裝PDF瀏覽器用戶請先下載安裝 原版全文
② java是什麼JAVA學習的方法有什麼
Java是一門面向對象編程語言。學習方法有:多看、多寫、多思考。
③ 零基礎自學Java要多久
如果按每天6小時來算,差不多需要8個月才可以找到令自己滿意的工作。
學習是場持久戰,短時間的突擊學習收獲並不是很大,學習重在行動、貴在堅持,能堅持下來才是最難能可貴的。
每天按照視頻的進度學習一天的課程就可以了,可能不理解的地方你需要去查資料、網路,前期一定要打好基礎,有利於後面復雜知識點的學習。
培訓班系統化學習時間花費如下:
第一階段-Java基礎入門:50天
第二階段-JavaWeb階段:40天
第三階段-SSH框架階段:30天
第四階段-項目實戰一:15天
第五階段-SSM框架階段:15天(有了SSH的基礎學這個很快)
第六階段-項目實戰二:30天
一共6個月:拋去上課時間、有事情耽擱、外出、生個小病不想學習、學習枯燥曬網時間基本上要佔據你2個月的學習時間,這么下來一共需要8個月時間。
如果是三天打魚兩天曬網那麼。。。你自己算算。
④ 零基礎的人應該怎麼自學java
1、學習Java可以做網站
Java可以用來編寫網站,現在很多大型網站都用Jsp寫的,JSP全名Java Server Pages
它是一種動態網頁技術,比如我們熟悉的163,一些政府網站都是採用JSP編寫的。
所以學習Java的同學可以找開發網站方面的工作,而且現在找這方面的崗位比較多。
比如:網站開發,當然就是JSP+Servlet+JavaBean,一直以來都相當流行。
2、學習Java可以做Android
Android是一種基於Linux的自由及開放源代碼的操作系統,其源代碼是Java。所以市場上見到的手機系統例如MIUI ,阿里雲,樂蛙等,都是修改源代碼再發行的。
Java做安卓不單單是指系統,還有APP對於更多的開發人員來說,他們更多的時間是花在開發APP上面。
3、學習Java可以做游戲
或者你不知道,在以前諾基亞還很流行的時候,你玩的手機游戲有90%以上都是Java開發的。當然現在已經很少人再去開發了,都轉到安卓上去了。
電腦上也有Java開發的游戲,最經典的是:《我的世界》(minecraft ,簡稱MC),當今世界最具人氣和影響力的網路游戲之一《英雄聯盟》(簡稱lol)。
4、學習Java可以做軟體
一般編程語言都可以做軟體的,Java 也不例外,例如Eclipse,MyEclipse等知名Java開發工具.有關開發軟體組件,可以了解Java Swing編程 或者 awt 相關知識。比如:企業級應用開發,這里是JAVA的天地,大到全國聯網的系統,小到中小企業的應用解決方案,Java都佔有極為重要的地位。
⑤ Java基礎的書有哪些比較好的
書籍的話你可以看看以下幾本書,從java入門到精通:
1.零基礎入門《零基礎學Java》
推薦理由簡單易懂、而且還有配套視頻教程,寫、記都方便。
2、Head First Java
《Head First Java》是本完整的面向對象(object-oriented,OO)程序設計和Java的學習指導。此書是根據學習理論所設計的,讓你可以從學習程序語言的基礎開始一直到包括線程、網路與分布式程序等項目。最重要的,你會學會如何像個面向對象開發者一樣去思考。
而且不只是讀死書,你還會玩游戲、拼圖、解謎題以及以意想不到的方式與Java交互。在這些活動中,你會寫出一堆真正的Java程序,包括了一個船艦炮戰游戲和一個網路聊天程序。
Head First系列的圖文並茂學習方式能讓你快速地在腦海中掌握住知識。敞開心胸准備好學習這些關鍵性的主題:
*Java程序語言
*面向對象程序開發
*Swing圖形化介面
*使用Java API函數庫
*編寫、測試與布署應用程序
*處理異常
*多線程
*網路程序設計
*集合與泛型
3、Effective java 中文版(第2版)
領導開發Java集合框架和並發API包的 約書亞·布洛克 大神所著。
本書適合於有著數年開發經驗Java程序員,通過本書我們可以很多編程中的最佳實踐,並且可以從JDK貢獻者布洛克大神這里汲取經驗。Effective Java從質量,內容和問題解答方式上來說都是一本評價很高的書,因此讀這本書會是一種感覺很棒的體驗。另外本書的章節相對比較輕量,與其他章節耦合度較低,因此在旅行或者閑暇時間閱讀也是可以的。在內容方面,Effective Java包含了從靜態工廠,序列化,equals和hashcode到泛型,枚舉,可變參數以及反射的最佳解決方法。本書對Java各方面知識點的講解會讓你受益匪淺。
4、《Java 編程思想》
是個大部頭,足足 880 頁,文字更是密密麻麻。我不建議大家一個字一個字的讀,知曉其中的精華就可以了。
本書贏得了全球程序員的廣泛贊譽,即使是最晦澀的概念,在Bruce Eckel的文字親和力和小而直接的編程示例面前也會化解於無形。從Java的基礎語法到最高級特性(深入的面向對象概念、多線程、自動項目構建、單元測試和調試等),本書都能逐步指導你輕松掌握。
從本書獲得的各項大獎以及來自世界各地的讀者評論中,不難看出這是一本經典之作。本書的作者擁有多年教學經驗,對C、C++以及Java語言都有獨到、深入的見解,以通俗易懂及小而直接的示例解釋了一個個晦澀抽象的概念。本書共22章,包括操作符、控制執行流程、訪問許可權控制、復用類、多態、介面、通過異常處理錯誤、字元串、泛型、數組、容器深入研究、Java I/O系統、枚舉類型、並發以及圖形化用戶界面等內容。這些豐富的內容,包含了Java語言基礎語法以及高級特性,適合各個層次的Java程序員閱讀,同時也是高等院校講授面向對象程序設計語言以及Java語言的絕佳教材和參考書。
5、Java Web高級編程
Java成為世界上編程語言之一是有其優勢的。熟悉JavaSE的程序員可以輕松地進入到Java EE開發中,構建出安全、可靠和具有擴展性的企業級應用程序。編寫《Java Web高級編程——涵蓋WebSockets、Spring Framework、JPA Hibernate和Spring Security》一書的目的正是如此。
《Java Web高級編程:涵蓋WebSockets、Spring Framework、JPA 》面向的讀者是已經了解Java SE、SQL和基本的HTML,准備將他們的Java編碼技能提升到更高水平的程序員。軟體開發者可以按順序閱讀本書或者在遇到特定的編程問題時將某個章節用作參考。
主要內容
◆ 為企業級Web應用的Java編碼提供了自我指導、自我學習的方法
◆ 幫助Web應用架構師在開發團隊的項目中或者開發過程中應用新的概念
◆ 對Java EE平台7和其中的許多技術提供了詳細的介紹
◆ 講解了Servlet、JSP、WebSockets、Spring Framework、AMQP、JPA和O/RM、Spring Data、全文搜索、Apache Lucene和Hibernate Search、Spring Security和OAuth
◆ 重點介紹Java SE 8中新增加的常用功能,如lambda表達式和新的JSR 310 Java 8 Date and Time API等
6、高性能MySQL
《高性能mysql(第3版)》是mysql 領域的經典之作,擁有廣泛的影響力。第3 版更新了大量的內容,不但涵蓋了最新mysql 5.5版本的新特性,也講述了關於固態盤、高可擴展性設計和雲計算環境下的資料庫相關的新內容,原有的基準測試和性能優化部分也做了大量的擴展和補充。全書共分為16 章和6 個附錄,內容涵蓋mysql 架構和歷史,基準測試和性能剖析,資料庫軟硬體性能優化,復制、備份和恢復,高可用與高可擴展性,以及雲端的mysql 和mysql相關工具等方面的內容。每一章都是相對獨立的主題,讀者可以有選擇性地單獨閱讀。
7、MySQL 5.7從入門到精通(視頻教學版)(第2版)
本書主要包括MySQL的安裝與配置、資料庫的創建、數據表的創建、數據類型和運算符、MySQL函數、查詢數據、數據表的操作(插入、更新與刪除數據)、索引、存儲過程和函數、視圖、觸發器、用戶管理、數據備份與還原、日誌以及性能優化。
後通過3個綜合案例的資料庫設計,進一步講述MySQL在實際工作中的應用。重點介紹MySQL安裝與配置、數據類型和運算符以及數據表的操作。本書注重實戰操作,幫助讀者循序漸進地掌握MySQL中的各項技術。
本書共有480個實例和19個綜合案例,還有大量的經典習題。隨書贈送了近20小時培訓班形式的視頻教學錄像,詳細講解了書中每一個知識點和每一個資料庫操作的方法和技巧。同時光碟中還提供了本書所有例子的源代碼,讀者可以直接查看和調用。 本書適合MySQL資料庫初學者、MySQL資料庫開發人員和MySQL資料庫管理員
8、《深入理解Java虛擬機:JVM高級特性與最佳實踐》
本書適合所有Java程序員、系統調優師和系統架構師閱讀。共分為五大部分,圍繞內存管理、執行子系統、程序編譯與優化、高效並發等核心主題對JVM進行了全面而深入的分析,深刻揭示了JVM的工作原理。
第一部分從宏觀的角度介紹了整個Java技術體系、Java和JVM的發展歷程、模塊化,以及JDK的編譯,這對理解本書後面內容有重要幫助。
第二部分講解了JVM的自動內存管理,包括虛擬機內存區域的劃分原理以及各種內存溢出異常產生的原因;常見的垃圾收集演算法以及垃圾收集器的特點和工作原理;常見虛擬機監控與故障處理工具的原理和使用方法。
第三部分分析了虛擬機的執行子系統,包括類文件結構、虛擬機類載入機制、虛擬機位元組碼執行引擎。
第四部分講解了程序的編譯與代碼的優化,闡述了泛型、自動裝箱拆箱、條件編譯等語法糖的原理;講解了虛擬機的熱點探測方法、HotSpot的即時編譯器、編譯觸發條件,以及如何從虛擬機外部觀察和分析JIT編譯的數據和結果。
第五部分探討了Java實現高效並發的原理,包括JVM內存模型的結構和操作;原子性、可見性和有序性在Java內存模型中的體現;先行發生原則的規則和使用;線程在Java語言中的實現原理;虛擬機實現高效並發所做的一系列鎖優化措施。
9、《Redis 深度歷險:核心原理與應用實踐》
· Redis 是互聯網技術架構在存儲系統中使用得最為廣泛的中間件,也是中高級後端工程師技術面試中面試官最喜歡問的工程技能之一,特別是那些優秀的互聯網公司,通常要求面試者不僅僅掌握 Redis 基礎用法,還要理解 Redis 內部實現的細節原理。
· 《Redis 深度歷險:核心原理與應用實踐》作者老錢在使用 Redis 上積累了豐富的實戰經驗,希望幫助更多後端開發者更快、更深入地掌握 Redis 技能。
· 《Redis 深度歷險:核心原理與應用實踐》分為基礎和應用篇、原理篇、集群篇、拓展篇、源碼篇共 5 大塊內容。基礎和應用篇講解對讀者來說最有價值的內容,可以直接應用到實際工作中;原理篇、集群篇讓開發者透過簡單的技術表面看到精緻的底層世界;拓展篇幫助讀者拓展技術視野和夯實基礎,便於進階學習;源碼篇讓高階的讀者能夠讀懂源碼,掌握核心技術實力。
· 《Redis 深度歷險:核心原理與應用實踐》適合以下人群閱讀:有 Redis 基礎,渴望深度掌握 Redis 技術原理的中高級後端開發者;渴望成功進入大型互聯網企業研發部的中高級後端開發者;需要支撐公司 Redis 中間件運維工作的初中級運維工程師;對 Redis 中間件技術好奇的中高級前端技術研究者。
10、Spring Cloud微服務實戰
《Spring Cloud微服務架構實戰》以Spring Cloud為基礎,深入講解微服務開發的相關框架,包括服務管理框架Eureka、負載均衡框架Ribbon、服務客戶端Feign、容錯框架Hystrix、消息框架Stream等。除了介紹這些微服務相關的框架外,在本書的第11章,還介紹了如何使用Spring Data框架操作各個主流資料庫(MySQL、MongoDB、Redis)。在第12章,以一個案例為基礎結束本書內容,在該章中講解了模板引擎Thymeleaf,整本書將會為大家提供一整套微服務應用開發的解決方案。
11、《深入淺出Spring Boot2.x》《springboot實戰實踐》
深入淺出Spring Boot2.x:Spring框架是Java EE開發的事實標准,而Spring Boot是業界最流行的微服務開發框架。本書從一個最簡單的工程開始講解Spring Boot企業級開發,其內容包含全註解下的Spring IoC和AOP、資料庫編程、資料庫事務、NoSQL技術、Spring MVC、Spring 5新一代響應式框架WebFlux、REST風格和Spring Cloud分布式開發等。
springboot實戰實踐:本書是Spring Boot領域的經典著作,從技術、實踐和原理3個維度對Spring Boot進行了系統且深入的講解。作者是SpringBoot領域的資深專家,有超過15年的IT行業Boot領域的資深專家,有超過15年的IT行業。
12、Nginx實戰:基於Lua語言的配置、開發與架構詳解
講解了Nginx 在反向代理和應用開發中的作用,閱讀本書可以了解Nginx 在互聯網開發中扮演的多個角色,充分利用這些角色的各項功能有助於提升服務的整體性能。本書所介紹的大部分功能是通過Nginx Lua 進行開發和配置的,但並不要求讀者精通Lua,在必要的位置,本書會對Lua 進行選擇性講解。涉及實戰的內容會有配套源碼,方便讀者學習和使用。
本書適合廣大運維人員和開發人員學習,對使用Nginx 完成各種服務架構感興趣的架構師也可以閱讀本書。閱讀本書需要有對Nginx 的初級或中級配置經驗。
我目前是在職Java開發,如果你現在正在學習Java,了解Java,渴望成為一名合格的Java開發工程師,在入門學習Java的過程當中缺乏基礎入門的視頻教程,都可以相互交流學習,可以加我的技術討論自學資料qun:前面是926:中間是452:最後是303
知識體系整理好(源碼,筆記,PDF教程,學習視頻)免費領取
13、spring技術內幕-解析架構原理
spring技術內幕:深入解析spring架構與計原理(第2版)》是國內唯一一本系統分析spring源代碼的著作,也是spring領域的問鼎之作,由業界擁有10餘年開發經驗的資深java專家親自執筆,java開發者社區和spring開發者社區聯袂推薦。
本書第1版不僅在內容上獲得了讀者的廣泛好評,而且在銷量上也摘取了同類書的桂冠,曾經一度掀起java類圖書的銷售熱潮。第2版不僅繼承了第1版在內容組織和寫作方式上的優點,而且還根據廣大讀者的反饋改進了若干細節上的不足。更為重要的是,結合spring的最新版本對過時的內容進行了更新,並增加了大量新內容,使本書更趨近於完美。
《spring技術內幕:深入解析spring架構與計原理(第2版)》從源代碼的角度對spring的內核和各個主要功能模塊的架構、設計和實現原理進行了深入剖析。你不僅能從本書中參透spring框架的優秀架構和設計思想,還能從spring優雅的實現源碼中一窺java語言的精髓。
本書在開篇之前對spring的設計理念和整體架構進行了全面的介紹,能讓讀者從宏觀上釐清spring各個功能模塊之間的關系;
第一部分詳細分析了spring的核心:ioc容器和aop的實現,能幫助讀者了解spring的運行機制;
第二部分深入闡述了各種基於ioc容器和aop的java ee組件在spring中的實現原理;
第三部分講述了acegi安全框架、dm模塊以及flex模塊等基於spring的典型應用的設計與實現。
無論你是java程序員、spring開發者,還是平台開發人員、系統架構師,抑或是對開源軟體源代碼著迷的代碼狂人,都能從本書中受益。
⑥ 杞鑰冨摢浜涙瘮杈冩湁鐢
涓銆佺幇鍦ㄨ蔣鑰冿紝涓鑸澶у墮兘鏄鑰冧腑綰э紝鎴栬呮槸鐩存帴鑰冮珮綰с傚湪浼楀氱戠洰涓錛屼腑綰х殑緋葷粺闆嗘垚欏圭洰綆$悊宸ョ▼甯錛岄珮綰х殑淇℃伅緋葷粺欏圭洰綆$悊甯榪2涓鏈鐑闂錛屼竴騫磋2嬈★紝浼佷笟鏈璁ゅ彲銆傚傛灉涓嶆槸鍏鍙告槑紜瑕佹眰錛屼竴鑸宸ヤ綔3騫翠互涓婄殑鍚屽︼紝澶у墮兘鍙浠ユ寫鎴橀珮綰х殑淇℃伅緋葷粺欏圭洰綆$悊甯堬紝涓姝ュ埌浣嶏紝鑾峰彇楂樼駭鑱岀О銆
鎵╁睍璧勬枡錛
涓銆佽冪敓鎶ュ悕鏂瑰紡涓昏佸垎涓猴細緗戜笂鎶ュ悕涓庤冪敓鏈浜哄埌鎸囧畾鍦扮偣鎶ュ悕涓ょ嶃
浜屻佷笂鍗婂勾鎶ュ悕涓鑸瀹夋帓鍦 3 鏈堝垵鑷 4 鏈堝垵錛屼笅鍗婂勾涓鑸瀹夋帓鍦 8 鏈堝垵鑷 9 鏈堝垵錛屾姤鍚嶆椂闂寸害涓涓鏈堛備竴浜涘湴鏂逛緥濡傚唴钂欏彜鑷娌誨尯涓婂崐騫寸殑鎶ュ悕鏃墮棿鎻愬墠鍒 1 鏈堜腑鏃銆
涓夈佹姤鍚嶄笌鑰冭瘯鍙渚濇嵁鐨勮韓浠借瘉鏄庡寘鎷錛氬眳姘戣韓浠借瘉銆佸啗浜虹殑璇佷歡銆佹姢鐓с佹埛鍙f湰絳夈
鍥涖佽冪敓鎶ュ悕闇緙寸撼鑰冭瘯璐癸紝璐圭敤鏍囧噯鐢卞綋鍦扮墿浠烽儴闂ㄦ牳鍑嗐
浜斻佹瘡嬈¤冭瘯涓浜哄彧鍏佽告姤鑰冧竴縐嶈祫鏍箋
鍏銆佸悇鍦扮殑鍏蜂綋鎶ュ悕鍔炴硶鐢辮冪敓鎶ヨ冩墍鍦ㄥ湴鐨勫綋鍦拌冭瘯鏈烘瀯鍐沖畾銆
鍙傝冭祫鏂欙細
璁$畻鏈烘妧鏈涓庤蔣浠朵笓涓氭妧鏈璧勬牸錛堟按騫籌級鑰冭瘯----鐧懼害鐧劇
⑦ 有哪些 Python 經典書籍
《Python編程入門:從入門到實踐》
【同時使用Python 2.X和3.X講解】
Amazon編程入門類榜首圖書,最值得關注的Python入門書
從基本概念到完整項目開發,幫助零基礎讀者迅速掌握Python編程,開發實際項目
這本書分兩部分:
第一部分介紹用Python編程所必須了解的基本概念,包括matplotlib、NumPy和Pygal等強大的Python庫和工具介紹,以及列表、字典、if語句、類、文件與異常、代碼測試等內容;
第二部分將理論付諸實踐,講解如何開發三個項目,包括簡單的Python 2D游戲開發,如何利用數據生成互動式的信息圖,以及創建和定製簡單的Web應用,並幫讀者解決常見編程問題和困惑。
《Python基礎教程(第2版·修訂版)》
【Python 2.5講解,Python 3上也能運行】
各大網店最暢銷的Python入門書
全書分為三部分。
第一部分講述Python語法,沒有廢話,還摻入了一些Python 3.0要注意的細節。
第二部分介紹了常用的GUI、框架等應用,點到即止,算是為第三部分做鋪墊了,從數目眾多的應用中可以了解到Python的強大。
第三部分是Project,全書最大的亮點,大家肯定喜歡。
作者將前面講述的內容應用到10個引人入勝的項目中,並以模板的形式介紹了項目的開發過程,手把手教授Python開發。
《Python語言及其應用》
【Python 3.X】
語言風格輕松詼諧,講解多種Python工具和第三方庫
實例涉及商業、科研以及藝術領域使用Python開發各種應用
亞馬遜最受歡迎的Python編程書之一,評分4.5
書中首先介紹了Python的基礎知識,然後逐漸深入多種主題,結合教程和攻略式風格來講解Python 3中的概念。每章結尾的練習可以幫助你鞏固所學的知識。
本書會為你學習Python打下堅實的基礎,包括測試、調試、代碼復用的最佳實踐以及其他開發技巧。
《Python編程入門(第3版)》
【Python 3.X 】
從算術運算、字元串、變數,到函數、數據結構、輸入輸出和異常處理,應有盡有
《父與子的編程之旅:與小卡特一起學Python》
【Python 2.X 】
原版Amazon 最受歡迎的青少年編程圖書
最簡單易學的內容組織方式,老少皆宜
第一版獲Jolt大獎
本書中,Warren和Carter父子以親切的筆調、通俗的語言,透徹全面地介紹了計算機編程世界。
他們以簡單易學的Python語言為例,通過可愛的漫畫、有趣的例子,生動地介紹了變數、循環、輸入和輸出、數據結構以及圖形用戶界面等編程的基本概念。
只要懂得計算機的基本操作,如啟動程序、保存文件,任何人都可以跟隨本書,由簡入難,學會編寫程序,甚至製作游戲。
本書內容經過教育專家的評審,經過孩子的親身檢驗,並得到了家長的認可。
《編程導論》
【Python 2.7】
以麻省理工學院開放式課程(OpenCourseWare)中最受歡迎的計算機科學課程為基礎,旨在培養讀者的編程思維,使讀者擁有計算機科學家的視野
本書涵蓋了Python的大部分特性,重點介紹如何使用Python這門語言,共包含編程基礎、Python程序設計語言、理解計算的關鍵概念、計算問題的解決技術等四個方面。
本書將Python語言特性和編程方法貫穿全書,目的是幫助讀者在學習Python的同時掌握如何使用計算來解決有趣的問題。
《流暢的Python》
【兼顧Python 3和Python 2】
PSF研究員、知名PyCon演講者心血之作
Python核心開發人員擔綱技術審校
全面深入,對Python語言關鍵特性剖析到位
大量詳盡代碼示例,並附有主題相關高質量參考文獻和視頻鏈接
本書致力於幫助Python開發人員挖掘這門語言及相關程序庫的優秀特性,避免重復勞動,同時寫出簡潔、流暢、易讀、易維護,並且具有地道Python風格的代碼。本書尤其深入探討了Python語言的高級用法,涵蓋數據結構、Python風格的對象、並行與並發,以及元編程等不同的方面。
《Python項目開發實戰(第2版)》
【Python 2.7】
網羅Python項目開發中的流程,讓你的編程事半功倍
Python項目與封裝/團隊開發環境/問題驅動開發/源碼管理(Mercurial) Jenkins持續集成(CI)/環境搭建與部署的自動化(Ansible)/Django框架……
這是一本偏工程的圖書,沒怎麼講Python語言基礎知識,直接告訴你怎麼搭建開發環境,做好代碼管理和文檔管理以及缺陷管理等工作。
《Python網路編程攻略》
【Python 2.7】
可作為任何一門網路編程課程中培養實踐技能的補充材料
需要讀者對Python語言及TCP/IP等基本的網路概念有了解,但即使不精通也能通過本書理解相關概念
本書全面介紹了Python網路編程涉及的重要問題,包括網路編程、系統和網路管理、網路監控以及Web應用開發。作者通過70多篇攻略,清晰簡明地描述了各種網路任務和問題,提出了可用於多種場景的解決方案,並細致地分析了整個操作過程。
《Python網路編程(第3版)》
【Python 3.X】
涵蓋網路編程所有經典話題,提供大量代碼清單及示例
從應用開發角度介紹網路編程基本概念、模塊以及第三方庫
本書針對想要深入理解使用Python來解決網路相關問題或是構建網路應用程序的技術人員,結合實例講解了網路協議、網路數據及錯誤、電子郵件、伺服器架構和HTTP及Web應用程序等經典話題。
具體內容包括:全面介紹Python3中最新提供的SSL支持,非同步I/O循環的編寫,用Flask框架在Python代碼中配置URL,跨站腳本以及跨站請求偽造攻擊網站的原理及保護方法,等等。
《Python性能分析與優化》
【Python 2.X】
全面掌握Python代碼性能分析和優化方法
消除性能瓶頸,迅速改善程序性能
本書首先介紹什麼是性能分析,性能分析如何在項目開發周期中發揮作用,以及通過在項目中進行性能分析實踐能夠取得的效果。
緊接著介紹分析性能所需的核心工具(性能分析器和可視化性能分析器)。
然後介紹一系列性能優化技術,最後一章會介紹一個具有實際意義的優化案例。
《精通Python設計模式》
【Python 3.X】
用現實例子展示各模式的關鍵特性
16種基本設計模式,輕松解決軟體設計常見問題
本書分三部分,共16章介紹一些常用的設計模式。
第一部分介紹處理對象創建的設計模式,包括工廠模式、建造者模式、原型模式;
第二部分介紹處理一個系統中不同實體(類、對象等)之間關系的設計模式,包括外觀模式、享元模式等;
第三部分介紹處理系統實體之間通信的設計模式,包括責任鏈模式、觀察者模式等。
《Flask Web開發:基於Python的Web應用開發實戰》
【Python 2.7和3.3】
從安裝與環境設置講起,一步一步搭建伺服器端Web應用
全流程講解Web應用開發,給出最佳實踐
本書共分三部分,全面介紹如何基於Python微框架Flask進行Web開發。
第一部分是Flask簡介,介紹使用Flask框架及擴展開發Web程序的必備基礎知識。
第二部分則給出一個實例,真正帶領大家一步步開發完整的博客和社交應用Flasky,從而將前述知識融會貫通,付諸實踐。
第三部分介紹了發布應用之前必須考慮的事項,如單元測試策略、性能分析技術、Flask程序的部署方式等。
《Python Web開發:測試驅動方法》
【(Django、Selenium)相關部分使用Python 3.3講解】
亞馬遜4.8星評好書
實戰式TDD開發指南,使用Django等流行框架開發現代Web應用!
學習Django、Selenium、Git、jQuery和Mock,以及其他當前流行Web開發技術
「這本書很棒、很有趣,所講的全都是重點知識。如果有人想用Python做測試、學習Django或者想使用Selenium,我極力推薦這本書。要使開發者保持頭腦清醒,測試可謂至關重要。Harry完成了一項不可思議的工作,他不僅吸引了我們對測試的關注,而且還探索了切實可行的測試實踐方案。」
——Michael Foord,Python核心開發者,unittest維護者
《數據科學入門》
【Python 2.7】
Google數據科學家、軟體工程師Joel Grus作品
用Python從零開始講解數據科學的重量級讀本
數據科學、機器學習、模式識別領域必備
本書從零開始講解數據科學。
具體內容包括Python簡介,可視化數據,線性代數,統計,概率,假設與推斷,梯度下降法,如何獲取數據,k近鄰法,樸素貝葉斯演算法等。
作者藉助大量具體例子以及數據挖掘、統計學、機器學習等領域的重要概念,通過講解基礎數據科學工具和演算法實現,帶你快速跨入數據科學大門。
書中含大量數據科學領域的庫、框架、模塊和工具包。
《機器學習實戰》
【Python 2.7】
最暢銷機器學習圖書
介紹並實現機器學習的主流演算法
面向日常任務的高效實戰內容
全書通過精心編排的實例,切入日常工作任務,摒棄學術化語言,利用高效的可復用Python代碼來闡釋如何處理統計數據,進行數據分析及可視化。
通過各種實例,讀者可從中學會機器學習的核心演算法,並能將其運用於一些策略性任務中,如分類、預測、推薦。另外,還可用它們來實現一些更高級的功能,如匯總和簡化等。
《機器學習系統設計》
【Python 2.7及以上】
微軟Bing核心團隊成員推出
聚焦演算法編寫和編程方式
結合大量實例學會解決實際問題
本書將向讀者展示如何從原始數據中發現模式,首先從Python與機器學習的關系講起,再介紹一些庫,然後就開始基於數據集進行比較正式的項目開發了,涉及建模、推薦及改進,以及聲音與圖像處理。通過流行的開源庫,我們可以掌握如何高效處理文本、圖片和聲音。同時,讀者也能掌握如何評估、比較和選擇適用的機器學習技術。
《Python數據處理》
【Python 2.7】
將數據處理過程自動化!
全面掌握用Python進行爬蟲抓取以及數據清洗與分析的方法,輕松實現高效數據處理!
本書採用基於項目的方法,介紹用Python完成數據獲取、數據清洗、數據探索、數據呈現、數據規模化和自動化的過程。
主要內容包括:Python基礎知識,如何從CSV、Excel、XML、JSON和PDF文件中提取數據,如何獲取與存儲數據,各種數據清洗與分析技術,數據可視化方法,如何從網站和API中提取數據。
《Python數據分析基礎教程:NumPy學習指南(第2版)》
【Python 2.7】
NumPy中文入門教程,Python數據分析首選
從最基礎的知識講起,手把手帶你進入大數據挖掘領域
囊括大量具有啟發性與實用價值的實戰案例
本書從NumPy安裝講起,逐漸過渡到數組對象、常用函數、矩陣運算、線性代數、金融函數、窗函數、質量控制等內容,致力於向初中級Python編程人員全面講述NumPy及其使用。
另外,通過書中豐富的示例,你還將學會Matplotlib繪圖,並結合使用其他Python科學計算庫(如SciPy和Scikits),讓工作更有成效,讓代碼更加簡潔而高效。
《Python數據挖掘入門與實踐》
【Python 3.4】
全面釋放Python的數據分析能力
掌握大數據時代核心技術,輕松入門數據挖掘技術並將其應用於實際項目
本書使用簡單易學且擁有豐富第三方庫和良好社區氛圍的Python語言,由淺入深,以真實數據作為研究對象,真刀實槍地向讀者介紹Python數據挖掘的實現方法。通過本書,讀者將邁入數據挖掘的殿堂,透徹理解數據挖掘基礎知識,掌握解決數據挖掘實際問題的最佳實踐!
《Python科學計算基礎教程》
【Python 2.7及以上】
精彩案例展示Numpy等科學計算模塊的強大功能和廣泛應用
剖析Python關於並行與大數據計算的方法
總結科學計算的任務、難點以及最佳實踐經驗
本書是將Python用於科學計算的實用指南,既介紹了相關的基礎知識,又提供了豐富的精彩案例,並為讀者總結了最佳實踐經驗。
其主要內容包括:科學計算的基本概念與選擇Python的理由,科學工作流和科學計算的結構,科學項目相關數據的各個方面,用於科學計算的API和工具包,如何利用Python的NumPy和SciPy包完成數值計算,用Python做符號計算,數據分析與可視化,並行與大規模計算,等等。
《Python數據分析實戰》
【Python 2.X】
了解Python在信息處理、管理和檢索方面的強大功能
學會如何利用Python及其衍生工具處理、分析數據
三個真實Python數據分析案例,將理論付諸實踐
《Python數據分析實戰》展示了如何利用Python 語言的強大功能,以最小的編程代價進行數據的提取、處理和分析,主要內容包括:數據分析和Python 的基本介紹,NumPy 庫,pandas 庫,如何使用pandas 讀寫和提取數據,用matplotlib 庫和scikit-learn 庫分別實現數據可視化和機器學習,以實例演示如何從原始數據獲得信息、D3 庫嵌入和手寫體數字的識別。
《Python網路數據採集》
【Python 3.X】
原書4.6星好評,一本書搞定數據採集
涵蓋數據抓取、數據挖掘和數據分析
提供詳細代碼示例,快速解決實際問題
本書介紹網路數據採集,並為採集新式網路中的各種數據類型提供了全面的指導。
第一部分重點介紹網路數據採集的基本原理:如何用Python從網路伺服器請求信息,如何對伺服器的響應進行基本處理,以及如何以自動化手段與網站進行交互。
第二部分介紹如何用網路爬蟲測試網站,自動化處理,以及如何通過更多的方式接入網路。
《Python計算機視覺編程》
【Python 2.6及以上】
亞馬遜計算機視覺類圖書No.1
詳細剖析多種計算機視覺工具
大量示例極易上手
本書是計算機視覺編程的權威實踐指南,通過Python語言講解了基礎理論與演算法,並通過大量示例細致分析了對象識別、基於內容的圖像搜索、光學字元識別、光流法、跟蹤、3D重建、立體成像、增強現實、姿態估計、全景創建、圖像分割、降噪、圖像分組等技術。