在Python中能夠使用def關鍵字來定義函數,和變量同樣每一個函數也有一個響亮的名字,並且命名規則跟變量的命名規則是一致的。在函數名後面的圓括號中能夠放置傳遞給函數的參數,函數執行完成後咱們能夠經過return關鍵字來返回一個值 變量引用和調用函數的引用python
#-*- coding:utf-8 -*- from random import randint def roll_dice(n=2): total = 0 for _ in range(n): total += randint(1, 6) return total def add(a=0, b=0, c=0): return a + b + c print(roll_dice()) print(roll_dice(3)) print(add()) print(add(1)) print(add(1, 2)) print(add(1, 2, 3)) # 傳遞參數時能夠不按照設定的順序進行傳遞 print(add(c=50, a=100, b=200))
調用函數以及引用dom
def foo(): print('hello, world!') def foo(): print('goodbye, world!') foo()
提示:上述foo()會引用哪一個呢?,當多個開發進行定義的時候 能夠在同個文件夾下寫兩個不一樣的.py文件(a.py 和b.py)函數
[root@aliyun-hk-yabo-test-ownself python]# python 2.py goodbye, world! hello, world! hello, world! goodbye, world! [root@aliyun-hk-yabo-test-ownself python]# cat 2.py from b import foo from a import foo import a as m1 import b as m2 m1.foo() m2.foo() [root@aliyun-hk-yabo-test-ownself python]# cat a.py def foo(): print('hello, world!') foo() [root@aliyun-hk-yabo-test-ownself python]# cat b.py def foo(): print('goodbye, world!') foo()
提示:若是咱們導入的模塊除了定義函數以外還中有能夠執行代碼,這個坑最好把要執行的代碼放到執行的模塊裏 if name == 'main': print('call foo()') foo() print('call bar()') bar()spa
def main(): # Todo: Add your code here pass if __name__ == '__main__': main()