型別轉換函式
python 可以使用int(),str(),float(),bool()等函式將其引數轉換為對應的資料型別;
定義函式
在python 中定義乙個函式需要用到def語句,注意寫完函式名之後的冒號不能忘記:
def my_abs(x):
if x >= 0:
return x
else:
return -x
如上,定義了乙個絕對值函式。
可以將該絕對值函式儲存在乙個.py檔案中,在需要使用該函式時,使用import語句。
ps: python所定義的函式可以返回多個值,如下;
import math
def move(x,y,step,angle=0):
x = x+step*math.cos(angle)
y = y+step*math.sin(angle)
return(x,y)
然後呼叫該函式:
//在python 命令列中輸入
x , y= move(100,100,60,math.pi/6)
print(x,y)
如果將上述**中x,y都用乙個變數取代,然後列印出來,仍然可以得到乙個(x,y)的陣列。其實函式的返回值並不是兩個值,而是乙個tuple.
預設引數
需要注意的是在定義乙個函式的預設引數時,必須初始化乙個常量。定義成變數,在呼叫後會被重新賦值。ps: 不要將其初始化為list
可變引數
定義時在引數前加*即可定義可變引數,可變引數允許你傳入0個或任意個引數,這些可變引數在函式呼叫時自動組裝為乙個tuple
def changenum(*number):
sum = 0
for x in numbres:
sum += x
return sum
關鍵字引數
關鍵字引數允許你傳入0個或任意個含引數名的引數,這些關鍵字引數在函式內部自動組裝為乙個dict
在定義函式時關鍵字引數被表示為**x,在向其中傳值時,直接使用key=value的形式傳值。示例如下;
def print_info(name,age,**extra):
print('name: %s age: %s' %(name,age))
for city,lab in extra.items():
print('city: %s' %city)
print('lab:%s' %lab)
print()
print_info('dang','11',city='tianjin',lab = 'tank')
執行結果如下:![執行結果1](
命名關鍵字引數
命名關鍵字的提出,主要是因為函式呼叫者可以向函式中傳入任意命名的引數,這樣,在函式內部判斷時,就造成了非常不便的後果。在被調函式中可能需要先判斷是否有某個名字的引數傳入。
def printinfo(name ,age, *,city, job)
在需要命名的引數將* 作為特殊引數傳入 Python學習筆記四 函式
匿名函式 定義函式使用 def 關鍵字 def 函式名 引數列表 函式體return 表示式 不可變型別 類似值傳遞,如 整數 字串 元組。如fun a 傳遞的只是a的值,沒有影響a物件本身。比如在fun a 內部修改a的值,只是修改另乙個複製的物件,不會影響a本身。可變型別 類似引用傳遞,如 列表...
python學習筆記(四) 函式式程式設計
1 高階函式 高階函式 higher order function 1 變數可以指向函式 函式本身也可以賦值給變數。2 函式名也是變數 指向函式的變數。3 傳入函式 變數能夠指向函式,函式的引數能接收變數,乙個函式就可以接收另乙個函式作為引數。接收兩個引數 函式,iterable map 將傳入的函...
四 Python函式式程式設計 學習筆記
1 map reduce函式 map 函式,iterable 把傳入的函式依次作用在序列的每個元素上,並將結果作為乙個新的iterable返回。例子 使用者輸入的英文名字,首字母大寫,其他小寫 coding utf 8 def normalize name return name 0 upper n...