python基礎入門 09認識函式(二)

2021-08-21 08:27:32 字數 4458 閱讀 7657

(1)就是函式呼叫表示式的值;

(2).就是return關鍵字後的表示式的值;

(3)就是函式執行完成後返回給呼叫者的值

函式的呼叫過程:

第一步:將實參傳遞給形參(傳參:用實參給形參賦值)

第二步:執行函式體

第三步:獲取返回值(這個時候回到函式呼叫的位置)

注意:

函式在宣告的時候不會呼叫   

如何看乙個函式的返回值是多少:就看retrun後面的結果!!,如果沒有return就是none

(1).函式呼叫表示式:就是呼叫函式的那個表示式(這個表示式是有值的,預設是none)

【例】

def func1():

print('hello world')

# func1()就是函式呼叫表示式,它是乙個值;

# 普通的值能做的事情,函式呼叫表示式都能做;例如:給變數賦值,列印(可以作為實參傳給函式),運算等

result = func1()

print(result, func1())

這裡 func1就是乙個函式,

普通的值能做的事情,函式呼叫表示式都能做;例如:給變數賦值,列印(可以作為實參傳給函式),運算等

(2)return :

作用:1.將值傳給函式呼叫者(函式呼叫表示式)  2.結束函式

如果函式中沒有return, 就相當於在函式結束的時候後面加了乙個return none

【例】寫乙個函式,獲取兩個數 的乘積(注意是獲取,不是但列印)

def qf_multiply(num1, num2):

return num1 * num2

result = qf_multiply(10, 3)

print(result)

所以我們這裡用的retutrn來返回

(3)函式的結束

a.沒有return,函式體執行完畢,函式結束

b.如果函式中有return,遇到return函式就結束。程式直接回到函式呼叫位置,接著往下執行

def func3():

print('hello')

return 10

print('world') #列印不出來

print(func3())

很明顯上面的第二個print函式不會列印出來,因為函式遇到return就結束了

【例】編寫乙個函式,找出100-200之間第乙個能被13整除的數

def qf_find_num():

for x in range(100, 201):

if x % 13 == 0:

return x

print(qf_find_num())

【變式提公升】編寫乙個函式,找出100-200之間第乙個能被13整除的數

ef func3():

count = 0

for x in range(100,201):

if x % 13 == 0:

count += 1

if count == 3:

return x

注意,將列表變數作為實參傳遞給函式,如果在函式中改變了列表的元素,那麼原來列表元素也會改變

【例】寫乙個函式,刪除指定列表中的偶數

def del_list(list):

index = 0

while index < len(list):

if list[index] % 2 == 0:

del list[index]

index -= 1

index += 1

print(list)

list2 = [1, 2, 3, 4]

del_list(list2)

print(list2)

# 注意,將列表變數作為實參傳遞給函式,如果在函式中改變了列表的元素,那麼原來列表元素也會改變

list3 = [1, 2, 3, 4]

del_list(list3[:])

print(list3)

#list[  : ]代表複製了元列表,而原來列表的內容不改變,列印還是顯示list3的內容。

控制台輸出結果

[1, 3]

[1,3]

[1, 3]

[1, 2, 3, 4]

這裡說明兩點:

將列表變數作為實參傳遞給函式,如果在函式中改變了列表的元素,那麼原來列表元素也會改變所以index -=1那一步生成新的下標(索引)

list[  : ]代表複製了元列表,而原來列表的內容不改變,所以在最後print(list3)的時候依然還是顯示list3的內容。

回顧一下函式的格式

def 函式名(引數列表):

函式體我們在宣告函式的時候,其實就是在宣告乙個型別是函式型別(function)的變數。普通變數能做的事情,函式變數都能做

def func1():

print('aaa')

print(type(func1)) # num = 10

print(type(num)) #

type()用來輸出函式型別的函式

a = func1()   這樣賦值,是將函式func1的返回值賦給a,將函式變數func1賦給a, a就會變成乙個函式

a( )  現在就可以用函式變數a,去呼叫函式func1

def func2(num):

return num*2

b = func2

print(func2(10))

print(b(20))

sinstance() 與 type() 區別:

如果要判斷兩個型別是否相同推薦使用 isinstance()。

格式====isinstance(object, classinfo)

# num1 = 10  num2 = 20  fn = func_add

# 如果num1不是int或者float資料

if not (isinstance(num1, int) or isinstance(num1, float)):

print('num1不是數字')

return none # 在這兒讓函式直接結束

if not (isinstance(num2, int) or isinstance(num2, float)):

print('num2不是數字')

return none # 在這兒讓函式直接結束

return fn(num1, num2) # return func_add(10, 20) return 30

def func_add(m, n):

# m = 10 n = 20

return m + n # return 30

def func_sub(m, n):

return m - n

result = calculate(10, 20, func_add)

print(result)

在python中可以將函式作為函式的返回值,也可以在函式中宣告 函式

【例】 寫乙個函式,func3('+') ->  返回求和的功能;func3('*')-> 返回求乘積的功能

def func3(char):

if char == '+':

# python中,是可以在函式中宣告函式

def fn(*nums):

sum1 = 0

for x in nums:

sum1 += x

return sum1

return fn

if char == '*':

def fn(*nums):

sum1 = 1

for x in nums:

sum1 *= x

return sum1

return fn

result = func3('+') # reslut是乙個求和功能的函式的函式變數

print('aaa', result(1, 2, 3, 4))

result2 = func3('*')(10, 20)

print(result2)

# 列表作為返回(物件變數作為返回值)

def func4():

list1 = [1, 2, 3]

return list1

result = func4()

print(result)

print(func4()[0])

零基礎學python 初步認識永遠強大的函式

函式,對於人類來講,能夠發展到這個數學思維層次,是乙個飛躍。可以說,它的提出,直接加快了現代科技和社會的發展,不論是現代的任何科技門類,乃至於經濟學 政治學 社會學等,都已經普遍使用函式。下面一段來自維基百科 在本教程中,大量的定義來自維基百科,因為它真的很百科 函式詞條 函式這個數學名詞是萊布尼茲...

Python基礎 09 物件導向

1.基本格式和使用 類 class 類名 塊物件 物件名 類名 2.組成 2.屬性 特徵 例項屬性 修改 類外面 例項物件.屬性名 值 類裡面 self.屬性名 值 獲取 類外面 物件名.屬性名 類裡面 self.屬性名 類屬性 歸屬於類物件的屬性,所有物件共有的屬性 類屬性只能通過類物件修改,不能...

python爬蟲入門初步認識

python簡單的爬蟲技術,這裡我用的是python3.x版面進行研究,主要對兩個python庫進行操作。在此之前你需要安裝python3.x環境 1 urllib python3.x官方基礎模組 2 beautifulsoup4 python3.x第三方模組 使用前需要安裝beautifulsou...