日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

关于Python编程的一些问答

發(fā)布時間:2025/3/21 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于Python编程的一些问答 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

關(guān)于Python編程的一些問答

導(dǎo)語

大約1個月前,oschina.net和華章圖書一起合作做了一個活動:OSC第51期高手問答——聊聊python那些事,來推廣我參與撰寫的書《編寫高質(zhì)量代碼:改善Python程序的91個建議》(豆瓣鏈接)。在回答問題的過程中,我看到有若干問題是好幾個人都問了的,就萌發(fā)了在事后把這些問答整理整理的想法,以下內(nèi)容就是來自那一次的問答。為簡化整理,已經(jīng)去掉了提問人的昵稱,并做了簡單的分類。

糾結(jié)的Py2與Py3之選

Q:Python 3 會導(dǎo)致Python的什么前景?最終由3統(tǒng)一,還是一直分裂?各自用自己的版本?

A:py3自發(fā)布以來,進步很大,解決了很多py2無法解決的問題,所以我是堅信大家最終會轉(zhuǎn)到py3。現(xiàn)在py3已經(jīng)有許多非常吸引人的特性,比如yield from,比如asyncio,比如更漂亮的庫結(jié)構(gòu),等等。但我承認(rèn)py3還沒有一個巨大的吸引讓大家轉(zhuǎn)過去,yield from 算半個,另外半個我覺得是jit,想像一下py3自帶jit,運行速度是py2的3到10倍,大家肯定一窩蜂轉(zhuǎn)過去了。我覺得py3是未來,但也贊同兩個割裂的版本影響推廣。


Q:新手入門應(yīng)該學(xué)2還是3?2會被Python團隊放棄嗎?

A:學(xué)py2吧,如果到時要轉(zhuǎn)py3也是很容易的事。但如果直接學(xué)py3,到時候項目要用py2,就會覺得由奢入儉,很痛苦。


Q:請問您覺得Python3.x需要多久才能成為主流?

A:還有比較長的時間,但如果py3.5有獨占的、可靠的、官方的jit方案的話,應(yīng)該會加速很多很多!


怎樣學(xué)習(xí)Python

Q:Python適合作為一個編程入門語言嗎。

A:考慮到就業(yè)等,我覺得C語言還是更適合作為入門。


Q:python學(xué)習(xí)的進階?基本知識掌握后,該怎么學(xué)習(xí)?

A:如果已經(jīng)在工作了,那就直接嘗試用python去解決工作需求就好了;如果是學(xué)生,那就去復(fù)制已存在的網(wǎng)站,把它的功能都弄來,比如oschina。


Q:高質(zhì)量的代碼是怎么寫的,怎么提升自己的代碼的質(zhì)量?

A:個人看法:1、熟悉語言的細(xì)節(jié);2、熟悉語言和庫的最佳實踐;3、多看一些提升代碼質(zhì)量的指導(dǎo)書籍;4、同行評審;5、多學(xué)幾門語言,博采眾長。


Q:對一個java開發(fā)者來說學(xué)習(xí)使用python有什么好的建議嗎?

A:像當(dāng)年學(xué)習(xí)java一樣學(xué)習(xí)它。


Q:初學(xué)者,有什么好的網(wǎng)站推薦學(xué)習(xí)?

A:還是讀書、看手冊吧,網(wǎng)站的知識太零散,不成體系,容易學(xué)成野路子程序員。


Q:學(xué)習(xí)和使用了一段python后怎么做才能更好的提高自己使用python的能力呢?

A:我的回答是復(fù)刻一些產(chǎn)品,比如自己嘗試做個豆瓣、oschina之類。


Q:《編寫高質(zhì)量代碼:改善Python程序的91個建議》這本書適合其它非Python程序員看嗎?

A:不適合。它的定位是對python有所了解的人。給初中級python程序員提升到中高級,這樣的定位。


Q:請推薦幾個比較優(yōu)秀的Python開源項目,用來學(xué)習(xí)的。

A:優(yōu)秀的python開源項目啊,我想一下,額,看一下trac和reviewboard?


Q:你覺得你學(xué)Python以來覺得關(guān)于Python最好的書籍有哪些呢?語言基礎(chǔ)、語言設(shè)計、框架方面,等等都行。謝謝了。

A:很好的問題,我覺得可以回答,因為我自己覺得自己的書也不是“最好的”那個層次。推薦《expert python programming(中譯Python高級編程,翻譯差強人意)》、《Python源碼剖析》。


