請看如下**,執行後,思考生成的兩個***為什麼不一樣?
1執行上述**,結果如下圖所示:#-*- coding:utf-8 -*-
2from tkinter import *
3from tkinter import
ttk4
from pil import
imagetk
5import
qrcode
6class
qrcodeimage(object):
7'''
生成***類
'''8
9def
__init__(self, content, fcolor=none, bcolor=none, size=none):
10'''
11引數說明:
12content:***的文字內容
13fcolor:***的前景色
14bcolor:***的背景色
15size:***大小
16'''
17 qr = qrcode.qrcode(version=2,
18 error_correction=qrcode.constants.error_correct_l, #
容錯率19 box_size=8,
20 border=2) #
例項化qrcode類,得到qr物件
21 qr.add_data(content) #
22 qr.make(fit=true) #
23if fcolor == none: fcolor = '
black'#
預設前景色為黑色
24if bcolor == none:bcolor = '
white'#
預設背景色為白色
25 img = qr.make_image(fill_color=fcolor,
26 back_color=bcolor) #
生成彩色***
27 img = img.convert(mode="
rgba
") #
將的模式轉換為彩色透明模式
28if size == none: size = 150 #
預設大小
29 self.img =img.resize((size, size))
3031
defgetphotoimage(self):
32'''
轉換為photoimage
'''33 tkimg =imagetk.photoimage(self.img)
34return
tkimg
35def
cvfill():
36 cv.create_window(200, 50, window=lbimg1, width=155, height=155,
37 anchor=nw,38)
39 cv.create_window(50, 50, window=lbimg2, width=155, height=155,
40 anchor=nw,41)
42global
img1
43 img1 =qrcodeimage(content).getphotoimage()
44 lbimg1.config(image=img1)
45 content1='''
begin:vcard
46fn:steven
47title:drector
48tel;type=cell:15201011234
49note:
50end:vcard
'''51
global
img2
52 img2=qrcodeimage(content1).getphotoimage()
53 lbimg2.config(image=img2)
54 root =tk()
5556
57 cv = canvas(root, width='
94m', height='
54m', bg='
#f0f8ff',
58 highlightbackground='
gold',
59 highlightthickness=2,60)
61 cv.pack(pady=10)
6263 lbimg1 =label()
64 lbimg2 =label()
65 content='''
begin:vcard
66fn:steven
67title:drector
68tel;type=cell:15201011234
69note:
70end:vcard
'''71
cvfill()
72 mainloop()
明顯兩個***不同,而出現這樣的差異的原因就出現在全域性變數content和區域性變數content1的賦值上。
content的賦值後的結果為:
content = begin:vcard\nfn:steven\ntitle:drector\ntel;type=cell:15201011234\nnote:\nend:vcard而content1的賦值後的結果為:
content1 = begin:vcard\n fn:steven\n title:drector\n tel;type=cell:15201011234\n note:\n end:vcard明顯content和content1的值的內容不一樣,content1多了很多空格字元。造成這樣結果的原因就是因為在函式cvfill()中,三引號'''中的內容從第二行開始進行了縮排,導致增加了很多縮排的空格,這是很容易犯的乙個小錯誤,並且不易被注意到。
三引號 python python中的三引號
drupal 自定義表單呼叫autocomplete主標籤實現方法 如下 t c 獲取ip的示例 介面 using system using system.collections.generic using system.componentmodel using system.data using ...
單引號,雙引號,三引號的區別
單引號,雙引號,三引號的區別 單引號和雙引號都可以用來表示乙個字串 單引號,雙引號都用到包裹字串,唯一不同用法在於如果字串內有需要轉義 的字元時候 單引號必須加反斜槓 3個引號還有乙個特別棒的作用就是 加注釋 如果出現換行必須採用反斜槓表明 易於書寫閱讀 但是輸出還是沒有換行的字串 引用三引號 不僅...
python中的單引號,雙引號,三引號
print nihao nihao print ni sa sad ni sa sad print scvsiadufvashuigf hac s df sa dsd sffgu scvsiadufvashuigf hac s df sa dsd sffgu print e nf ha e nf h...