在Python这条路上踩过的坑(1)
(1)如果中文字符串在Python環(huán)境下遇到 UnicodeDecodeError,這是因?yàn)?py文件保存的格式有問題??梢栽诘谝恍刑砑幼⑨?/p> # -*- coding: utf-8 -*-
(2)and 和 or 運(yùn)算的一條重要法則:短路計(jì)算。Python 解釋器在做布爾運(yùn)算時(shí),只要能提前確定計(jì)算結(jié)果,它就不會(huì)往后算了,直接返回結(jié)果
(3)因?yàn)?)既可以表示 tuple,又可以作為括號表示運(yùn)算時(shí)的優(yōu)先級,結(jié)果 (1) 被 Python 解釋器計(jì)算出結(jié)果 1,導(dǎo)致我們得到的不是 tuple,而是整數(shù) 1。
正是因?yàn)橛?)定義單元素的tuple有歧義,所以 Python 規(guī)定,單元素 tuple 要多加一個(gè)逗號“,”,這樣就避免了歧義:
>>> t = (1,) >>> print t (1,)Python在打印單元素tuple時(shí),也自動(dòng)添加了一個(gè)“,”,為了更明確地告訴你這是一個(gè)tuple。
(4)注意:Python 代碼的縮進(jìn)規(guī)則。具有相同縮進(jìn)的代碼被視為代碼塊,上面的3,4行 print 語句就構(gòu)成一個(gè)代碼塊(但不包括第5行的 print )。如果 if 語句判斷為 True,就會(huì)執(zhí)行這個(gè)代碼塊。
縮進(jìn)請嚴(yán)格按照 Python 的習(xí)慣寫法:4個(gè)空格,不要使用 Tab,更不要混合 Tab 和空格,否則很容易造成因?yàn)榭s進(jìn)引起的語法錯(cuò)誤。
注意: if 語句后接表達(dá)式,然后用:表示代碼塊開始。
如果你在 Python 交互環(huán)境下敲代碼,還要特別留意縮進(jìn),并且退出縮進(jìn)需要多敲一行回車
(5)冪運(yùn)算**
(6)set 持有一系列元素,這一點(diǎn)和 list 很像(set 和 list 存的都是元素),但是 set 的元素沒有重復(fù),而且是無序的,這點(diǎn)和 dict 的 key 很像(dict 的 key 也是無序且不可重復(fù)的)。
(7)set 的內(nèi)部結(jié)構(gòu)和 dict 很像,唯一區(qū)別是不存儲 value,因此,判斷一個(gè)元素是否在 set 中速度很快。
set 存儲的元素和 dict 的 key 類似,必須是不變對象,因此,任何可變對象是不能放入 set 中的。
最后,set 存儲的元素也是沒有順序的。
總結(jié)
以上是生活随笔為你收集整理的在Python这条路上踩过的坑(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 剑指offer(Java实现) 平衡二叉
- 下一篇: Python LDA主题模型实战