笨辦法學python的筆記之七(ex37 複習各種符號)

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">複習各種符號</span>


Keywords(關鍵字)

and
as
摘自 http://zhoutall.com/archives/325 

python使用了with-as的語法。當python執行這一句時,會調用__enter__函數,然後把該函數return的值傳給as後指定的變量。之後,python會執行下面do something的語句塊。最後不論在該語句塊出現了什麼異常,都會在離開時執行__exit__。

我們如果要打開文件並保證最後關閉他,只需要這麼做:
with open("x.txt") as f:
    data = f.read()
    do something with data



with-as表達式極大的簡化了每次寫finally的工作,這對保持代碼的優雅性是有極大幫助的。
<pre name="code" class="python">try:
    with open( "a.txt" ) as f :
        do something
except xxxError:
    do something about exception

assert
轉載自 http://blog.sina.com.cn/s/blog_76e94d210100vz37.html
assert語句用來聲明某個條件是真的。
如果你非常確信某個你使用的列表中至少有一個元素,而你想要檢驗這一點,並且在它非真的時候引發一個錯誤,那麼assert語句是應用在這種情形下的理想語句。
當assert語句失敗的時候,會引發一AssertionError。
>>> mylist = ['item']
>>> assert len(mylist) >= 1
>>> mylist.pop()
'item'
>>> assert len(mylist) >= 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError
>>>
break  
class
摘自 http://blog.chinaunix.net/uid-22521242-id-4017965.html

把具有相同屬性和方法的對象歸爲一個類(
class
continue  
def
del
摘自 http://blog.sina.com.cn/s/blog_76e94d210100vxtk.html

del用於list列表操作,刪除一個或者連續幾個元素。
elif
else
except
摘自 http://www.pythontab.com/html/2013/pythonjichu_0204/210.html

如果你在寫python程序時遇到異常後想進行如下處理的話,一般用try來處理異常,後接except
exec
摘自 http://blog.csdn.net/phay/article/details/7277058

exec語句用來執行儲存在字符串或文件中的Python語句。例如,我們可以在運行時生成一個包含Python代碼的字符串,然後使用exec語句執行這些語句。下面是一個簡單的例子。

>>> exec 'print "Hello World"'
Hello World
finally
for
from
global
摘自 http://blog.csdn.net/nilxin/article/details/1523898

全局變量的使用是爲了使我們在一個類或一個函數中使用由函數返回的變量,並進行復雜的計算過程而使用。而對於一個函數的局部變量,則只在一個函數內部是可使用的,而如果需要跨越不同的函數或者類,則需要在基礎函數中返回一個該值,在下一個函數中運行其方法才能獲取該值進行計算。如果程序不復雜在一個類中可以解決,全局變量會爲我們節省不少的時間,以及內存空間。
if
import
in
is
lambda
摘自 http://www.pythonfan.org/thread-1915-1-1.html

lambda語句中,冒號前是參數,可以有多個,用逗號隔開,冒號右邊的返回值。lambda語句構建的其實是一個函數對象,見證一下:
g = lambda x : x**2
print g
<function <lambda> at 0x00AFAAF0>
not
or
pass
print
raise
return
try
while
with
yield
摘自 http://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/

一個帶有 yield 的函數就是一個 generator,它和普通函數不同,生成一個 generator 看起來像函數調用,但不會執行任何函數代碼,直到對其調用 next()(在 for 循環中會自動調用 next())纔開始執行。雖然執行流程仍按函數的流程執行,但每執行到一個 yield 語句就會中斷,並返回一個迭代值,下次執行時從 yield 的下一個語句繼續執行。看起來就好像一個函數在正常執行的過程中被 yield 中斷了數次,每次中斷都會通過 yield 返回當前的迭代值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章