python程式碼很長,怎樣閱讀和除錯
對於初學者,當python程式碼比較長,結構複雜,有很多個類時,看著看著就暈菜了。怎樣快速看明白各變數之間的傳遞關係,自己總結了以下幾種方法:
1、pycharm中有除錯功能,但是變數太多,很難找到需要的變數,最簡單粗暴的方式就是將各引數和各引數的型別打印出來
參考其他地方的
閱讀程式碼之前弄清楚下面兩點是很有幫助的:
1,理論層面。是基於什麼理論來實現功能的。比如:若連 “反轉索引” 都不瞭解就想去看 lucene 原始碼,行不通。
2,提供了什麼樣的API介面,也就是說,暴露給使用者的是哪些功能,這個可以反推出基本的模組有哪些
3,過一次所能找到的相關開發者文件, change log 等等,瞭解模組層面的資訊。
這些才去閱讀原始碼。
另外,使用類似 Source Insight 的工具 和 瞭解設計模式對閱讀原始碼很有幫助。
相關推薦
python程式碼很長,怎樣閱讀和除錯
對於初學者,當python程式碼比較長,結構複雜,有很多個類時,看著看著就暈菜了。怎樣快速看明白各變數之間的傳遞關係,自己總結了以下幾種方法: 1、pycharm中有除錯功能,但是變數太多,很難找到需要的變數,最簡單粗暴的方式就是將各引數和各引數的型別打印出來 參考其他
python的循環,質數和因子的定義
-1 是否 prime actor 質數 基本 可見 一半 循環 質數:能被1和本書整除的數()任何一個質數都有兩個因子是1和質數本身,比如1,2,3,5,7,11是質數,而4,6,8,9就不是質數,它們還能被2或者3整除 因子:1,2,4的因子分別是(1)(1,2)(1,
Windows下Python安裝numpy+mkl,Scipy和statsmodels
log gif csdn 沒有 解決 static 改名 分享 最終 最近做時間序列分析需要用到Python中的statsmodels,但是安裝過程中遇到很頭疼的問題,Google、Stackover各種都沒有找到合適的解決辦法,而且貌似還有很多同學也在吐槽Windows下
.Net開發八年,坐標杭州,上個月換工作感覺現在.Net崗位很少,希望和同在杭州的同行們交流一下
中間 com .com 開發 互聯網 地方 軟件 http 軟件公司 .Net開發八年,坐標杭州,中間做過2年Java, 目前新入職一家做防偽溯源的中型公司,200人左右, 之前在一家500人規模的軟件公司工作過4年,後面2年工作過3家互聯網創業公司, 上個月換工作感
Python中的封裝,繼承和多型
面向物件的三大特性:封裝,繼承和多型 封裝:在類的內部定義屬性和方法,通過物件或類名來訪問屬性和方法,隱藏功能的實現細節,也可以設定訪問許可權。 廣義的封裝:例項化一個物件,給物件空間封裝一些屬性;狹義的封裝:私有制;私有成員:私有靜態欄位,私有方法,私有物件屬性 繼承:子類需要重用父類的屬性和方法,子
python之異常處理,斷言和反射
pyc python 存在 ase module 定義 sat gif 機制 1、異常基礎 python在運行過程中,程序解釋機制會測試代碼,如檢測不通過則會拋出異常。 try: aa = 10 bb = ‘10‘ cc = aa
餘生很長,湊活過吧。
這個話題,很是深奧,主要呢,還是討論一下大多數人必經歷的過程之一:婚姻 我不知道大家的擇偶標準是什麼(不包含特殊癖好的孩子) 男生呢一般都是:上得廳堂,下得廚房,溫柔體貼,處男情節等 女生呢一般都是:顏值,對我好,潛力股,有上進心,孝順,三觀合,善良,有錢等 看過了太多的,街坊,
「模仿學習」很強大,但和「強化學習」有什麼關係
原文來源:Stats and Bots 作者:Vitaly Kurin 「機器人圈」編譯:嗯~阿童木呀、多啦A亮 在本文中,Statsbot團隊請教電腦科學家Vitaly Kurin簡要介紹模仿學習,並概述強化學習的基本知識。 生物有機體是及其複雜的。即使是諸如蒼蠅或蠕
python基礎--元組,集合和字典
元組的建立 列表:打了激素的陣列 元組:帶了緊箍咒的列表 不可變資料型別,沒有增刪改查 可以儲存任意資料型別 “”" 定義元組 t = (1,1.2,True,'westos') print(t,type(t)) 如果元組裡麵包含可變資料型別,可以間接修改元組內容 t1 =
程式碼很爛,所以離職?
前一段時間一直在面試,有很多感悟,今天分享下其中的一個話題。 我在面試的時候通常會問這麼一個問題:你為什麼離職? 其中有不少同學會提到這麼一個原因,現在的專案程式碼太爛了,前人留下了很多坑,我實在忍受不了了。 其實在我看來,這個原因顯得未免太不職業了,而且可能把工作想的太過於理想
python+opencv影象長寬xy和螢幕的對應
左上角是原點,往下是x/height。往右是y/width。 import cv2 import numpy as np img = cv2.imread('Parthenon.jpg') h,w,l = np.shape(img) (h1, w1) = img
python-numpy.array中,any()和all()方法介紹
0.摘要 本文主要介紹numpy.array.any()和numpy.array.all()的用法和區別。 1.np.array.any()和numpy.array.all() np.array.any()是或操作,將np.array中所有元素進行或操作,然後返回T
【python】Anaconda的一些使用和除錯
一,使用jupyter notebook 新版本的Anaconda,不知為何在安裝的時候目錄下面沒有jupyter notebook的按鈕: 方法:開啟“cmd”,然後cd到需要檢視ipynb檔案的目錄下面。 輸入“jupyter notebook”命令來開啟即可。 &nb
未來很長,但我會努力的走下去。
java-bible 簡介:這裡記錄了一些 Java 相關的技術摘要 更多:作者 提 Bug 標籤: java- 這裡記錄了一些技術摘要,部分文章來自網路,本專案的目的力求分享精品技術乾貨,以 Java 為主。 如果你喜歡,star 便是,持續更新
python程式碼調優,誰在呼叫資料庫連線?
最新在優化一個複雜的頁面,複雜到什麼情況呢,光請求就可能有30到50個,這種情況下,如果每個請求大概有3,5個數據庫請求的話,我們開啟這個頁面,就可能產生150個數據庫請求,開啟這個頁面時間超過30秒。。。。老大說到了無法容忍的地步,下發指令,2秒開啟頁面,做不到就滾
Python 中 (&,|)和(and,or)之間的區別?
注:本文為轉載如有侵權請告知,將予以刪除~ 文章來源:https://blog.csdn.net/weixin_40041218/article/details/80868521 (&,|)和(and,or)是兩組比較相似的運算子,用在“與”/ “或”上
資料泵expdp匯出時間很長,匯出速度很慢
參考部落格 日前接到一個case,使用者反映一個表匯出時間特別長,因為擔心影響第二天業務,不得不放棄繼續匯出,但是另外一個表比這個問題表數量更大,但是反而順利匯出,使用者在相同版本測試環境上也能順利匯出,當然測試環境和生產環境還是有差異的,客戶說那個環境是用兩個
教你一招,提升你Python程式碼的可讀性,小技巧
Python的初學者,開發者都應該知道的程式碼可讀性提高技巧,本篇主要介紹瞭如下內容: PEP 8是什麼以及它存在的原因 為什麼你應該編寫符合PEP 8標準的程式碼 如何編寫符合PEP 8的程式碼 為什麼我們需要PEP 8?
python第七週,檔案和資料型別
文字檔案和二進位制檔案只是檔案的展示方式,本質上,多有檔案都是二進位制形式儲存 文字檔案例如:.txt .py 二進位制檔案例如 : .png .avi 檔案的開啟與關閉: s = open ( , ) s = close() <變數名> = o
python程式碼過長的換行
python程式碼換行就是每行後面加個 \ 舉個栗子: time = "2017" print "one" + "," \ + "two" \ + ",three" + \ "," + time 打印出來就是: one,two,three,2017 再舉一個栗子: p