作用域法則
函式是為了**最大程度的重用和最小化**冗餘而提供的最基本的程式結構
- 最大化的**重用和最小化的**冗餘
- 流程分解
語句例子
備註calls
func(『spam』,』eggs』)
呼叫函式
defdef func(a,b=1,*c)
定義return
return a+b+c[0]
返回值global
def changer():
global x
x = 『new』
全域性變數
yield
def square(x):
for i in range(x): yield i**2
迭代器lambda
func=lambda x:x**2
匿名函式
說明:
-def是可執行**。函式並不存在,直到python執行了def後才存在。既是語句其可以與if判斷語句、while迴圈語句、def語句等巢狀使用。在典型的操作中,def語句在模組檔案中編寫,並自然而然的在模組檔案中第一次匯入的時候生成定義。
-def建立了乙個物件並將其賦值給某個變數名當python執行到def時,它將會生成乙個新的函式物件並將其賦值給這個函式名。
-lambda建立乙個物件但將其作為結果返回
-return將乙個結果物件傳送給呼叫者
-yield向呼叫者發回乙個結果物件,但是記住它離開的地方
-global宣告了乙個模組級的便令並被賦值。變數名往往需要關注它的作用域(也就是說變數儲存的地方)
-函式是通過賦值(物件引用傳遞的)
-引數、返回值 變數並不是宣告
def
(arg1,arg2,... argn):
[return
] [yield
]
def
my_func
(s,flag=1):
print flag
if flag == 1:
deffunc
(s):
return s + ' world!'
elif flag == 2:
deffunc
(s):
return s%10
else:
return -1
return func(s)
print my_func('hello')
example:
x = 99
deffunc
(y):
z = x + y
return z
func(1)
說明:
全域性變數名:x,func
本地變數名:y,z
y和z都是本地變數,因為他們都是在函式定義內部進行賦值的,變數的賦值將改變函式的作用域
>>>
import __builtin__
>>> dir(__builtin__)
盡量少使用全域性變數
x = 99
deffunc
(z,y):
global x
x = x + y
return x
func(1,2)
模組:test.py
x = 99
deffunc
(z,y):
global x
x = x + y
return x
載入模組,訪問變數
import test
print test.x
print test.func(1,2)
x = 99
y = 80
deff1
(): x = 88
deff2
():print x
print y
f2()
f1()
def
maker
(n):
defaction
(x):
return x**n
return action
f = maker(2)
f(3)
譚子python學習筆記 字典
操作 解釋備註 d 空字典d 兩專案字典 d 巢狀d dict.fromkeys a b 構造字典,鍵值為列表 a b 中的值 d dict.fromkeys a b print d 結果為d egg d egg ham 以鍵作為索引運算 eggs in d 成員關係,存在測試 d.keys 鍵d....
Python學習筆記 函式
1.基本呼叫 python 中的函式使用關鍵字 def 來建立乙個函式,正如其他語言中的函式一樣,有函式名,引數,以及返回值。函式的引數不用指定型別,return 可以在任何地方出現,表示函式結束,如果沒有返回內容則預設返回值為none。乙個簡單的無引數,無返回值的hello world def h...
python學習筆記 函式
def fun object,param1,param2 none print type object tuple,呼叫時預設的所有實參全部轉化為tuple傳遞給object fun 1,2,3,4,5,6,7,param1 8 指定param1的呼叫實參,param2引數呼叫預設值函式內可訪問全域...