調試程序的時候,就吃過這個虧,不知道為何Python使用括號做元組聲明邊界符,估計是找不到合適的符號了。中括號用來聲明列表,花括號用來聲明字典,元組號只能用括號來聲明了。有其他語言編程經歷的朋友都清楚括號在其它語言里都是表示優先級,而Python也可以用來表示優先級,所以也就引發了以下白癡的問題。
復制代碼
代碼如下:
# encoding=UTF-8
?
obj = ('tuple')
?
print obj
print type(obj)
print len(obj)
執行結果
復制代碼
代碼如下:
tuple
5
我本來是想聲明只有一個元素的元組,而Python估計以為你只是聲明一個字符串所以結果以obj變量就變成元組了。這個錯誤非常隱形,不好調試。
解決方法:末尾加一個逗號
復制代碼
代碼如下:
# encoding=UTF-8
?
obj = ('tuple',)
?
print obj
print type(obj)
print len(obj)
執行結果
復制代碼
代碼如下:
('tuple',)
1
使用tuple關鍵字:將會得到意外的結果
復制代碼
代碼如下:
# encoding=UTF-8
?
obj = tuple('tuple')
?
print obj
print type(obj)
print len(obj)
執行結果
復制代碼
代碼如下:
('t', 'u', 'p', 'l', 'e')
5
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
