python函數:python
1. 函數就是完成特定功能的一個語句組,這組語句能夠做爲一個單位使用,而且給它取一個名字。編程
2. 能夠經過函數名在程序的不一樣地方屢次執行(這一般叫函數調用)。函數
3. 預約義函數spa
能夠直接使用字符串
4. 自定義函數input
用戶本身編寫it
爲何使用函數效率
1. 下降編程難度import
- 一般將一個複雜的大問題分解成一系列的小問題,而後將小問題劃分紅更小的問題,當問題細化爲足夠簡單時,咱們就能夠分而治之。各個小問題解決 了,大問題就迎刃而解了。變量
2. 代碼重用
- 避免重複勞做,提供效率
函數的定義和調用
- def 函數名([參數列表]): //定義
定義函數名時,若是有多個單詞組成,建議從第二個開始,每一個單詞的首字母大寫。
- 函數名([參數列表]) //調用
定義一個函數,判斷從鍵盤輸入的是不是數字:
#! /usr/bin/python
def fun():
sth = raw_input("please input something: ")
try:
if type(int(sth)) == type(1):
print "%s is a number" %sth
except:
print "%s is not number" %sth
fun()
注:
try: 捕獲異常
except:出現異常後執行下面操做。
形式參數和實際參數:
- 在定義函數時,函數名後面括號中的變量名稱叫作「形式參數」,或者稱爲「形參」
- 在調用函數時,函數名後面括號中的變量名稱叫作「實際參數」,或者稱爲「實參」
注:
x ,y是形式參數;
1,3 和'a','b'是實際參數;
+:加好用在數值中是相加,用在字符串中鏈接兩個字符串;
sys模塊的argv屬性:
#! /usb/bin/python
import sys
print sys.argv
注:
導入模塊sys
sys的一個屬性argv,argv的值是一個列表,列表中的元素有,腳本的名字,後面跟的參數;
腳本的第一個參數下標爲1;sys.argv[1]
判斷參數是否爲數字:
#! /usb/bin/python
import sys
def isNum(x):
for i in x:
if i in '0123456789':
pass
else:
print "%s is not a number" % x
sys.exit()
else:
print "%s is a number" % x
isNum(sys.argv[1])
練習:
•打印系統的全部PID
•要求從/proc讀取。
•os.listdir() 查看目錄內全部的目錄文件名,以列表形式輸出
#! /usr/bin/python
import os
import sys
def isNum(x):
for i in x:
if i in '0123456789':
pass
else:
break
else:
print x
for i in os.listdir('/proc'):
isNum(i)
缺省參數(默認參數)
def fun(x, y=100):
print x,y
fun(1,2)
fun(1)
y設置一個默認值後,調用函數時最少要寫一個x的參數,不寫y參數時y默認用設置缺省參數;
默認參數只能在形式參數中從後往前設置:
不能只設置第一個不設置後面的;