Python學習筆記 二 函式

2021-08-22 00:27:17 字數 2776 閱讀 1667

python有很多自帶的函式,在api裡很容易找到

菜鳥教程的python內建函式講的也不錯

這裡先試試幾個能猜的出作用的簡單函式

函式名描述

abs()

返回數字的絕對值; abs(-1) = 1

all()

判斷給定的可迭代引數 iterable 中的所有元素是否都為 true,如果是返回 true,否則返回 false

any()

判斷給定的可迭代引數 iterable 是否全部為 false,則返回 false,如果有乙個為 true,則返回 true

bin()

返回乙個整數 int 或者長整數 long int 的二進位制表示,返回值是字串

bool()

將給定引數轉換為布林型別,如果沒有引數返回false;boo()=false; bool(0)=false; bool(1)=true

divmod()

把除數和餘數運算結果結合起來,返回乙個包含商和餘數的元組(a // b, a % b); divmod(7, 2)=(3, 1)

float()

將整數和字串轉換成浮點數; float(1) = 1.0; float(『123』) = 123.0

def

my_fun

(y):

return y

print(my_fun(1))#返回1

如果函式體力沒有return,則返回none,同時return none可簡寫為return

def

my_fun

(y):

y = -y

print(my_fun(1))#返回none

python的函式引數如果型別不符合,會報typeerror錯

python的函式可以返回多個值,其實是乙個tuple

def

my_fun

(y):

y = -y

return y, -y

x, y = my_fun(1)

print("x = {}, y = {}".format(x, y))#返回x = -1, y = 1

在 python 中,strings, tuples, 和 numbers 是不可更改的物件,而 list,dict 等則是可以修改的物件。

def

my_fun

(y):

y = 2

x = 1

my_fun(x)

print(x)#輸出的還是1

上面的**在剛學程式設計的時候經常見,c++有形參和實參等概念,和這個概念類似

傳可變物件例項時,可變物件在函式裡修改了引數,那麼在呼叫這個函式的函式裡,原始的引數也被改變了

def

changelist

(mylist):

mylist += [1, 5]

mylist.sort()

return

mylist = [2, 3, 1, 4]

changelist(mylist)

print(mylist)#列印 [1, 1, 2, 3, 4, 5]

必需引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣

def

my_fun

(y):

y = 2

my_fun()#這裡沒有傳引數,報typeerror: my_fun() missing 1 required positional argument: 'y'

必選引數在前,預設引數在後

定義預設引數要牢記一點:預設引數必須指向不變物件!

def

say(a, b=2, c=3):

print('a={}, b={}, c={}'.format(int(a), b, c))

say(1)

say(1, 4)

say(2, c=4)

say(a=3, c=1)

say(a=3, b=1)

say(c=1, b=2, a=3)

顧名思義,可變引數就是傳入的引數個數是可變的,可以是1個、2個到任意個,還可以是0個

def

mysum

(*numbers):

sum = 0

for n in numbers:

sum += n

print(sum)

#python允許你在list或tuple前面加乙個*號,把list或tuple的元素變成可變引數傳進去

numlist = [1, 2, 3]

mysum(*numlist) #6

mysum(1, 2, 3) #6

mysum() #0

Python學習筆記(二) 函式

呼叫函式 abs max min hex 整數轉換成十六進製制 資料型別轉換 int float str bool 定義函式 定義乙個函式要使用 def語句,依次寫出函式名 括號 括號中的引數和冒號 然後,在縮排塊中編寫函式體,函式的返回值用 return 語句返回。def my abs x if ...

Python學習筆記 函式(二)

序列解包 傳遞引數時,可以用過在實參序列前加乙個 號將其解包,然後傳遞給多個單變數形參 如果函式實參是字典,可以在前面加 號進行解包,等價於關鍵字引數。作用域 變數起作用的 範圍稱為變數的作用域,不同作用域內變數名可以相同,不影響。根據變數可供訪問的作用範圍,分為全域性變數和區域性變數。全域性變數自...

Python基礎函式學習筆記 二

一 格式化列印輸出 乙個輸出時 兩個輸出時 輸出換行 print預設輸出自動加換行,如下所示 rabbits 20 print rabbits cages 15 print cages 結果如下所示 如果要在同一行顯示的話,可以在行末加逗號,如下 二 使用者輸入 兩個函式input和raw inpu...