CSDN社群十問十答(Python第一期)

CSDN學院發表於2019-06-14

過去的一週,我們從CSDN Python社群中,整理了小夥伴們提問較多的問題,並請技術達人對這些問題進行了回答,現整理如下。歡迎大家在社群中積極提問哦,積極提問的小夥伴還將獲得CSDN提供的神祕紀念禮品哦!

 

問題1、append 與 extend 方法有什麼區別?
append表示把某個資料當做新元素追加到列表的最後面,它的引數可以是任意物件。
extend 的引數必須是一個可迭代物件,表示把該物件裡面的所有元素逐個地追加到列表的後面。

問題2、Python 為什麼要使用全域性解釋鎖?
Python中由於使用了全域性解釋鎖(GIL)的原因,程式碼並不能同時在多核上併發的執行,也就是說,Python的多執行緒不能併發,很多人會發現使用多執行緒來改進自己的Python程式碼後,程式的執行效率卻下降了。這篇文章對Python中的全域性解釋鎖(GIL)進行了介紹。作者認為這是Python中最令人頭疼的問題。

問題3、我在別的檔案中寫了一個函式,然後在python console呼叫使用該函式,出現了上述錯誤。顯示這個是什麼意思?TypeError: 'NoneType' object is not callable。
原因是因為沒有對別的檔案中函式進行編譯,只要開啟該呼叫函式的檔案,然後點選執行,之後再在python console中呼叫使用該函式就不會報錯。

問題4、PyCharm Python Console 中文輸出亂碼,怎麼辦呢?
解決方案請參照如下文章:https://blog.csdn.net/huiyanshizhu/article/details/78907629

問題5、系統提示這個錯誤:AttributeError: module 'numpy' has no attribute 'arange'
在工作目錄中存在一個自己建立的numpy.py檔案

問題6、說說你對zen of python的理解,你有什麼辦法看到它?
Python之禪,Python秉承一種獨特的簡潔和可讀行高的語法,以及高度一致的程式設計模式,符合“大腦思維習慣”,使Python易於學習、理解和記憶。Python同時採用了一條極簡主義的設計理念,瞭解完整的Python哲學理念,可以在任何一個Python互動直譯器中鍵入import this命令,這是Python隱藏的一個彩蛋:描繪了一系列Python設計原則。如今已是Python社群內流行的行話"EIBTI",明瞭勝於晦澀這條規則的簡稱. 在Python的思維方式中,明瞭勝於晦澀,簡潔勝於複雜。

問題7、除錯python程式碼的方法有哪些?

具體IDE都有除錯,比如:IDLE, Eclipse+Pydev都可以設定斷點除錯。 
pdb模組也可以做除錯。
還有PyChecker和Pylint
PyChecker是一個python程式碼的

問題8、在github上都fork過哪些python庫?
http://rogerdudler.github.io/git-guide/index.zh.html    #關於git簡明指南  

http://www.zhihu.com/question/20070065                  #關於git的BBS  

http://www.techug.com/githug-for-designer               #關於github的 

問題9、什麼是GIL?
GIL(Global Interpreter Lock)全域性直譯器鎖? 簡單地說就是:
每一個interpreter程式,只能同時僅有一個執行緒來執行, 獲得相關的鎖, 存取相關的資源.
那麼很容易就會發現,如果一個interpreter程式只能有一個執行緒來執行, 
多執行緒的併發則成為不可能, 即使這幾個執行緒之間不存在資源的競爭.
從理論上講,我們要儘可能地使程式更加並行, 能夠充分利用多核的功能.

問題10、什麼是元類(meta_class)?
元類就是用來建立類的“東西”

歡迎大家掃碼進群交流哦!我們還將每週分享技術學習資源+每月推出技術主題月活動+群主、技術達人線上答疑互動

相關文章