您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)python 使用三引號時常見的錯誤有哪些,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
請看如下代碼,執(zhí)行后,思考生成的兩個二維碼為什么不一樣?
# -*- coding:utf-8 -*- from tkinter import * from tkinter import ttk from PIL import ImageTk import qrcode class QRcodeImage(object): '''生成二維碼圖片類''' def __init__(self, content, fcolor=None, bcolor=None, size=None): ''' 參數(shù)說明: content:二維碼圖片的文本內(nèi)容 fcolor:二維碼圖片的前景色 bcolor:二維碼圖片的背景色 size:二維碼大小 ''' qr = qrcode.QRCode(version=2, error_correction=qrcode.constants.ERROR_CORRECT_L, #容錯率 box_size=8, border=2) # 實例化QRCode類,得到qr對象 qr.add_data(content) # 二維碼內(nèi)容添加到圖片中 qr.make(fit=True) # 圖片中的二維碼大小自適應(yīng),以保證二維碼內(nèi)容能完整繪制 if fcolor == None: fcolor = 'black' #默認前景色為黑色 if bcolor == None:bcolor = 'white' #默認背景色為白色 img = qr.make_image(fill_color=fcolor, back_color=bcolor) #生成彩色二維碼圖片 img = img.convert(mode="RGBA") # 將圖片的模式轉(zhuǎn)換為彩色透明模式 if size == None: size = 150 #默認圖片大小 self.img = img.resize((size, size)) def getPhotoImage(self): '''轉(zhuǎn)換為PhotoImage''' tkimg = ImageTk.PhotoImage(self.img) return tkimg def cvfill(): cv.create_window(200, 50, window=lbimg1, width=155, height=155, anchor=NW, ) cv.create_window(50, 50, window=lbimg2, width=155, height=155, anchor=NW, ) global img1 img1 = QRcodeImage(content).getPhotoImage() lbimg1.config(image=img1) content1='''BEGIN:VCARD FN:steven TITLE:Drector TEL;TYPE=CELL:15201011234 NOTE: END:VCARD ''' global img2 img2=QRcodeImage(content1).getPhotoImage() lbimg2.config(image=img2) root = Tk() cv = Canvas(root, width='94m', height='54m', bg='#F0F8FF', highlightbackground='gold', highlightthickness=2, ) cv.pack(pady=10) lbimg1 = Label() lbimg2 = Label() content='''BEGIN:VCARD FN:steven TITLE:Drector TEL;TYPE=CELL:15201011234 NOTE: END:VCARD ''' cvfill() mainloop()
執(zhí)行上述代碼,結(jié)果如下圖所示:
明顯兩個二維碼圖片不同,而出現(xiàn)這樣的差異的原因就出現(xiàn)在全局變量content和局部變量content1的賦值上。
content的賦值后的結(jié)果為:
content = BEGIN:VCARD\nFN:steven\nTITLE:Drector\nTEL;TYPE=CELL:15201011234\nNOTE:\nEND:VCARD
而content1的賦值后的結(jié)果為:
content1 = BEGIN:VCARD\n FN:steven\n TITLE:Drector\n TEL;TYPE=CELL:15201011234\n NOTE:\n END:VCARD
明顯content和content1的值的內(nèi)容不一樣,content1多了很多空格字符。造成這樣結(jié)果的原因就是因為在函數(shù)cvfill()中,三引號'''中的內(nèi)容從第二行開始進行了縮進,導(dǎo)致增加了很多縮進的空格,這是很容易犯的一個小錯誤,并且不易被注意到。
以上就是python 使用三引號時常見的錯誤有哪些,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。