Python隨筆(一)-python3關鍵字
阿新 • • 發佈:2019-03-31
檢視Python3的全部關鍵字方法
import keyword
print(keyword.kwlist)
print(len(keyword.kwlist))
我們可以看到Python3有33個關鍵字
break | False | None | True | and | as | assert |
class | continue | def | del | elif | else | except |
finally | for | from | global | if | import | in |
is | lambda | nonlocal | not | or | with | yield |
pass | raise | return | try | while |
針對每一個關鍵字我們做出簡單的介紹
- False 布林型別的值,表示假,與True對應
- class 定義類的關鍵字
- finally 異常處理使用的關鍵字,用它可以指定始終執行的程式碼,指定程式碼在finally裡面
class MyException(Exception):pass try: #some code here raise MyException except MyException: print "MyException encoutered" finally: print "Arrive finally"
- is Python中的物件包含三個要素:id,type,value 其中:
- id:用來唯一標示一個物件
- type:標識物件的型別
- value:是物件的值
- is:就是用來判斷a物件是否就是b物件,是通過id來判斷的
- ==:判斷的是a物件的值是否和b物件的值相等,是通過value來判斷的
示例:
- return python 函式返回值 return,函式中一定要有return返回值才是完整的函式。如果你沒有python定義函式返回值,那麼會得到一個結果是None物件,而None表示沒有任何值。
- none None是一個特殊的常量,None和False不同,None不是0。None不是空字串。None和任何其他資料型別比較永遠返回False。None有自己的資料型別NoneType。我們可以將None複製給任何變數,但是不能建立其他NoneType物件。
- continue continue語句被用來告訴Python跳過當前迴圈塊中的剩餘語句,然後繼續進行下一輪迴圈。
- for for迴圈可以遍歷任何序列的專案,如一個列表或者一個字串、迭代器 例如:
for letter in 'Python': # 字串
print '當前字母 :', letter
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 陣列
print '當前水果 :', fruit
print "Good bye!"
- lambda 匿名函式
func = lambda x:x+1
>>> func(1)
>>>2
>>>func(2)
>>>3
>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
>>> print map(lambda x: x * 2 + 10, foo)
[14, 46, 28, 54, 44, 58, 26, 34, 64]
>>> print reduce(lambda x, y: x + y, foo)
- try 程式設計師可以使用try…except語句來處理異常。把通常的語句塊放在try塊中,而把錯誤處理的語句放在except塊中。
- true 布林型別的值,表示真,與false相反。
- def 定義函式
- from 在python用import或者from…import來匯入相應的模組。
- nonlocal nonlocal關鍵字用來在函式或其他作用域中使用外層(非全域性)變數。 例如:
def make_counter():
count = 0
def counter():
nonlocal count
count += 1
return count
return counter
def make_counter_test():
mc = make_counter()
print(mc())
print(mc())
print(mc())
- while #while語句重複執行一塊語句。while是迴圈語句的一種,while語句有一個可選的else從句。
- and 邏輯判斷語句,and左右兩邊都為真,則判斷結果為真,否則都是假
- del del用於list列表操作,刪除一個或者連續幾個元素。 python的del不同於C的free和C++的delete。 由於python都是引用,而python有GC機制,所以,del語句作用在變數上,而不是資料物件上。
a = [-1,3,'aa',85] # 定義一個list
del a[0] # 刪除第0個元素
del a[2:4] # 刪除從第2個到第3個元素。
- global 定義全域性標量。
- not 邏輯取反
- with with是python2.5以後有的,它實質是一個控制流語句,with可以用來簡化try…finally語句,它的主要用法是實現一個類_enter_()和_exit_()方法。
class controlled_execution:
def _enter_(self):
set things up
return thing
def _exit_(self,type,value,traceback):
tear thing down
with controlled_execution() as thing:
some code
- as 結合with使用,或者在import的時候對引入的物件進行重新命名
- elif 和if配合使用的
- if if語句用來檢驗一個條件,如果條件為真,我們執行一塊語句(稱為if…塊),否則我們處理另外一塊語句(稱為else…塊)。else從句是可選的。
- or 邏輯判斷,or兩邊有一個為真,判斷結果就是真。
- yield yield用起來像return,yield在告訴程式,要求函式返回一個生成器專門分了一偏文章來說明yield
- assret 斷言,用來在執行中檢查程式的正確性,寫過單元測試的小夥伴應該不陌生
assert len(mylist) >= 1
- else 與if配合使用
- import 在Python用import或者from…import來匯入相應的模組。
- pass 佔位符,當我們寫出程式架構,還沒有定義好方法的時候用pass去填補方法實現
def f(arg):
pass # a function that does nothing (yet)
class Myclass:
pass # a class with no methods(yet)
- break 跳出迴圈體
- except 與try連用用來捕獲異常。 in for…in是另外一個迴圈語句,它在一序列的物件上遞迴即逐一使用佇列中的每個專案。
- raise railse丟擲異常。
class MyException(Exception):pass
try:
raise MyException
except MyException:
print('MyException encoutered')
finally:
print('Arrive finally')
- elif 與if連用,相當於是替代其他語言內的switch 32 finally 與try...expect...finally連用表示異常處理過後