Python關鍵詞(keywords)筆記
邏輯語句
is
在python中,is檢查兩個物件是否是同一個物件,而==檢查他們是否相等。
>>> a
= [1]
>>> b = a
>>> c = a
>>> d = [1]
>>> b is c
True
>>> b == c
True
>>> b is d
False
>>> b == d
True
對於數字、字元等,物件和值都相等。
>>>
a='test'
>>> b = a
>>> c = a
>>> d = ’test’
>>> b is c
True
>>> b == c
True
>>> b is d
True
>>> b == d
True
and
邏輯運算子,與運算。
or
邏輯運算子,表示“或”。
not
邏輯運算子,表示“非”。
資料結構操作
del
del用於list列表操作,刪除一個或連續幾個列表元素或者列表本身。
例如:
a = [-1, 3,
'aa', 85, 'bbb', 555]
print a
del a[0]
print a
del a[2:4]
print a
del a
in
判斷指定的元素是否存在於列表中。
注意陣列和元組(Tuple)用法的區別。
條件語句
if
條件分支語句。
elif
與if連用,表示條件分支。例如:
if ():
do something
elif():
do another thing
else:
write_error_log()
exit()
else
條件分支語句。
pass
python裡pass用來表示某條件分支不做任何事情。
C/C++中寫法:
if(true)
; // do nothing
else
{} // do nothing
python中寫法:
if true:
pass # do nothing
else:
print "do something."
迴圈語句
for
continue
關鍵字continue跳出本次迴圈或者break跳出整個for迴圈。
while
迴圈的開始。python中while一般用於無限迴圈,知道某條件達到時推出迴圈。
一般情況下使用for迴圈。
break
break語句是會立即退出迴圈,在其後邊的迴圈程式碼不會被執行。break語句可以用在和中。
關鍵字continue跳出本次迴圈或者break跳出整個for迴圈。
yield
帶有 yield 的函式在 Python 中被稱之為 generator(生成器),其具體功能是可以當return使用,從函式里返回一個值,不同之處是用yield返回之後,可以讓函式從上回yield返回的地點繼續執行。也就是說,yield返回函式,交給呼叫者一個返回值,然後再“瞬移”回去,讓函式繼續執行, 直到下條yield語句再返回一個新的值。
程式引用
import
用來把模組或包匯入記憶體。在中所有載入到記憶體中的模組都存在於sys.modules。
module
通常模組為一個檔案,直接使用import從 sys.path 目錄中按照模組名稱查詢模組檔案並載入。可以作為module的檔案型別有".py"、".pyo"、".pyc"、".pyd"、".so"、".dll"。
package
通常包總是一個目錄,可以使用import匯入包,或者from + import來匯入包中的部分模組。包目錄下為首的一個檔案便是 __init__.py。然後是一些模組檔案和子目錄,假如子目錄中也有 __init__.py 那麼它就是這個包的子包了。
from
在python用import或者from…import來(從檔案中)匯入相應的模組。模組其實就一些函式和類的集合檔案,它能實現一些相應的功能,當我們需要使用這些功能的時候,直接把相應的模組匯入到我們的程式中,我們就可以使用了。
這類似於C語言中的include標頭檔案,Python中我們用import匯入我們需要的模組。
Python會在以下路徑中搜尋它想要尋找的模組:
1. 程式所在的資料夾
2. 標準庫的安裝路徑
3. 作業系統環境變數PYTHONPATH所包含的路徑
import sys
print('================Python import mode==========================');
print ('The command line arguments are:')
for i in sys.argv:
print (i)
print ('\n The python path',sys.path)
from sys import argv,path #匯入特定的成員
print('================python from import===================================')
print('path:',path) # 因為已經匯入path成員,所以此處引用時不需要加sys.path
如果你要使用所有sys模組使用的名字,你可以這樣:
from sys import *
print('path:',path)
列印及檔案操作
列印命令。
動態執行
exec
透過exec可以執行動態Python程式碼,類似Javascript的eval功能;
而Python中的eval函式可以計算Python表示式,但不能為變數賦值;
>>>
exec("print(\"hello, world\")")
hello, world
>>> a = 1
>>> exec("a = 2")
>>> a
2
>>> eval(‘a + 10’)
12
注意區分python 中 exec、 eval、 execfile 和 compile 用法。
函式及變數
def
用來定義函式。
return
是從python 函式返回一個值。
global
定義全域性變數。如果在某函式中定義了全域性變數,可以在函式之外修改其值。
lambda
它允許你快速定義單行的最小函式,類似與C語言中的宏,這些叫做lambda的函式,是從LISP借用來的,可以用在任何需要函式的地方:
>>> g
= lambda x: x * 2
>>> g(3)
6
>>> (lambda x: x * 2)(3)
6
參考:Python特殊語法:filter、map、reduce、lambda
filter(function, sequence)
對sequence中的item依次執行function(item),將執行結果為True的item組成一個List/String/Tuple(取決於sequence的型別)返回:
>>>
def f(x): return x % 2 != 0 and x % 3 != 0
>>> filter(f, range(2, 25))
[5, 7, 11, 13, 17, 19, 23]
>>> def f(x): return x != 'a'
>>> filter(f, "abcdef")
'bcdef'
物件導向
class
Python既是Function Programming語言,又是Object-Oriented語言。Class用來定義類。
異常處理
try…except…
用於捕獲異常。
異常資訊內容獲取的3個方法:
方法一:捕獲所有異常
try:
a=b
b=c
except Exception,e:
print Exception,":",e
方法二:採用traceback模組檢視異常
#引入python中的traceback模組,跟蹤錯誤
import traceback
try:
a=b
b=c
except:
traceback.print_exc()
方法三:採用sys模組回溯最後的異常
如果你還想把這些異常儲存到一個日誌檔案中,可以:把 traceback.print_exc() 列印在螢幕上的資訊儲存到一個文字檔案中。
import traceback
try:
a=b
b=c
except:
f=open("c:log.txt",'a')
traceback.print_exc(file=f)
f.flush()
f.close()
raise
使用raise丟擲異常。
當程式出現錯誤,python會自動引發異常,也可以透過raise顯示地引發異常。一旦執行了raise語句,raise後面的語句將不能執行。
try:
s = None
if s is None:
print "s 是空物件"
raise NameError #如果引發NameError異常,後面的程式碼將不能執行
print len(s)
except TypeError:
print "空物件沒有長度"
finally
with…as…
替代try...finally...的另一種寫法。例如:
file =
open("/tmp/foo.txt")
try:
data = file.read()
finally:
file.close()
改寫為:
with open("/tmp/foo.txt")
as file:
data = file.read()
assert
assert是用來檢查一個條件,如果它為真,就不做任何事。如果它為假,則會丟擲AssertError並且包含錯誤資訊。例如:
py> x = 23
py> assert x > 0, "x is not zero or negative"
py> assert x%2 == 0, "x is not an even number"
Traceback (most recent call last):
File "", line 1, in
AssertionError: x is not an even number
什麼時候應該使用assert?沒有特定的規則,斷言應該用於:
· 防禦型的程式設計
· 執行時檢查程式邏輯
· 檢查約定
· 程式常量
· 檢查文件
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/66009/viewspace-2085105/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 中文NLP筆記:3. 關鍵詞提取的幾個方法筆記
- 如何用Python提取中文關鍵詞?Python
- js--class類、super和estends關鍵詞的學習筆記JS筆記
- 關鍵詞提取
- 網站關鍵詞堆砌後,處理關鍵詞堆砌方法網站
- 高亮:單關鍵詞、多關鍵詞、多組多關鍵詞,從簡單到複雜實現滿足多方面需求的頁面關鍵詞高亮
- 什麼是關鍵詞策略?網站關鍵詞佈局重要嗎?網站
- 如何優化多個關鍵詞?分享多關鍵詞優化心得優化
- java—— finall 關鍵詞Java
- 【python學習手冊】02|使用Python提取中文關鍵詞?Python
- 【python】百度關鍵詞排名查詢實現Python
- 怎麼禁用筆記本鍵盤 關閉筆記本自帶鍵盤方法筆記
- Java關鍵詞synchronized解讀Javasynchronized
- Eclipse註釋關鍵詞Eclipse
- Spring關鍵詞的理解Spring
- 百度流量與關鍵詞工具重大升級:推“關鍵詞影響力”
- AI繪畫怎麼寫關鍵詞?AI繪畫高畫質桌布關鍵詞分享AI
- Javascript中的關鍵字'this'學習筆記JavaScript筆記
- Hive常用命令,快鍵和關鍵詞Hive
- Pig 實現關鍵詞匹配
- 從JavaScript 的關鍵詞談起JavaScript
- 正規表示式關鍵詞解析
- jquery搜尋關鍵詞高亮效果jQuery
- [譯] 深入淺出 JavaScript 關鍵詞 -- thisJavaScript
- Java修飾符關鍵詞大全Java
- 關鍵詞庫建立與篩選
- go verb 動詞筆記Go筆記
- 掌握seo關鍵點,輕鬆穩定網站關鍵詞排名網站
- 高效的關鍵詞替換和敏感詞過濾工具
- 執行緒關鍵字、鎖、同步集合筆記執行緒筆記
- this 關鍵字的理解--java學習筆記(轉)Java筆記
- 使用Python呼叫API介面獲取京東關鍵詞詳情資料PythonAPI
- 利用Python爬蟲過濾“掘金”的關鍵詞檢索結果Python爬蟲
- C#9新關鍵詞詳解C#
- 語音技術——關鍵詞搜尋
- Java的關鍵詞和註釋符Java
- java繼承-final關鍵詞用法Java繼承
- 關鍵詞與主題分面公式公式