第十二次總結 檔案讀寫與函式遞迴

2021-09-13 19:02:13 字數 1979 閱讀 7105

1.檔案的寫操作

找到檔案,指定檔案的路徑就可

如果檔案存在,就直接寫入,他會取代原料來的資料

如果檔案不存在,python幫我們自動建立

open()方法,用於指向乙個檔案,找到或者是鎖定乙個檔案

第乙個引數,是檔案的路徑

第二個引數,是檔案要做什麼操作, 'w' write,寫。   'r' read,讀

第三個引數,指定編碼的方式,預設引數,預設值是none,encoding=編碼方式

常用的編碼方式主要兩種情況,1,utf-8(最常用,最廣落使用)   2.gbk

注意,編碼方式那裡要填入字串型別

​open方法返回的是乙個檔案物件,是乙個檔案的指向

我們可以使用這個檔案物件的方法進行相關操作

寫入檔案

關閉檔案

2.檔案的讀操作

找到檔案

讀取檔案

關閉檔案

f = open(路徑,'r', encoding='utf8')

c=f.read()

m=eval(c)

f.close()

3.檔案的編碼形式

主要了解兩種

1,gbk,主要是針對中文的編碼和解碼,windows作業系統預設是gbk的

2,utf-8 或者 utf8 , 是一種功能很全的編碼,支援各國語言

編碼159+1024

解碼-1024

4.資料變字串方法:

有兩種方法可以把資料轉換為字串

可以通過連線的方式,把乙個列表轉為乙個字典

連線符的字串.join(列表)

​res = '_'.join(['1','2','3'])

res的效果是

'1_2_3'

直接強轉

str()

強制轉換

可以把常見的資料型別轉為字串型別

如果希望把資料儲存到檔案中

使用str()函式來轉換資料

返回值就是乙個字串型別的資料

5.eval函式

功能是讓字串中包裹的內容恢復活性

eval(字串)

6.函式遞迴:拆包基本

我有乙個元組,裡面有兩個成員

我可以用兩個變數分別接收元組中的成員

t = ('a','b')

x, y = t

# x = 'a', y = 'b'

拆包操作,兩邊的資料需要保持一致

否則,報錯

7.拆包高階

對於乙個有多個返回值的函式

返回的最終結果,本質上是乙個元組

因此我們可以用拆包的方式,獲取元組中的資料

def fun():

return 1, 2

​a, b = fun()

8.拆包繼續高階

函式定義時,如果在形參前面加上了乙個*,表明這個形參可以接收多個位置引數(實參)

例如

def fun(*arg):
那麼這個被加了*的arg,會有吸附的功能

如果呼叫函式的時候,我們使用位置傳遞的引數,都會被這個形參吸收

fun(1,2,"hello",[1,2,3])
對於函式呼叫時候的拆包

指的是實參如果是乙個元組,我們在這個元組前面加上乙個星花,可以把這個元組拆掉

效果就等同於位置傳參

fun(*(1,2,3))

效果等同於

fun(1,2,3)

星花和元組的括號同時消失,效果就相當於是位置傳參了

9.函式遞迴介紹

函式的遞迴本質是一種特別的函式巢狀呼叫

普通的函式巢狀呼叫是a函式呼叫b函式

函式遞迴,是自己呼叫自己

10.函式遞迴的注意

需要有條件

需要有乙個退出遞迴的時機,時機成熟(滿足一定的條件,需要跳出來)

第十二次課堂總結

知識點 1如果定義乙個字元指標接收字串常量的值,該指標就指向字串的首字元。這樣,字元陣列和字元指標都可以用來處理字串。2定義字元指標後,如果沒有對它賦值,指標的值是不確定的,不能明確它指向的記憶體單元。3為了盡量避免引用未賦值的指標所造成的危害,在定義指標時,可先將它的初值置為空。4字串函式 用法 ...

第十二次作業總結

字串和字元指標 字串常量 array point 用一對雙引號括起來的字串行 被看做乙個特殊的一維字元陣列,在記憶體中連續存放 實質上是乙個指向該字串首字元的指標常量 char sa array char sp point printf s sa printf s sp printf s n str...

第十二周專案2 2 遞迴函式

問題及 檔名稱 test.cpp 作 者 陳文青 完成日期 2014年11月16日 版 本 號 v1.0 問題描述 寫出求1 3 n的遞迴式,並編寫出遞迴函式求解。程式輸入 乙個整數,n 程式輸出 乙個長整型 y,表示n以內的奇數積 include using namespace std long ...