Python内置了很多有用的函數,我們可以直接調用。
要調用一個函數,需要知道函數的名稱和參數,比如求絕對值的函數
abs
,隻有一個參數。可以直接從Python的官方網站檢視文檔:
官方文檔:
http://docs.python.org/3/library/functions.html#abs 比如求絕對值的函數abs:#abs絕對值函數
print(abs(-12))
》12
常用的方法:
#一些常用的方法
#range整數數組
print(list(range(2,11)))
》[2, 3, 4, 5, 6, 7, 8, 9, 10]
#int整數轉換
print(int(-989.222))
》-989
#max最大值
print(max(1,3,44,2,))
》44
#hex十六進制轉換
print(hex(256))
》0x100
定義函數
使用def ,依次寫函數名,參數,冒号:,在縮進塊中編寫函數體,使用return語句傳回值
#def定義方法
def my_abs(x):
if x>0:
print(x)
else:
print(-x)
#調用函數
my_abs(-222)
》222
調用方法:
在其他檔案中調用這個function檔案的my_abs方法
#導入方法:from 檔案名 import 方法名
from function import my_abs
my_abs(-121)
》121
注意:這裡會先加載function檔案,如果這個檔案中有方法的話,會直接執行,但是多次加載檔案也隻會執行一次。
pass語句
#pass 這個語句什麼都不做,可以用來做為占位符
#比如現在沒有想好的代碼可以先放一個pass,讓代碼運作起來
def nop():
print('可以先放一個pass,讓代碼運作起來')
pass
print('pass')
nop()
異常處理
#異常處理 raise TypeError()
def my_abs(x):
if not isinstance(x,(int,float)):
raise TypeError('bad operand type')
if x>0:
print(x)
else:
print(-x)
my_abs('2')
》TypeError: bad operand type
傳回值
我們可以同時獲得傳回值,但是這點其實是一種假象,python函數傳回的仍然是單一值
原來傳回值是一個tuple!,但是文法傳回一個tuple可以省略括号,而多個變量可以同時接受一個tuple,按位置指派。
#傳回值 為了使用sin和cos,需導入math包
import math
def move(x,y,step,angle=0):
nx=x+step*math.sin(angle)
ny=y-step*math.cos(angle)
return nx,ny
x,y=move(100,100,5)
print(x,y)
》100.0 95.0
z=move(100,100,5,math.pi/2)
print(z)
》(105.0, 100.0)
總結
定義函數,需确定函數名和參數個數
如果有必要,可以先對參數的資料類型做檢查
函數體内可以用return随時傳回函數結果
函數執行完畢沒有return語句自動return None
函數可以同時傳回多個值,但是其實就是一個tuple