原创 Python 引用傳遞問題

a = [['hello world','','']]     b = a[0]     print b     b[0] = b[0] + '123'     a.append(b)         print a 以上屬於

原创 leetcode-100 相同的樹

給定兩個二叉樹,編寫一個函數來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認爲它們是相同的。示例 1: 輸入: 1

原创 leetcode-20 有效的括號

給定一個只包括 '(',')','{','}','[',']' 的字符串,判斷字符串是否有效。有效字符串需滿足:    1、左括號必須用相同類型的右括

原创 PYQT5設計思路

原文鏈接 https://www.cnblogs.com/Hamilton-Operator/p/6507820.html原文的作者提出的設計目標與思路爲本應用是作者秉持“可擴展+最大程度降低重複代碼”的理念製作完成的。 一、設計目標

原创 Python ElementTree findall函數Bug

#import xml.etree.cElementTree as etree  root.findall('country[last()]')   # 最後一個country,實際上找到了所有的country     fr

原创 基於VSCode環境的三種使用Python運行其他程序方法

在Python GUI編程中,UI運行時自動生成一個主線程。主線程需要調用外部程序,初步的想法是開闢子線程運行外部程序,查閱網上資料後嘗試了以下三種方

原创 從Python的兩種導入模塊(from import和import)方式談命名空間與作用域

  在談論python命名空間之前,首先介紹一個因爲python命名空間引起的坑。 一、問題實例項目中使用pyqt編寫gui,gui在處理文本文件時使用了10進制轉16進制的hex函數代碼片段:from PyQt4.QtCore impo

原创 使用MVC設計模式解耦pyqt程序(待完成)

      pyqt程序解耦的必要性:1、python 是一種解釋性語言,其運行速度較慢,而pyqt  gui運行時只有一個線程,該線程需要完成界面顯示與後臺數據處理,因此會導致程序運行無比卡頓;2、       在面向過程的開發思想中,

原创 詳解Python編碼格式

基本概念字符(Character)        在電腦和電信領域中,字符是一個信息單位,它是各種文字和符號的總稱,包括各國家文字、標點符號、圖形符號、數字等。比如,一個漢字,一個英文字母,一個標點符號等都是一個字符。字符集(Charac

原创 Python 使用threading+Queue實現線程池

一、線程池1、爲什麼需要使用線程池         1.1 創建/銷燬線程伴隨着系統開銷,過於頻繁的創建/銷燬線程,會很大程度上影響處理效率。       記創建線程消耗時間T1,執行任務消耗時間T2,銷燬線程消耗時間T3,如果T1+T3

原创 操作系統IO操作模式

一、關鍵概念理解同步:發起一個調用,得到結果才返回。異步:調用發起後,調用直接返回;調用方主動詢問被調用方獲取結果,或被調用方通過回調函數。阻塞:調用是指調用結果返回之前,當前線程會被掛起。調用線程只有在得

原创 網絡字節序

字節序structsockethttp://www.cnblogs.com/litaozijin/p/6506354.htmlhttps://blog.csdn.net/ztb3214/article/details/19017969ht

原创 leetcode-46 全排列

給定一個沒有重複數字的序列,返回其所有可能的全排列。示例:輸入: [1,2,3] 輸出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ]思路:[1,

原创 函數調用過程理解

一、棧        棧是常見的數據結構,在發生程序調用的情況下,操作系統會爲被調用的子程序開闢一塊棧空間。棧除了先入後出(FILO)外還有以下特性:每一個進程在用戶態對應一個調用棧結構(call stack) 程序中每一個未完成運行的函

原创 python GIL鎖

GIL叫全局解釋鎖,只能保證任意時刻只有一個線程在解釋器裏運行,因此一個解釋器相當於一個單線程程序。任何單線程程序都只能佔滿一個核心,與是不是 Python 沒有關係Python 因爲 GIL 的關係,一個 Python 解釋器進程只能佔