Q:你好,我有個問題想請教你,如何成為真正的pythoner。我以前是做C++的,現(xiàn)在工作會接觸一些python web方面的任務(wù)。我最開始接觸python的時候?qū)W了些基本的語法就開始嘗試寫與算法相關(guān)的程序了,所以寫python程序的時候代碼還是有C++的影子,直到現(xiàn)在工作中維護之前別人的python web程序的時候,發(fā)現(xiàn)自己的python程序太不優(yōu)雅了,好多時候有的功能可以用更美更快更高效的方式實現(xiàn),但我可能會像C++里面一樣想要從底層一點一草一木的搭建、控制我的程序,后來發(fā)現(xiàn)可以幾行甚至更短的代碼就可以實現(xiàn)那些功能,而且執(zhí)行效率也更好一點,于是發(fā)現(xiàn)寫python程序不能用以前C++代碼時的思想,或許我可以嘗試更pythoner一點?

A:很有意思的一個問題,個人建議如下:1、通讀一遍手冊,特別是lib ref和lang ref,所謂熟能生巧,對語言本身的熟悉才能寫得更pythonic;2、多看一下經(jīng)典的python項目的文檔,比如flask,比如pip,看看他們提供了什么機制,甚至探究到這樣的機制是怎么提供的;3、不要擔(dān)心,多寫一些python代碼就好了。


應(yīng)用Python的困惑

Q:Python 適合開發(fā)比較復(fù)雜的web項目嗎?

A:在我看來,python適合開發(fā)小中大巨多種復(fù)雜程度的項目,因為能不能把項目做成,最關(guān)鍵的因素還是人。python對web支持不錯,有許多第三方庫,也有django/flask等許多人叫好的框架。


Q:入門Python用哪個操作系統(tǒng)環(huán)境好?我就只在Windows上學(xué)過一點基礎(chǔ),但不知一般真實團隊開發(fā)環(huán)境是怎樣,可以可以介紹下?謝謝!

A:我們一直用linux作為生產(chǎn)環(huán)境,mac os x 是我的開發(fā)環(huán)境,我用過許多年的windows,我不覺得使用windows會影響你的學(xué)習(xí)。


Q:目前python似乎大多數(shù)都是在WEB方向的應(yīng)用,對于做C語言和C++的開發(fā)python有什么可以幫助的地方

A:主要是利用動態(tài)語言的靈活性、解釋型語言的方便性,來解決C/C++在應(yīng)變多變的業(yè)務(wù)需求、快速部署等方面的成本過高或力不從心的問題。


經(jīng)驗之談

Q:學(xué)生,只往PyQt方向發(fā)展可行嗎?

A:從長遠(yuǎn)來說,一里通百里融,只要有個突破口,后面有成就也是很可能的。從短期來說,感覺這方面就業(yè)面比較窄。


Q:感覺python什么都可以做,但是很難做到很好。如果沒有c/c++/go擴展, python能做出大吞吐量,高并發(fā)高穩(wěn)定性的系統(tǒng)嗎

A:說python什么都可以做,還是高估了,但說python很難做到很好,就得看“很好”這個詞怎么定義了,估計各人的標(biāo)準(zhǔn)還不一樣。恕我見識少,好像用go來擴展python還沒有成熟方案?目前我經(jīng)歷的網(wǎng)游、網(wǎng)站方面來說,我覺得還可以做出大吞吐量的高并發(fā)系統(tǒng)的,只是可能硬件成本會稍高些,至于穩(wěn)定性,決定性的因素是開發(fā)人員的質(zhì)量,跟語言關(guān)系不大,甚至c/c++更容易開發(fā)出不穩(wěn)定的系統(tǒng)。


Q:python 的類庫,函數(shù)庫龐大,如何能快速找到自己需要的類庫?

A:這是一個問題,很多語言都有同樣的問題。要不你先去看一下 awesome-python 這個項目?


Q:python程序員收入咋樣

A:好像年收入從幾萬到幾十萬的都見過,但上百萬的我還沒有見過。總得來說,我覺得跟其它語言的差不多,但高薪的比例可能是比較靠前的。


Q:我原是一名ruby程序員,后來看到python有非常多的模塊,如ipython、ipython notebook等非常酷的python應(yīng)用,其實在靈活性上python遠(yuǎn)不如ruby(method_missing等),設(shè)計哲學(xué)也不一樣,想問一下為什么python比ruby的應(yīng)用多很多?特別是科學(xué)計算(Numpy)和繪圖(matplot)?

A:于python會在科學(xué)界這么流行的原因,據(jù)說是因為那些科學(xué)家都不是計算機專業(yè)的,覺得python這貨容易學(xué)容易用,所以就用這個,反正只是一次性地寫寫腳本跑一下試驗數(shù)據(jù)。


Q:我想請問,python用來寫游戲好么,大家不都說python相對運行起來比c++/c慢,而現(xiàn)在大部分游戲引擎也都是c/c++,就看那個Cocos2d,最先貌似是python版,之后還是用c/c++重寫,雖說現(xiàn)在Python版也有更新;另外,現(xiàn)在移動端的各種軟件游戲開發(fā)也比較熱門,python在這方面好像有點跟不上的感覺。

