習題 18: 命名、變量、代碼、函數
目標與感悟:•簡單理解函數的概念,函數可以看成是一個腳本,我們定義其動作,之後可進行使用
•具體來說雖然無法準確表達,但心中已大體有模糊概念
ex18.py
#-*-coding:utf-8-*-
# this one is like your scripts with argv
#函數,英文爲function
#define,定義的意思,此處def即define,定義其名稱爲print_two
#函數的命名可以隨便叫,但是最好有意義,易於理解。
#函數的命名由數字英文意義下劃線組成,不可以以數字開頭
#函數參數需要放在括號裏,和open一樣.
#翻譯過來就是定義函數 print_two,*args代表可變個數參數,這裏不是很懂
def print_two(*args):
#可變個數爲2個
arg1, arg2 = args
#打印參數
print "arg1: %r, arg2: %r" % (arg1, arg2)
# ok, that *args is actually pointless, we can just do this
#這個就很好理解了,定義2個參數,然後打印輸出其參數
def print_two_again(arg1, arg2):
print "arg1: %r, arg2: %r" % (arg1, arg2)
# this just takes one argument
def print_one(arg1):
print "arg1: %r" % arg1
# this one takes no arguments
#這個應該是告訴我,如果函數未定義參數,也可以使用.
#並且由上面可知,每個函數就是一個小腳本。所以參數定義所用單詞可以重複使用
def print_none():
print "I got nothin'."
#此處測試我發現如果定義了參數,而不打印,
#那麼將會打印失敗,即什麼也無法打印出來
def print_test1(*args):
arg1 = args
print "Can you succeed? %r" %arg1
#另外通過下面2個實驗可知,函數在定義參數後,並不一定需要對參數有操作。
def print_test2(*args):
arg1,arg2 = args
print "Can you succeed? "
def print_test3(arg1):
print "Can you succeed? "
#函數定義後可以直接使用,具體方法爲 函數名稱("參數","參數")
print_two("Zed","Shaw")
print_two_again("Zed","Shaw")
print_one("First!")
print_none()
print_test1("arg1")
print_test2("arg1","arg2")
print_test3("arg1")
#多次調用
print_one("First!")
print_one("First!")
print_one("First!")
運行結果: