新聞中心
python之字符串內(nèi)置函數(shù)
1. 字符串字母處理
創(chuàng)新互聯(lián)公司專(zhuān)注于憑祥網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供憑祥營(yíng)銷(xiāo)型網(wǎng)站建設(shè),憑祥網(wǎng)站制作、憑祥網(wǎng)頁(yè)設(shè)計(jì)、憑祥網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造憑祥網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供憑祥網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
2. 字符串填充
str.ljust(width, fillchar)、str.center(width, fillchar)、str.rjust(width, fillchar)
返回一個(gè)指定的寬度 width 「居左」/「居中」/「居右」的字符串,如果 width 小于字符串寬度直接返回字符串,否則使用 fillchar 去填充。
3,字符串計(jì)數(shù)
str.count(sub, start, end)
#統(tǒng)計(jì)字符串里某個(gè)字符出現(xiàn)的次數(shù)??蛇x參數(shù)為在字符串搜索的開(kāi)始與結(jié)束位置。
start, end遵循**“左閉右開(kāi)”**原則。
4. 字符串位置
str.endswith(suffix, start, end)和str.startswith(substr, beg, end)
#判斷字符串是否以指定后綴結(jié)尾/開(kāi)頭,如果以指定后綴「結(jié)尾」/「開(kāi)頭」返回 True,否則返回 False。
5. 字符串查找
6. 字符串判斷
7. 字符串拼接
str.join() #將序列中的元素以指定的字符連接生成一個(gè)新的字符串。
s1 = "-" s2 = "" seq = ("r", "u", "n", "o", "o", "b")
# 字符串序列 print (s1.join( seq )) print (s2.join( seq )) r-u-n-o-o-b runoob
8. 統(tǒng)計(jì)字符串長(zhǎng)度
str.len() #返回對(duì)象(字符、列表、元組等)長(zhǎng)度或項(xiàng)目個(gè)數(shù)。
9. 去除字符兩側(cè)空格
str.lstrip()、str.rstrip()、str.strip() #截掉字符串「左邊」/「右邊」/「左右」兩側(cè)的空格或指定字符。
str0 = ' Hello World!' str0.lstrip() 'Hello World!' str1 = 'aaaa Hello World!' str1.lstrip('a') ' Hello World!'
10. str.maketrans(intab, outtab)和str.translate(table)
str.maketrans()創(chuàng)建字符映射的轉(zhuǎn)換表
str.maketrans()根據(jù)參數(shù)table給出的表轉(zhuǎn)換字符串的字符。
str.maketrans()傳入的也可以是字典
tab = {'e': '3', 'o': '4'} trantab = str.maketrans(tab) str0.translate(trantab) 'H3ll4 W4rld!'
11. 字符串替換
str.replace(old, new, max)
12. 字符分割
str.split(str, num)
13. 字符填充
str.zfill(width)
返回指定長(zhǎng)度的字符串,原字符串右對(duì)齊,前面填充0。
串口發(fā)送16進(jìn)制1234,用python接收的是'\x01\x01\x03\x04'但用python再怎么轉(zhuǎn)換成原來(lái)的數(shù)據(jù)1234呢?
1、首先要引用Python的第三方庫(kù):serial,打開(kāi)pycharm。
2、點(diǎn)擊file,里面有一個(gè)setting。進(jìn)入setting后點(diǎn)擊“progect”下的Project Interpreter,如圖。
3、然后在頁(yè)面中,點(diǎn)擊右邊的加號(hào),如圖。
4、然后在左上角的搜索框搜索pyserial并選中pyserial,如圖。
5、最后點(diǎn)擊Install Package,然后等上一會(huì)就好了。
如何用python寫(xiě)個(gè)串口通信的程序
使用pyserial庫(kù),是最簡(jiǎn)單的?。?!
import serial
ser = serial.Serial() # open 'COM1', baudrate=9600, etc
ser.write('string out')
ser.read(1) # read 1 byte from COM port
# ...
ser.close()
樹(shù)莓派怎么樣用 Python 控制 GPIO 來(lái)發(fā)送串口指令
python GPIO
1、先安裝python-dev,輸入以下指令。
sudo
apt-get install python-dev
2、安裝RPi.GPIO,依次輸入以下指令。
1)下載:$ wget
2)解壓縮:$ tar xvzf RPi.GPIO-0.5.3a.tar.gz
3)進(jìn)入解壓之后的目錄 :$ cd RPi.GPIO-0.5.3a
4)啟動(dòng)安裝 :$ sudo python setup.py install
3、例子:
[python] view plain copy
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import time
# BOARD編號(hào)方式,基于插座引腳編號(hào)
GPIO.setmode(GPIO.BOARD)
# 輸出模式
GPIO.setup(11, GPIO.OUT)
while True:
GPIO.output(11, GPIO.HIGH)
time.sleep(1)
GPIO.output(11, GPIO.LOW)
time.sleep(1)
4、執(zhí)行:
sudo python led.py
5、說(shuō)明:
1)GPIO.setmode(GPIO.BOARD),采用插座引腳編號(hào)方式。
2)由于采用插座引腳編號(hào)方式,此處的11腳相當(dāng)于BCM2835寄存器編號(hào)方式的引腳11。
python GPIO
1、說(shuō)明:
WiringPi是應(yīng)用于樹(shù)莓派平臺(tái)的GPIO控制庫(kù)函數(shù),WiringPi遵守GUN Lv3。wiringPi使用C或者C++開(kāi)發(fā)并且可以被其他語(yǔ)言包轉(zhuǎn),例如python、ruby或者PHP等。
wiringPi包括一套gpio控制命令,使用gpio命令可以控制樹(shù)莓派GPIO管腳。用戶(hù)可以利用gpio命令通過(guò)shell腳本控制或查詢(xún)
GPIO管腳。wiringPi是可以擴(kuò)展的,可以利用wiringPi的內(nèi)部模塊擴(kuò)展模擬量輸入芯片,可以使用
MCP23x17/MCP23x08(I2C
或者SPI)擴(kuò)展GPIO接口。另外可通過(guò)樹(shù)莓派上的串口和Atmega(例如arduino等)擴(kuò)展更多的GPIO功能。另外,用戶(hù)可以自己編寫(xiě)擴(kuò)展模
塊并把自定義的擴(kuò)展模塊集成到wiringPi中。WiringPi支持模擬量的讀取和設(shè)置功能,不過(guò)在樹(shù)莓派上并沒(méi)有模擬量設(shè)備。但是使用
WiringPi中的軟件模塊卻可以輕松地應(yīng)用AD或DA芯片。
python串口收包緩存設(shè)置
Python的串行通信模塊(serial)支持設(shè)置緩沖區(qū)大小,以控制收發(fā)數(shù)據(jù)的字節(jié)數(shù),因此可以使用該模塊來(lái)設(shè)置串口收包緩存。您可以使用ser.set_buffer_size()函數(shù)進(jìn)行設(shè)置,第一個(gè)參數(shù)是緩沖區(qū)大小,默認(rèn)為1KB。
在Python中使用字符串調(diào)用函數(shù)
已有字符串形式的函數(shù)名稱(chēng),那么如何調(diào)用這個(gè)函數(shù)呢?
通過(guò)調(diào)用內(nèi)置函數(shù)locals()和globals()返回的字典對(duì)象,就可以可以獲得名稱(chēng)與對(duì)象的映射關(guān)系。其中,locals()僅在全局范圍內(nèi)調(diào)用時(shí)可以獲得函數(shù)對(duì)象。 我們來(lái)看以下的例子。
需要注意的是,使用上述方法通過(guò)字符串調(diào)用函數(shù)時(shí),為了系統(tǒng)的安全,防止執(zhí)行任意函數(shù),需要對(duì)函數(shù)名做一些處理,也就是使用統(tǒng)一的前綴為這些函數(shù)命名。例如在上述例子中,使用前綴cmd_+函數(shù)名的形式定義函數(shù)(cmd_help,cmd_sum)。
在傳入函數(shù)名字符串時(shí),只傳入函數(shù)名的后半部分(如"help","sum"),由程序添加前綴后組成完整的函數(shù)名,再調(diào)用該函數(shù)。
對(duì)于類(lèi)的成員函數(shù),則可以使用getattr()獲得類(lèi)成員函數(shù)。
上述代碼通過(guò)字符串調(diào)用了類(lèi)成員函數(shù),與前一段代碼執(zhí)行的結(jié)果相同。
此外,還可以使用字典將字符串與函數(shù)對(duì)應(yīng)起來(lái)調(diào)用,缺點(diǎn)就是每增加一個(gè)函數(shù)需要相應(yīng)在字典對(duì)象中添加相應(yīng)的鍵值,增加代碼維護(hù)工作量。
以上代碼在Python 3.6以上運(yùn)行通過(guò)。
分享名稱(chēng):python串口操作函數(shù) python寫(xiě)串口
文章來(lái)源:http://fisionsoft.com.cn/article/dodjejc.html