Python學習(2)

字典的遍歷:兩種方式
dic1 = {'name':'liberyu','age':21,'gender':'male'}
for x in dic1:
    print dic1[x]
#得到的結果是liberyu 21 male (無序)
#第二種方式
for k,v in dic1.items():
    print(k,v)
#得到結果:name liberyu  age 21 gender male (這三者無序)
#其中k顯示的是key,v顯示的是value

range: range(4)

            結果爲 0,1,2,3  沒有終值,且默認初始值從零開始

函數調用:

                 對於形參的設定默認值時一定是從右往左設定,如果調用函數時沒有實參對函數進行參數傳遞,則函數自己用設定的默認值對其進行操作

def add(x = 1,y = 2)
    c = x + y
    return c
'''
def add(x = 1,y)
    c = x + y
    return c
這樣只設定一個默認值是有錯誤的(語法錯誤)
'''
def add(x ,y = 2)
    c = x + y
    return c
#這樣的設定默認值沒錯



全局變量和局部變量:

x = 'liberyu'
#在函數定義之前的變量爲全局變量

def add(a,b):
    x = a + b
    return x
#定義的函數中的局部變量x雖然和上邊的全局變量重名,但是內容不一


python 中的yield:

一個帶有 yield 的函數就是一個 generator,它和普通函數不同,生成一個 generator 看起來像函數調用,

但不會執行任何函數代碼,直到對其調用 next()(在 for 循環中會自動調用 next())纔開始執行。雖然執行流程仍按函數的流程執行,

但每執行到一個 yield 語句就會中斷,並返回一個迭代值,下次執行時從 yield 的下一個語句繼續執行。

看起來就好像一個函數在正常執行的過程中被 yield 中斷了數次,每次中斷都會通過 yield 返回當前的迭代值。

截取自鏈接:https://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/

對比生成器generator 和列表解析,參考鏈接:http://www.cnblogs.com/cotyb/p/5260032.html

tf.shape(a) 和 a.get_shape()的差別,參考鏈接:http://blog.csdn.net/chenxieyy/article/details/53020760





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