日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達者為師

網(wǎng)站首頁 編程語言 正文

python函數(shù)的重新定義及練習(xí)_python

作者:是小鹿哇 ? 更新時間: 2022-04-07 編程語言

python函數(shù)

一、函數(shù)定義

函數(shù)是組織好的,可重復(fù)使用的,用來實現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。

函數(shù)能提高應(yīng)用的模塊性,和代碼的重復(fù)利用率。

你已經(jīng)知道Python提供了許多內(nèi)建函數(shù)(庫函數(shù)),比如print()。

但你也可以自己創(chuàng)建函數(shù),這被叫做用戶自定義函數(shù)。

函數(shù)類型有:庫函數(shù)、自定義函數(shù)。

二、自定義函數(shù)

1、自定義函數(shù)規(guī)則:

(1).函數(shù)代碼塊以 def 關(guān)鍵詞開頭,后接函數(shù)標識符名稱和圓括號()。
任何傳入?yún)?shù)和自變量必須放在圓括號中間。圓括號之間可以用于定義參數(shù)。

(2).函數(shù)的第一行語句可以選擇性地使用文檔字符串—用于存放函數(shù)說明。
函數(shù)內(nèi)容以冒號起始,并且縮進。

(3).return [表達式] 結(jié)束函數(shù),選擇性地返回一個值給調(diào)用方。不帶表達式的return相當(dāng)于返回 None。

2、一般形式

在這里插入圖片描述

注:如果沒有返回值,那么return后面的表達式可不用寫。

三、函數(shù)調(diào)用

定義一個函數(shù)只給了函數(shù)一個名稱,指定了函數(shù)里包含的參數(shù)(形式參數(shù)),和代碼塊結(jié)構(gòu)。這個函數(shù)的基本結(jié)構(gòu)完成以后,你可以通過另一個函數(shù)調(diào)用執(zhí)行,也可以直接從Python提示符執(zhí)行。調(diào)用函數(shù)時的參數(shù),為實際參數(shù)

四、參數(shù)

函數(shù)的主要類型有:形式參數(shù)、實際參數(shù),具體如上三中所述

正式參數(shù)類型:

1、必備參數(shù)

必備參數(shù)須以正確的順序傳入函數(shù)。調(diào)用時的數(shù)量必須和聲明時的一樣。調(diào)用printme()函數(shù),你必須傳入一個參數(shù),不然會出現(xiàn)語法錯誤。

2、關(guān)鍵字參數(shù)(使用<鍵-值>來傳參)

關(guān)鍵字參數(shù)和函數(shù)調(diào)用關(guān)系緊密,函數(shù)調(diào)用使用關(guān)鍵字參數(shù)來確定傳入的參數(shù)值。
使用關(guān)鍵字參數(shù)允許函數(shù)調(diào)用時參數(shù)的順序與聲明時不一致,因為 Python 解釋器能夠用參數(shù)名匹配參數(shù)值。

3、默認參數(shù)

調(diào)用函數(shù)時,默認參數(shù)的值如果沒有傳入,則被認為是默認值。

在這里插入圖片描述

4、不定長參數(shù)(可變長參數(shù))

你可能需要一個函數(shù)能處理比當(dāng)初聲明時更多的參數(shù)。這些參數(shù)叫做不定長參數(shù),和上述2種參數(shù)不同,聲明時不會命名。

在這里插入圖片描述

五、變量作用域

定義在函數(shù)內(nèi)部的變量擁有一個局部作用域,定義在函數(shù)外的擁有全局作用域。

局部變量只能在其被聲明的函數(shù)內(nèi)部訪問,而全局變量可以在整個程序范圍內(nèi)訪問。調(diào)用函數(shù)時,所有在函數(shù)內(nèi)聲明的變量名稱都將被加入到作用域中。如下實例:

在這里插入圖片描述

六、函數(shù)的遞歸調(diào)用

例題(n的階乘):

在這里插入圖片描述

遞推歸納:將問題轉(zhuǎn)化為比原問題小的同類規(guī)模,歸納出一般遞推公式,故所處理的對象要有規(guī)律的遞增或遞減。

遞歸終止:當(dāng)規(guī)模小到小規(guī)模到一定程度應(yīng)該結(jié)束遞歸調(diào)用,逐層返回常用語句條件來控制何時結(jié)束遞歸。

注:原問題層層分解為類似的子問題。

python的文件操作

Python提供了文件對象,并內(nèi)file_object =open(path,mode)。置了open函數(shù)來獲取一個文件對象。Open函數(shù)的使用:其中,file_object是調(diào)用open函數(shù)后得到的文件對象;path是一個字符串,代表要打開文件的路徑;而mode是打開文件的模式,常用的模式如下表所示。

在這里插入圖片描述

在os.py中要打開Task1文件進行讀寫,需要使用r+模式,實現(xiàn)如下:f = open(’./Task1’,‘r+’)。簡單一個語句便實現(xiàn)了打開文件的操作,之后對該文件的操作只需對新得到的文件對象f,使用文件對象提供的方法即可。

常用方法:

在這里插入圖片描述

例題:

實例1將文件Task1的內(nèi)容全部讀入到fls列表中。實例二要將文件首字符為“3”的行中每一個數(shù)字加起來,不包括3,即“10 5 19 20 37”;然后,將結(jié)果寫入到文件末尾。

分析:

首先要獲取首字符3,為此,可以用格的listsplit()函數(shù)將每一行字符串按空格分解為每個元素不包含空。然后判斷l(xiāng)ist[0]是不是字符3。然后需要計算該list從1號元素開始的所有元素的和。最后,需要將結(jié)果寫回文件,所以,文件的打開方式應(yīng)為“r+”。

#<程序:讀取文件os.py,計算并寫回>
f = open("./Task1.txt",'r+'); fls = f.readlines()
for line in fls:
	line = line.strip()
	 lstr = line.split()
	if lstr[0] == '3':
		res = 0
		for e in lstr[1:]:
			res+=int(e)
f.write('\n4 '+str(res)); f.close()

課后作業(yè)

習(xí)題1:

在這里插入圖片描述

#<程序:第三次培訓(xùn)作業(yè)1>
def cf(x,n):
    if n==0:
        f=1;
    else:
        f=x*x**(n-1)
    return f
x=int(input("請輸入x值:"))
n=int(input("請輸入n值:"))
f=cf(x,n)
print("x的n次方的值為:",f)

習(xí)題2:

在這里插入圖片描述

#<第三次培訓(xùn)作業(yè)2>
def age(n):
    if n==1:
        a=10
    else:
        a=age(n-1)+2
    return a

print(age(5))

總結(jié)

原文鏈接:https://blog.csdn.net/BruceLuMingYu/article/details/122687020

欄目分類
最近更新