A:是,在手游時代,python已經(jīng)不合適編寫客戶端了。可以嘗試在服務(wù)器端使用它,還是很好的。


Q:我有這么幾個問題想請教一下:1. 多框架、多模塊的實現(xiàn)語言代表著多學(xué)習(xí)成本嗎2. 膠水語言的存在,現(xiàn)在主要用來做什么,其他層面上是如何應(yīng)用的3. 類 Unix 系統(tǒng)管理,如何學(xué)習(xí)他們4. Web 方面與 ruby 之類的有哪些區(qū)別,或者說,優(yōu)缺點5. 寫過文字性的爬蟲,感覺字符集和平臺差異稍有異樣,請問您是如何避免的

A:1. 我不太明白多框架、多模塊是什么意思,我可以理解為python有很多框架嗎?如果是的話,我覺得并不代表更多的學(xué)習(xí)成本,你看一下quick-start,看一下examples,看一下doc里關(guān)于擴展和分拆的機制,就知道這個框架、模塊是否適合你的技術(shù)觀,適合的就行,不適合的就不學(xué),不學(xué)不會有成本;2. 膠水語言的這個問題,我覺得《unix編程藝術(shù)》這本書里談得比我講要好得多,推薦看; 3. 關(guān)于sa這一塊,我了解不多,建議查閱專著;4. ruby的好處就是有ror這樣的大一統(tǒng)解決方案,python是選擇多,麻煩也多;4. 文本處理,在編碼上的問題很多、很難,建議使用 chardet 等方案,但都是有力不能及的地方的,建議接受部分問題是無法解決的現(xiàn)實。


Q:以下的幾個問題想請教一下的:(1) 如何做到高效的python coder, 我也是近這2年才開始用python的,但覺得開化效率還有很多改善的地方,與相對公司內(nèi)部的java組來說。(2) python 的其中一點我比較喜歡的是比較明了,什么東西都比較原生態(tài),相當(dāng)于.net來說過于包裝,這就是它的長處,如果現(xiàn)成的lib也可以找到,請問一下平時一般常用的東西,是自己做成lib好,還是直接用別人寫好的lib好?謝謝(3) python是否比較適合寫web呢或是比較好的選擇?相對于國內(nèi)這個環(huán)境來說,python這一方面真的比較少些,當(dāng)然國外有g(shù)oogle做帶頭大哥,它期下的很多projects都很出彩的,我現(xiàn)在做一個web 方面的project,選擇bottle,它和flask比較類似,速度方面會較好一點,發(fā)現(xiàn)項目進行中遇到不少關(guān)于技術(shù)方面的問題,可查找到的資料比較少,解決問題相當(dāng)困難。

A:1. 怎么做高效的python coder,我覺得跟其它語言沒有二致,不管怎么樣,多讀官方文檔肯定大有增益,這也是我的經(jīng)驗之談。2. 我一般直接用別人寫好的lib,如果有而且用起來爽的話;3. 建議選擇flask/django等社區(qū)比較大、比較活躍的框架。


編碼一線

Q:個人感覺python沒有成熟的IDE,寫程序都是文檔不停不停地翻,不想寫C++或用eclipse,都是自動提示+文檔,我想知道是我實在是才疏學(xué)淺還是python開發(fā)的通病呢?

A:嗯,其實沒有特別厲害的IDE,pyCharm是比較好的,而且有免費的社區(qū)版,習(xí)慣了用E記的,可以試一下pydev。


Q:想問一下,python每import一個模塊都會在內(nèi)存中實例化還是共享一個實例。

A:默認(rèn)是共享一個。


Q:您是用什么工具打包python工程的?我使用pyinstaller打包包含gtk的程序后,執(zhí)行打包后的文件會報_glib module 不存在。不知道還有什么更好的工具沒。最好是跨平臺的。

A:我們一般不打安裝包,我們一般就是用setuptools。


Q:python“函數(shù)”的返回值類型不在語句的語法聲明中,使用python開發(fā)項目,由于返回值類型不那么明確,怎么確保在軟件迭代中不會弄錯?

A:一方面是大家遵守一些最佳實踐,比如保證返回值都是同一類型的;二是充分進行單元測試;三是使用較新的python版本,已經(jīng)支持參數(shù)和返回值的類型聲明。


Q:對于python 的協(xié)程 有什么好的庫比較好用

A:必須是gevent。


Q:請問Python有類似Ruby社區(qū)RVM、Bundler、Rake的成熟工具鏈么?

A:有的,pypi.python.org,你可以上去看一下。我書里也有提到這些工具鏈的用法。


from:http://blog.csdn.net/gzlaiyonghao/article/details/38985017

總結(jié)

以上是生活随笔為你收集整理的关于Python编程的一些问答的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。