函數總結
阿新 • • 發佈:2017-07-30
討論 highlight class 開始 lob on() 調用 change blog
全局變量作用域是整個程序,局部變量作用域是定義該變量的子程序。
當全局變量與局部變量同名時:
在定義局部變量的子程序內,局部變量起作用;在其它地方全局變量起作用。
一 數學定義的函數與python中的函數
總結使用函數的好處:
1.代碼重用
2.保持一致性,易維護
3.可擴展性
二 函數和過程
過程定義:過程就是簡單特殊沒有返回值的函數
這麽看來我們在討論為何使用函數的的時候引入的函數,都沒有返回值,沒有返回值就是過程,沒錯,但是在python中有比較神奇的事情
def test01(): msg=‘hello The little green frog‘ print msg def test02(): msg=‘hello WuDaLang‘ print msg return msg t1=test01() t2=test02() print ‘from test01 return is [%s]‘ %t1 print ‘from test02 return is [%s]‘ %t2
三 函數參數
1.形參變量只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只在函數內部有效。函數調用結束返回主調用函數後則不能再使用該形參變量
2.實參可以是常量、變量、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使參數獲得確定值
四 局部變量和全局變量
在子程序中定義的變量稱為局部變量,在程序的一開始定義的變量稱為全局變量。
name=‘lhf‘ def change_name(): print(‘我的名字‘,name) change_name() def change_name(): name=‘帥了一筆‘ print(‘我的名字‘,name) change_name() print(name) def change_name(): global name name=‘帥了一筆‘ print(‘我的名字‘,name) change_name() print(name)
六 前向引用之‘函數即變量
def action(): print ‘in the action‘ logger() action() 報錯NameError: global name ‘logger‘ is not defined def logger(): print ‘in the logger‘ def action(): print ‘in the action‘ logger() action() def action(): print ‘in the action‘ logger() def logger(): print ‘in the logger‘ action()
函數總結