比賽獲獎的武林秘籍:07 一文速通電子設計大賽,電子人必看的獲獎秘籍
摘要
本文主要介紹了全國大學生電子設計大賽的含義、比賽形式、組隊技巧,結合自身經歷講解了備賽指南,同時對往年題目進行了分析和總結。
正文
引言部分:
在電子技術的廣闊天地中,年輕的電子設計愛好者們如同勇敢的探險家,懷揣著對知識的渴望和對創新的追求,踏上了電子設計競賽的征程。
全國大學生電子設計競賽,是他們展示才華、激發潛能的舞臺,在這裡,他們不僅能夠提升自己的技術水平,還能夠鍛鍊團隊協作能力和創新思維。展示自己突出的技術與實踐實力
大賽介紹:
全國大學生電子設計競賽是教育部和工信部共同發起的大學生學科競賽之一,該競賽面向大學生群眾性科技活動,目的在於推動高等學校促進資訊與電子類學科課程體系和課程內容改革。
大賽目標:
全國競賽是一項全國性的大學生學科競賽,旨在緊密結合教學實際,重視基礎知識和前沿技術。它的目的是促進電子資訊類專業的建設,引導高校在教學中注重培養學生的創新能力和協作精神,加強動手能力和工程實踐的培養,提高學生解決工程問題的電子設計製作綜合能力。同時,它也鼓勵廣大學生積極參與課外科技活動,為優秀人才提供脫穎而出的機會。
題目分類:
競賽題目主要圍繞電子電路的應用設計,包括模擬和數位電路,可以涉及到模-數混合電路、微控制器、可程式設計器件、EDA 軟體工具和 PC 機(主要用於開發)的應用方面。下面我們就來說一下電賽題目的具體分類,電賽題目大致分為:電源類、訊號源類、高頻無線電類、放大器類、儀器儀表類、控制類。接下來,我們就來詳細介紹一下。
電源類:簡易數控直流電源、直流穩壓電源;
- 訊號源類:實用訊號源的設計和製作、波形發生器、電壓控制 LC 振盪器等;
- 高頻無線電類:簡易無線電遙控系統、調幅廣播收音機、短波調頻接收機、調頻收音機等;
- 放大器類:實用低頻功率放大器、高效率音訊功率放大器、寬頻放大器等;
- 儀器儀表類:簡易電阻、電容和電感測試儀、簡易數字頻率計、頻率特性測試儀、數字式工頻有效值多用表、簡易數字儲存示波器、低頻數字式相位測量儀、簡易邏輯分析儀;
- 資料採集與處理類:多路資料採集系統、數字化語音儲存與回放系統、資料採集與傳輸系統;
- 控制類:水溫控制系統、自動往返電動小汽車、簡易智慧電動車、液體點滴速度監控裝置。
透過上面的介紹相信大家對比賽畢竟有了一些瞭解,那比賽到底該如何準備呢?該學些什麼呢?
在瞭解需要學習什麼東西之前,我們先來看一下往年的電賽都比些什麼吧!這裡就以 2019 年電賽為例給大家做下分析:
競賽時間及具體流程:
自 1997 年起,全國大學生電子設計競賽每兩年舉行一次,通常在競賽年份的 8 月初進行。
總賽期為期四天,四天三夜(具體日期屆時通知)
需要注意的是:
不要因為一點小細節,丟掉比賽資格!!!
- 《設計報告》寫作裝訂
參賽學生在撰寫《設計報告》時應注意,報告封面及每頁紙上均不得出現參賽隊的學校、程式碼、姓名等文字,否則取消評審資格。
報告正文長度嚴格限制為 A4 紙 8 頁以內,首頁另附 300 字以內的設計報告中文摘要,正文采用小四號宋體字,行距固定值 22 磅,標題字號自定,縱向列印。《設計報告》每頁上方必須留出 3cm 以上空自,空自區域內不得有任何文字,每頁右下端註明頁碼。
- 《設計報告》密封
競賽結束之際,各參賽隊應將設計報告密封紙(空白 A4 紙)在距設計報告上端約 2cm 處裝訂,然後將參賽隊的程式碼(程式碼由賽區組委會統一編制,開賽前通知各隊)寫在設計報告密封紙(空白 A4 紙)距離上紙邊約 1cm 居中處,掀起密封紙折向設計報告背面,用膠水粘在背面。
- 競賽作品上交及密封
綜合測評綜合測評不能上網,也不允許帶手機及電子資料,僅允許帶一些紙質材料。現場會提供基本元件。需要關注的是,綜合測評成績低於某一分數線的,直接無緣參加國賽。而進入國賽的隊伍,綜合測評成績會計入總成績。
具體注意事項可以移步至大賽官網檢視:全國大學生電子設計競賽培訓網 (nuedc-training.com.cn)
組隊及比賽形式:
學生採用自願組合、3 人一隊的原則組成參賽隊,由所在學校統一向賽區競賽組委會報名。參賽隊分本科生組和高職高專學生組,參賽隊數由參賽學校自行確定。
全國競賽專家組根據命題原則,分別為本科生組和高職高專學生組統一編制若干個競賽題目,供參賽隊選用。
各賽區競賽所需場地及儀器裝置、元器件或材料原則上由參賽學校提供。
全國大學生電子設計競賽採用“半封閉,相對集中”的組織方式。
“半封閉”是指賽期內,各參賽隊必須獨立完成競賽題目的各項要求,不得與他人商量和交流,任何教師不得介入,但學生可離開賽場查閱各種有關資料,可在規定時間內用餐和休息;
“相對集中”是指參賽學校安排本校參賽隊集中在不超過三個實驗室內完成競賽,便於巡視員檢查。建議有條件的賽區,增加賽區一級的網路線上監控,賽區組委會可對賽區內各個競賽場地全景實施實時線上監控,作為對已有巡視檢查制度的有效補充。賽區組委會監控是否錄屏及錄屏存留時間由賽區組委會決定。
題目獲取方式:
賽事組織方採用網上發題的方式。競賽將於電賽開賽的第一天早上 7 點 30 分在全國大學生電子設計競賽的官方網站:
全國大學生電子設計競賽培訓網
8 點競賽準時開始。
備賽指南:
說到這裡,相信各位小夥伴已經對全國大學生電子設計競賽這個比賽有了最基本的瞭解,但真正“戰役”才剛剛開始,對於電賽來說,如何高效備賽才是我們的重頭戲。
電子競賽的“戰線”延展漫長,雖然時間充裕,但任務卻異常艱鉅。涵蓋模擬-數字混合電路、微控制器、嵌入式系統、DSP、可程式設計器件、EDA 軟體、網際網路、大資料、人工智慧、射頻及光電器件等多方面技術應用,我們往往是在課餘時間去深入學習,磨練團隊間默契與協作。
這個時候,一份系統化的知識梳理,就顯得格外雪中送炭啦!
從嵌入式原理入手
那麼接下來。我們就以介紹嵌入式原理入手,全面總結電子設計類比賽中電子專業學生所需的知識準備。
嵌入式是一門交叉學科,一個嵌入式電子產品(比如手機)從底層到上層,一般會涉及半導體晶片、電子電路、計算機、作業系統、多媒體等不同專業領域的知識,由於其碎片化的特點,大多數入門學習者面臨著:不知道學什麼、怎麼學的問題,因此本文我們對嵌入式不同技能進行分類和總結,讓入門初學者能夠有一個總體的學習思路。
總體來說,還是可以把嵌入式學習分為三個大的階段:
首先基礎學習階段,這就包括通用程式設計基礎(C語言、資料結構/演算法、作業系統、計網、計組、Linux系統基礎)和基本的硬體基礎,紮實地掌握這兩大基礎,是後續持續發展和不斷進步的動力源泉。
其次就是嵌入式應用程式設計階段,或者說系統平臺程式設計階段。因為一般會以特定的嵌入式平臺和特定的嵌入式作業系統為依託,熟悉這個系統平臺上的程式設計方法和流程。以常見的ARM+RTOS為例,需要掌握從通訊協議到多工程式設計、GUI開發、網路程式設計、外設基本操作、中介軟體和元件庫的使用幾個方面。
最後就是深入嵌入式底層開發階段,最常見的就是核心開發和驅動開發,這些統屬於核心態開發範疇,所以需要對作業系統內部機制有所涉獵和理解,在此基礎上需要掌握從系統移植到核心開發、驅動開發的各個細節。
除此之外,在嵌入式軟體中,我們也要了解基本的程式設計設計模式和函式介面設計方法、簡易上位機的製作、常用無線通訊協議等等內容。
首先,先進行理論知識的準備
類比電路
-
基本元件與電路分析:掌握電阻、電容、電感、二極體、三極體等元件的工作原理和基本電路分析方法。
-
運算放大器:學習運算放大器的基本原理、典型應用電路(如積分器、微分器、濾波器等)。
- 典型應用電路
- 反相放大器:輸出電壓與輸入電壓反相,增益由外部電阻決定
- 同相放大器:輸出電壓與輸入電壓同相,增益由外部電阻決定
- 積分器:輸出電壓是輸入電壓的積分
- 微分器:輸出電壓是輸入電壓的微分
- 濾波器:用於訊號頻率選擇和處理,包括低通、高通、帶通和帶阻濾波器。
- 典型應用電路
數位電路
-
邏輯閘與組合邏輯電路:掌握基本的邏輯閘電路、組合邏輯電路設計與分析。
- 邏輯閘
-
基本邏輯閘:與門(AND)、或門(OR)、非門(NOT)、異或門(XOR)、與非門(NAND)、或非門(NOR)。
-
邏輯運算:掌握基本邏輯閘的功能及其真值表。
-
- 組合邏輯電路
-
半加器與全加器:用於二進位制加法的基本電路。
-
編碼器與譯碼器:編碼器將輸入的訊號轉換為編碼訊號,譯碼器將編碼訊號轉換為輸出訊號。
-
多路選擇器與資料分配器:多路選擇器選擇多個輸入訊號中的一個輸出,資料分配器將輸入訊號分配到多個輸出端。
-
- 組合邏輯電路設計與分析
- 布林代數:利用布林代數進行邏輯表示式的簡化。
- 卡諾圖:透過卡諾圖進行邏輯函式的化簡,最佳化電路設計。
- 邏輯閘
-
時序邏輯電路:學習觸發器、暫存器、計數器、時序分析與設計方法。
- 觸發器
-
基本型別:D 觸發器、JK 觸發器、T 觸發器。
-
工作原理:瞭解觸發器的工作原理及其真值表和時序圖。
-
- 暫存器
- 移位暫存器:用於資料的儲存和移動。
- 計數器:用於計數脈衝的個數,有同步計數器和非同步計數器。
- 時序邏輯電路設計與分析
- 狀態機設計:利用狀態機實現複雜的時序邏輯電路,瞭解 Moore 型和 Mealy 型狀態機。
- 時序分析:分析電路的時序特性,包括建立時間、保持時間、時鐘偏移等。
- 觸發器
掌握一款微控制器的基本使用
電賽的題目型別主要包含以下七個方面:
- 電源類
- 訊號源類
- 高頻無線電類
- 放大器類
- 儀器儀表類
- 資料採集與處理類
- 控制類
在以上 7 大方面中,我們都可以採用 STM32 作為控制器,包括電源類題型,STM32 的控制器一直以來都是一個不錯的選擇。
- STM32 基於 ARM Cortex-M 系列處理器,提供高速運算能力和優秀的實時處理效能。這使得它能夠處理複雜的控制演算法、快速響應外部事件,並且適應需要高速運算和響應的電賽題目要求;
- STM32 具有豐富的外設模組,包括多個通用定時器、序列通訊介面(如 USART、SPI、I2C)、模擬和數字轉換器(ADC 和 DAC)等。這些外設模組能夠輕鬆實現各種感測器的資料採集、外部裝置的控制和通訊需求,滿足電賽題目中資料採集與處理、控制類等各方面的要求。
- ST 官方提供的 STM32Cube 軟體開發平臺和 STM32CubeMX 配置工具,使得開發人員可以快速生成初始化程式碼、配置外設和生成專案框架,極大地提高了開發效率。此外,STM32 的開發工具鏈完整,支援多種程式語言和開發環境,如 C 語言、Keil、IAR 等,使得開發者可以根據自己的喜好和專案需求選擇合適的開發方式。
想要參加電賽的小夥伴們,可以優先學習一下 STM32 這款微控制器,不僅可以實現電賽題目的要求,還將在電子設計和嵌入式系統領域打下堅實的基礎。
這裡,對於 STM32 微控制器來說,要掌握的最最基本的技能包括:
- 串列埠通訊:熟練運用 STM32 板上的串列埠,實現資料的傳送與接收,這是基礎中的基礎。
- 電平控制:瞭解並能夠控制板子上電平的抬高與降低,這對於與各種外設的互動至關重要。
- PWM 波控制:掌握 PWM 波的輸出以及動態控制技術,這對於電機控制和亮度調節等應用極為重要。
- 中斷處理:熟悉中斷的呼叫和處理,這對於實時響應各類事件和異常處理非常關鍵。
- 模擬數字轉換:熟練使用 STM32 板上的 ADC 和 DAC 轉換功能,這對於訊號的處理和轉換不可或缺。
- 感測器整合:掌握板子與各種感測器的配合使用,如溫度、溼度、光線等,以及如何讀取感測器資料。
- 模組控制:瞭解如何控制各類模組,如步進電機、舵機等,並能夠編寫程式來實現複雜的功能,如三維雲臺的物體跟蹤和定位。
- 綜合應用:不僅要使裝置能夠運動,更要能夠編寫程式來實現高階功能,如自動跟蹤和精確控制。
就先以電源類題目來說,電源題對微控制器的演算法要求不高,程式的複雜度也相對較低,負責軟體開發的同學需要熟練以下技術點:
-
基本外設的使用:
- DAC 和 ADC:用於訊號轉換和處理。
- 外部中斷和定時器中斷:用於實現精確的時間控制和響應外部事件。
- PWM 輸出:用於控制電源輸出和調節電壓。
- OLED 或數碼管驅動:用於顯示電引數和狀態資訊。
-
電引數測量:
- 能夠使用微控制器實現對直流電壓、電流,交流電壓有效值、電流有效值,有功功率和功率因數等電引數的測量。
-
電源控制方法:
- 掌握基本的電源控制方法,瞭解如何使用微控制器的 PWM 或 DAC 功能控制開關電源。
- 能夠實現逆變、並聯均流控制等高階電源控制功能。
- 熟悉簡單 PID 控制演算法,用於電壓和電流的穩定控制。
全方面備賽攻略
針對硬體、軟體、視覺和機械這些方面,對於電賽來說,也是必不可少的。這些方面又如何去進行準備呢?讓我們逐一來了解一下吧!
硬體方面:
- 能夠完成基本運算放大電路、濾波電路、電壓比較電路、DCDC 電路、電驅驅動電路、MCU 外圍電路設計;
- 會使用常用的 NI Multisim 14.0,Proteus 8 Professional,LTspice 等電路模擬軟體;
- 能夠透過閱讀資料手冊,快速搭建電路;
- 會使用示波器、訊號發生器、邏輯分析儀、電子負載、萬用表等常用儀表;
- 透過閱讀論文、查閱資料等方式快速搭建電路。
嵌入式軟體方向:
- 熟悉一款或多款微控制器,熟練掌握 GPIO、外部中斷,ADC 模數轉換,定時器,dma 資料傳輸、通訊協議(IIC,IIIC,SPI,序列匯流排(rs485,rs232,rs422,全雙工,半雙工,單工,智慧卡,can 匯流排),單匯流排通訊,usb,usb2.0,usb3.0,網路協議介面)等外設應用;
- 熟練應用 C 語言,會使用 IDE 中基本的除錯方法,包括程式編譯與一鍵下載、單步執行、逐行執行、跳出函式、斷點、執行到游標行、外設暫存器狀態檢視、變數監測、記憶體檢視、邏輯分析、Debug Viewer、系統分析、Event Recorder 除錯、程式碼時間統計、命令視窗、工具箱的使用等;
- 掌握至少一種 RTOS 的使用方法,包括任務建立,任務排程,訊息佇列,訊號量,互斥組,任務同步,記憶體管理,Tracealyzer 除錯追蹤等;
- 瞭解基本的常用通訊協議,包括 modbus、zigbee、藍芽等;
- 會使用基本除錯軟體,包括:Event Recorder+MDK、邏輯分析 Kingst、mcuISP 串列埠助手、ST-LINK Utility、NetAssist 網路除錯、STM32CubeMonitor 記憶體監測、SecureCRT、MobaXterm、whbots PID 除錯工具、usb2s 除錯工具、字型檔製作軟體、putty 遠端連線工具、balenaEtcher 映象燒錄工具、CVSP Driver 虛擬串列埠工具、UltraISO 映象燒錄工具等;
- 熟練使用常見電子模組:OLED 螢幕,DTH11 溫溼度感測器,LM75 溫度感測器,MPU6050,LCD1206,L298N,步進電機,超聲波測距,SD 卡,OV7670 攝像頭,串列埠屏,舵機,繼電器,HC05 藍芽,NRF24L01 單片射頻收發模組,霍爾感測器,無刷直流電機,AD 模數轉換模組(SPI),遙感模組等。
- 能理解訊號的時序關係,根據資料手冊寫驅動程式。
視覺方向
- 可以應用 OpenCV 庫實現影像變換(空域與頻域、幾何變換、色度變換、尺度變換)、影像增強(灰度變換增強、直方圖增強、影像平滑/降噪影像(邊緣)銳化)、紋理分析(取骨架、連通性)、影像分割(閾值分割、基於邊界分割、Hough 變換、分水嶺分割)、影像特徵提取(幾何特徵、形狀特徵、幅值特徵、顏色特徵、直方圖特徵、區域性二值模式( LBP)特徵)、模式識別、目標追蹤等;
- 可以在一款或者多款 MPU 上部署影像處理演算法;
- 對數字影像處理理論基礎、計算機視覺理論基礎有了解;
- 可以使用 Sklearn 庫、Pytorch 框架等機器學習框架實現視覺特徵提取及特徵處理;
- 會使用專用於影像處理的微控制器(K210、OpenMV 等)以及一些線上模型訓練平臺。
機械方向:
- 會使用 SW、NX 等軟體進行基本 3D 建模及運動模擬;
- 會使用 RobotArt、Robcad、Webots 等基本機器人模擬軟體;
- 會使用 3D 切片軟體及 3D 印表機;
- 會使用 ANSYS 軟體進行有限元分析等;
往年題目:
以我去年做過的 23 年國電賽 E 題(運動目標控制與自動跟蹤系統設計)為例,先給大家分析一下當時遇到的難點
任務概述:
任務包括兩個獨立的系統:紅色鐳射系統和綠色鐳射系統。在一個無干擾的平面螢幕上進行操作,螢幕上貼上一張 A4 空白紙,四周用黑色電工膠帶覆蓋,形成一個黑色矩形框。具體任務如下:
-
紅色鐳射系統:
- 使用紅色鐳射筆發射的光斑模擬運動目標。
- 光斑應落在距離螢幕 1 米處,直徑不超過 1 釐米。
- 紅色光斑位置控制系統應能夠控制光斑在螢幕範圍內任意移動。
- 控制紅色鐳射光斑在黑色矩形框內沿邊緣掃描一週。
-
綠色鐳射系統:
- 使用綠色鐳射筆發射的光斑,並由綠色光斑位置系統控制,用於自動追蹤螢幕上的紅色光斑。
- 綠色光斑直徑不超過 1 釐米。
- 綠色鐳射筆的放置線段與螢幕平行,位於紅色鐳射筆兩側,距離紅色鐳射筆在 0.4 米至 1 米之間。
- 不論紅色系統是否在沿黑色矩形框掃描,綠色鐳射系統需自動追蹤紅色光斑,確保兩光斑的追蹤距離保持在 3 釐米以內,並且兩光斑位置可以重合。
- 追蹤成功後,綠色系統應發出警報。
任務剖析:
紅色鐳射系統:
-
識別黑色矩形框:
- 利用感測器或攝像頭識別電工膠帶圍成的黑色矩形框。
- 透過影像處理演算法計算出矩形框的座標。
-
控制紅色鐳射遍歷矩形框:
- 基於計算出的矩形框座標,編寫控制演算法使紅色鐳射光斑沿著矩形框的 4 條邊運動。
- 確保紅色光斑的運動平滑且精確。
綠色鐳射系統:
-
識別紅色鐳射:
- 透過攝像頭或其他感測器實時捕捉螢幕上的紅色鐳射光斑位置。
- 使用顏色過濾或其他影像處理技術識別紅色光斑。
-
控制綠色鐳射追蹤紅色鐳射:
- 設計控制演算法,使綠色鐳射光斑能夠實時追蹤紅色鐳射光斑的位置。
- 保持兩光斑的追蹤距離小於 3 釐米,確保精度。
- 實現綠色光斑與紅色光斑位置重合時,綠色系統發出警報。
核心問題在於:
- 鐳射點的識別:需要準確識別紅色和綠色鐳射光斑的位置。這可以透過影像處理技術實現,例如顏色過濾、邊緣檢測和形態學處理等。
- 鐳射點的控制:需要精確控制鐳射光斑的移動。這需要編寫高效的控制演算法,確保鐳射光斑能按照預定軌跡移動並保持精確的追蹤。
功能設計:
識別功能
使用 OpenMV 模組來實現,這是一個基於 Python 的開源影像處理模組,適用於實時影像處理和機器視覺任務。利用 OpenMV 提供的影像處理函式和演算法,可以編寫 Python 指令碼來實現顏色識別、形狀識別等功能。
在紅色系統中,透過 OpenMV 利用四元檢測演算法來識別黑色矩形框。該演算法可以識別任意大小和角度的矩形,並返回一個包含 rect 物件的列表。透過呼叫 rect.corners()函式,可以獲得一個包含四個頂點(x,y)的列表,這些頂點按照順時針順序排列。由於背景螢幕為白色,螢幕內只有黑色矩形框、紅色鐳射點和綠色鐳射點,因此鐳射點的識別問題可以簡化為顏色識別問題。由於鐳射點的大小遠小於螢幕和矩形框的大小,OpenMV 可以將鐳射點識別為一個顏色點,並返回其座標。
運動控制系統
運動控制系統由 STM32 微控制器實現。微控制器需要獲取控制目標的座標資訊,而這些座標資訊是由 OpenMV 獲取的,因此需要透過串列埠通訊將座標資訊傳輸給微控制器。
儘管 OpenMV 具備自主控制能力,可以連線雲臺作為主控裝置,但由於許多附加任務和外設負載,OpenMV 的可用輸出埠有限,功耗也相對較高。因此,OpenMV 只負責視覺識別和資訊傳輸,而所有附屬任務的執行和運動目標的控制則由微控制器完成。
鐳射點的運動控制透過微控制器採用增量式 PID 演算法實現閉環控制。選擇增量式 PID 演算法的原因是鐳射點在視覺採集視角中的運動範圍有限。可以在程式中設定一個初始基準座標,根據目標座標與基準座標的差值,轉換為增量呼叫 PID 演算法進行控制。
對於黑色矩形框的遍歷,從 OpenMV 中獲取矩形的四個頂點座標後,可以分別計算出基於 OpenMV 座標系的四條矩形邊的一次函式。在兩個端點之間取一定的樣值,透過微控制器控制雲臺遍歷每一個樣值座標,完成一條矩形邊的遍歷。重複四次即可完成整個矩形框的循跡。需要注意遍歷的座標點順序,以保證軌跡的連線性,防止出現“跳躍”的情況。
更多比賽獲獎的秘籍和技巧,可看這裡原文連結。
原文連結
電子計算機類比賽獲獎的秘籍,可點選這裡:
電子計算機類比賽的“武林秘籍”-電賽光電設計大賽計算機設計大賽嵌入式晶片與系統設計競賽,你要的都在這裡!
往期推薦:
學嵌入式的你,還不會物件導向??!
全網最適合入門的物件導向程式設計教程:00 物件導向設計方法導論
全網最適合入門的物件導向程式設計教程:01 物件導向程式設計的基本概念
全網最適合入門的物件導向程式設計教程:02 類和物件的 Python 實現-使用 Python 建立類
全網最適合入門的物件導向程式設計教程:03 類和物件的 Python 實現-為自定義類新增屬性
全網最適合入門的物件導向程式設計教程:04 類和物件的Python實現-為自定義類新增方法
全網最適合入門的物件導向程式設計教程:05 類和物件的Python實現-PyCharm程式碼標籤
全網最適合入門的物件導向程式設計教程:06 類和物件的Python實現-自定義類的資料封裝
全網最適合入門的物件導向程式設計教程:07 類和物件的Python實現-型別註解
全網最適合入門的物件導向程式設計教程:08 類和物件的Python實現-@property裝飾器
全網最適合入門的物件導向程式設計教程:09 類和物件的Python實現-類之間的關係
全網最適合入門的物件導向程式設計教程:10 類和物件的Python實現-類的繼承和里氏替換原則
全網最適合入門的物件導向程式設計教程:11 類和物件的Python實現-子類呼叫父類方法
全網最適合入門的物件導向程式設計教程:12 類和物件的Python實現-Python使用logging模組輸出程式執行日誌
全網最適合入門的物件導向程式設計教程:13 類和物件的Python實現-視覺化閱讀程式碼神器Sourcetrail的安裝使用
全網最適合入門的物件導向程式設計教程:全網最適合入門的物件導向程式設計教程:14 類和物件的Python實現-類的靜態方法和類方法
全網最適合入門的物件導向程式設計教程:15 類和物件的 Python 實現-__slots__魔法方法
更多精彩內容可看:
給你的 Python 加加速:一文速通 Python 平行計算
一文搞懂 CM3 微控制器除錯原理
肝了半個月,嵌入式技術棧大彙總出爐
電子計算機類比賽的“武林秘籍”
一個MicroPython的開源專案集錦:awesome-micropython,包含各個方面的Micropython工具庫