pycharm的中自定义库和关键字_Python“库”在树莓派中的应用解析
一、何謂Python語言的“庫”?
與其它編程語言類似,Python語言中也提供有內置的或用戶可自定義編寫的“函數”(Function),即能夠完成某具體功能的一段程序代碼,可在程序中通過參數調用和返回值來使用函數;在Python中,“模塊”(Module)則是包含對象定義和可執行代碼的Python源文件(擴展名為py),在模塊內可以定義變量和函數,它相當于規模更大的“函數”群;比模塊更為強大的是“庫”(Library),它是Python的特色之一,是具有相關聯功能的模塊集合,包括標準庫和第三方擴展庫,可用于文件讀寫、網絡抓取和解析、數據計算和統計分析、圖像和視頻處理、數據可視化和交互學習等,功能非常強大。
Python的標準庫不需要安裝,只要通過import命令導入程序中即可調用,比如os模塊庫提供了與操作系統交互的函數,編寫程序時可以在源文件開始部分寫入“importos”語句進行整體導入。Python標準庫的具體內容可到其官網進行查看,比如3版本系列的官網標準庫對應的地址是https://docs.python.org/3/library/index.html。另外,常見的使用方法還有部分導入,比如用于訪問互聯網及處理網絡通信協議的urllib.request,可使用語句“from urllib.requestimport urlopen”來進行urllib.request中urlopen(類)的導入。Python的第三方擴展庫必須要先進行安裝及配置才能使用,比如NumPy庫為Python提供了很多高級的數學方法,SciPy庫則是Python的算法和數學工具庫,而BeautifulSoup庫提供了對xml和html的解析(一般用于編寫爬蟲程序)等等。第三方擴展庫的導入方法同標準庫完全一樣,比如“from bs4 import BeautifulSoup”。無論是Python標準庫還是第三方擴展庫,我們用戶都不必關心其內部編程結構及算法是如何實現的,只需按照其語法規則(包括變量名)來調用并完成相關功能即可。
值得一提的是,在Python的命令行模式中可以通過“dir”命令簡單地查看庫模塊信息,以“os”為例:首先打開CMD窗口輸入“pyhton”回車,在“>>>”Python命令提示符后輸入“dir(‘os’)”,回車后就會顯示os的屬性;如果想更詳細地查看其屬性,輸入“help(‘os’)”命令來進行查看——按空格鍵可向下翻頁(如圖1所示)。
圖1
二、Python第三方擴展庫的杰出代表:GPIOZERO庫
在樹莓派中使用Python語言進行編程開發的過程中,自然少不了對GPIO(General Purpose Input/Output)通用型輸入輸出引腳的控制。最初,大家都是引用RPi.GPIO庫來進行編程——RPi.GPIO庫允許用戶使用代碼來控制樹莓派的GPIO引腳,功能非常強大,以至于在很多Python程序的開頭部分都能看到“import RPi.GPIO as GPIO”(以GPIO為名導入RPi.GPIO庫)引用語句。
以GPIOZERO庫為例,它是構建于RPi.GPIO庫之上的“前端語言包裝器”,面向Python的最初級用戶,代碼十分精簡且更通俗易懂。與RPi.GPIO庫相比,GPIOZERO庫并不要求用戶使用語句進行引腳模式的設置(默認即為BCM編碼模式),對各引腳的控制模塊均遵循“易讀、盡可能短”的引用原則,比如以下三行代碼即可實現點亮一只LED燈的功能:
from gpiozeroimport LED
led = LED(27)
led.on()
第一行代碼的作用是導入GPIOZERO庫的LED類模塊,第二行代碼是將BCM編碼為27(物理引腳BOARD編碼為13)的引腳賦值給變量led,第三行代碼是設置該引腳為“打開”狀態(高電平)。
GPIOZERO庫的安裝比較簡單,首先在Windows的遠程桌面連接中登錄樹莓派,接著點擊運行“LX終端”并且在“pi@raspberrypi:~$”命令提示符后輸入“sudo apt update”命令,其作用是更新存儲列表,完成后會提示“所有軟件包均為最新”;接著,再輸入命令“sudo apt install python-gpiozero”進行GPIOZERO庫的安裝,完成后會提示“python-gpiozero已經是最新版”(如圖2所示)。
圖2
如果不習慣使用命令行操作的話,我們還可以在本地已經安裝好的Python編輯器(比如PyCharm)中進行安裝,具體步驟為:首先打開PyCharm,點擊執行“File”-“Settings”菜單命令,在彈出的Settings設置窗口的左側點擊“Project:1_1code_of_video”-“Project Interpreter”項;接著點擊右側上方的小加號圖標,在彈出“AvailablePackages”(獲取包)窗口搜索框內輸入待安裝的第三方擴展庫名稱“GPIOZERO”,PyCharm就會顯示出該項的多個下載源,點擊選中后再點擊左下角的“InstallPackage”(安裝包)按鈕,安裝結束后就會有“Package ‘gpiozero’ installedsuccessfully”的成功提示(如圖3所示)。
圖3
三、應用GPIOZERO庫簡單快速實現三種LED燈光效果
準備一只LED燈和兩根母對母杜邦線,將紅色杜邦線一端連接LED燈長腳(正極),另一端連接樹莓派11號物理引腳——BCM編碼為17;白色杜邦線一端連接LED燈短腳(負極),另一端連接樹莓派39號物理引腳(GND接地端)。閃爍燈和呼吸燈的硬件連接準備工作便完成,按鈕燈需要再使用一只按鈕和兩根母對母杜邦線,將其VCC(電源端)、OUT(輸出端)分別接至樹莓派3號(BCM編碼為2)和6號物理引腳。在本地的Windows環境中使用PyCharm新建三個Python文件,分別命名為Sparkle_LED.py、Breath_LED.py和Button_LED.py,對應于閃爍燈、呼吸燈和按鈕燈程序(內容如下),保存后通過遠程桌面程序復制粘貼到樹莓派系統的home/pi文件夾中。
1.實現閃爍燈效果的Python程序:Sparkle_LED.py
雙擊home/pi/Sparkle_LED.py文件,調用Thonny Python IDE打開,其有效執行代碼共8行(加2行庫導入語句),如下:
from gpiozeroimport LED
from time importsleep
red = LED(17)
while True:
??? red.on()
??? sleep(0.2)
??? red.off()
??? sleep(0.2)
解析:第一行“fromgpiozero import LED”是從GPIOZERO庫中導入類LED,第二行“from time import sleep”是從TIME庫中導入類sleep;第三行“red= LED(17)”是將BCM編碼為17的LED燈的引腳賦值給變量red;接下來就是一個循環,條件永遠為真(True),“red.on()”是控制LED燈發光,而“red.off()”則是控制其熄滅,后面各接一條“sleep(0.2)”語句的作用是等待0.2秒。
點擊“Run”運行按鈕執行該程序,紅色LED燈就開始閃爍起來:亮0.2秒、滅0.2秒,再亮0.2秒、滅0.2秒……(如圖4所示)。
圖4
2.實現呼吸燈效果的Python程序:Breath_LED.py
打開home/pi/Breath_LED.py文件,有效執行代碼共5行(加2行庫導入語句),如下:
from gpiozeroimport PWMLED
from signal importpause
led = PWMLED(17)
led.pulse()
pause()
解析:與閃爍燈程序類似,第一行“from gpiozero import PWMLED”是從GPIOZERO庫中導入類PWMLED,第二行“from signal import pause”是從signal庫中導入類pause;第三行“led = PWMLED(17)”將PWM(脈沖寬度調制)賦值給變量led,結合第四行“led.pulse()”就相當于連續地進行淡入和淡出值的設置,最后一行“pause()”的作用是暫停。
點擊“Run”運行按鈕執行該程序,紅色LED燈的亮度就會非常均勻地開始逐漸從暗變亮、再從亮變暗,然后一直這樣“呼吸”起來……(如圖5所示)。
圖5
3.實現按鈕燈效果的Python程序:Button_LED.py
打開home/pi/Button_LED.py文件,有效執行代碼共7行(加2行庫導入語句),如下:
from gpiozeroimport Button,LED
from signal importpause
led = LED(17)
button = Button(2)
button.when_pressed= led.on
button.when_released= led.off
pause()
解析:與上面兩種燈光效果的程序類似,不同之處在于:一個是在第四行“button = Button(2)”,作用是將連接在BCM編碼為2引腳的按鈕賦值給變量button來控制;第二個是第五行“button.when_pressed = led.on”,作用是當檢測到按鈕被按下(Press)時控制LED燈發光(led.on);第三個是第六行“button.when_released = led.off”,作用是當檢測到按鈕被松開(Release)時控制LED燈熄滅(led.off)。
點擊“Run”運行按鈕執行該程序,LED燈先是處于熄滅狀態;當按下按鈕時,LED燈發光;當松開按鈕時,LED燈熄滅(如圖6所示)。
圖6
山東 牟曉東 牟奕炫
總結
以上是生活随笔為你收集整理的pycharm的中自定义库和关键字_Python“库”在树莓派中的应用解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: clone远程代码 在不同电脑上git_
- 下一篇: 实时获取ccd图像_四元数数控:CCD视