11.26python筆記(進階1.1-1.3)
函數就是完成特定功能的一個語句組,這組語句可以作為一個單位使用,並且給它取一個名字。
可以通過函數名在程序的不同地方多次執行(這通常叫函數調用)。
預定義函數
可以直接使用
自定義函數
用戶自己編寫
為什麽使用函數
降低編程難度
- 通常將一個復雜的大問題分解成一系列的小問題,然後將小問題劃分成更小的問題,當問題細化為足夠簡單時,我們就可以分而治之。各個小問題解決了,大問題就迎刃而解了。
代碼重用 - 避免重復勞作,提供效率
函數的定義和調用 參數可選
- def 函數名([參數列表]): //定義
- 函數名([參數列表]) //調用
函數名的命名規則: 函數名可以是數字字母下劃線 不能以數字開頭,一般情況下函數名定義 ,除了第一個單詞小寫其它單詞的首字母都大寫 ,也可以單詞之間通過下劃線鏈接
def fun():
print "hello world"
例子:
#!/usr/bin/python
def fun():
sth = raw_input("Please input somting: ")
try:
if type(int(sth))==type(1):
print "%s is a number" %sth
except:
print "%s is not number" %sth
fun()
1.2 函數的參數
形式參數和實際參數
- 在定義函數時,函數名後面括號中的變量名稱叫做“形式參數”,或者稱為“形參”
- 在調用函數時,函數名後面括號中的變量名稱叫做“實際參數”,或者稱為“實參”
def fun(x,y): 形參
print x+y
fun(1,2) 傳進去實際的參數 實參
def fun(x,y):
if x>y:
print x
else:
print y
例子:定義函數的時候傳參數
import sys 導入sys模塊
def isNum(s):
for i in s:
if i in ‘0123456789‘:
pass
else:
print "%s is not a number" %s
sys.exit() 退出腳本
else:
print "%s is a number" %s
1.3 函數的默認參數
練習:
打印系統的所有PID
要求從/proc讀取。
os.listdir() 使用os模塊的listdir()
#!/usr/bin/python
import sys
import os
def isNum(s):
for i in s:
if i in ‘-0123456789‘:
pass
else:
#print "%s is not a number" %i
break
else:
print s
for i in os.listdir(‘/proc‘):
isNum(i)
缺省參數(默認參數) 默認參數只能在最後的形參上 默認參數只能寫在最右邊
def fun(x, y=100): 如果調用函數時,沒有實際參數y 則y的值就是100
print x,y
fun(1,2)
fun(1)
11.26python筆記(進階1.1-1.3)