《編寫高質量代碼:改善Python程序的91個建議》點評贈書
活動內容
活動時間:2014年6月27日-7月8日
活動要求:
活動形式一 :在新浪微博關注@Linux中國 @互動出版網china-pub 轉發本微博並添加有效評論。
活動形式二:在Linux中國(http://linux.cn)對本書進行評論,說說你喜愛它的理由。
活動獎品:活動結束後,我們會評選出2位積极參与評論的網友贈送《編寫高質量代碼:改善Python程序的91個建議》圖書1本,3位獲得@互動出版網china-pub 贈送的30元互動出版網購書卡1張
特此注意:1、本站論壇評論方式參與的用戶,評論前需登錄您的Linux中國賬號,匿名評論無效。
2、微博用戶參與活動,活動結束後注意查看@LINUX中國 官方微博公布的中獎名單或留意您的微博私信,本站用戶參與活動,注意查看您註冊Linux中國時所填寫的郵箱。 我們會通過微博私信以及電子郵件兩種方式獲取您的郵寄信息。
基本信息
作者: 張穎 賴勇浩
出版社:機械工業出版社
上架時間:2014-6-13
出版日期:2014 年6月
開本:16開
頁碼:262
版次:1-1
試讀章節:http://images.china-pub.com/ebook3770001-3775000/3770256/ch01.pdf
購買鏈接:http://product.china-pub.com/3770256
內容簡介
在通往「python技術殿堂」的路上,本書將為你編寫健壯、優雅、高質量的python代碼提供切實幫助!內容全部由python編碼的最佳實踐組成,從基本原則、慣用法、語法、庫、設計模式、內部機制、開發工具和性能優化8個方面深入探討了編寫高質量python代碼的技巧與禁忌,一共總結出91條寶貴的建議。每條建議對應python程序員可能會遇到的一個問題。本書不僅以建議的方式從正反兩方面給出了被實踐證明為十分優秀的解決方案或非常糟糕的解決方案,而且分析了問題產生的根源,會使人有一種醍醐灌頂的感覺,豁然開朗。
《編寫高質量代碼:改善python程序的91個建議》針對每個問題所選擇的應用場景都非常典型,給出的建議也都與實踐緊密結合。書中的每一條建議都可能在你的下一行代碼、下一個應用或下一個項目中顯露鋒芒。建議你將本書擱置在手邊,隨時查閱,相信這麼做一定能使你的學習和開發工作事半功倍。
作者簡介
張穎,資深軟體開發工程師,精通Java、Python、Perl等技術,以及多種腳本語言,有多年開發經驗。曾就職於阿爾卡特朗訊上海公司的LTE無線事業部,現就職於IBM CSTL,工作期間獲得過多種獎勵,並於2012年獲得一項雲計算相關的專利。
賴勇浩,資深軟體開發工程師,自2006年起以編寫Python代碼為生,現已創業。在Python領域有深厚的積累,CSDN博客專家,博客瀏覽量超過200萬。也是珠三角技術沙龍創始人之一,從2009年起擔任沙龍組委,長年活躍在社區第一線,在國內Python圈子裡有較高的知名度和影響力。有超過7年的遊戲開發經驗,擅長Python、C++等網遊相關的技術,曾就職於網易等網遊研發廠商;現專註於中國彩票事業,開發互聯網、電話和自助終端彩票銷售平台,以促進行業信息化為己任。
精彩書摘
第1章
引論
「羅馬不是一天建成的」,編寫代碼水平的提升也不可能一蹴而就,通過一點一滴的積累,才能達成從量變到質變的飛躍。這種積累可以從很多方面取得,如一些語言層面的使用技巧、常見的注意事項、編程風格等。本章主要探討Python中常見的編程準則,從而幫助讀者進一步理解Pythonic的本質。本章內容包括如何編寫Pythonic代碼、在實際應用中需要注意的一些事項和值得提倡的一些做法。希望讀者通過對本章的學習,可以在實際應用Pythonic的過程中得到啟發和幫助。
建議1:理解Pythonic概念
什麼是Pythonic?這是很難定義的,這就是為什麼大家無法通過搜索引擎找到準確答案的原因。但很難定義的概念絕非意味著其定義沒有價值,尤其不能否定它對編寫優美的Python代碼的指導作用。
對於Pythonic的概念,眾人各有自己的看法,但大家心目之中都認同一個更具體的指南,那就是Tim Peters的《The Zen of Python》(Python之禪)。在這一充滿著禪意的詩篇中,有幾點非常深入人心:
美勝丑,顯勝隱,簡勝雜,雜勝亂,平勝陡,疏勝密。
找到簡單問題的一個方法,最好是唯一的方法(正確的解決之道)。
難以解釋的實現,源自不好的主意;如有非常棒的主意,它的實現肯定易於解釋。
不僅這幾點,其實《Python之禪》中的每一句都可作為編程的信條。是的,不僅是作為編寫Python代碼的信條,以它為信條編寫出的其他語言的代碼也會非常漂亮。
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive