1. 程式人生 > >11.26python筆記(進階1.1-1.3)

11.26python筆記(進階1.1-1.3)

打印 == () 第一個 問題 命名規則 導入 參數 形參

1.1 函數定義
函數就是完成特定功能的一個語句組,這組語句可以作為一個單位使用,並且給它取一個名字。
可以通過函數名在程序的不同地方多次執行(這通常叫函數調用)。
預定義函數
可以直接使用
自定義函數
用戶自己編寫

為什麽使用函數
降低編程難度

  • 通常將一個復雜的大問題分解成一系列的小問題,然後將小問題劃分成更小的問題,當問題細化為足夠簡單時,我們就可以分而治之。各個小問題解決了,大問題就迎刃而解了。
    代碼重用
  • 避免重復勞作,提供效率

函數的定義和調用 參數可選

  • 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

isNum(sys.argv[1]) 實參傳入 argv[1]

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)