日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python期末复习总结

發(fā)布時間:2023/12/15 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python期末复习总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

第2章Python基礎

第3章流程控制

第4章 字符串

第5章 組合數據類型

第6章 函數

第7章 文件與數據格式化


章Python基礎

1.良好的代碼格式?

1.1注釋:# ?

?單行注釋:?按Ctrl+/ ?

?多行注釋:''' '''(三單引號)或""" """(三雙引號)

1.2縮進:

通過Tab鍵控制,也可使用空格控制(Python3首選的縮進方法),一般使用4個表示一級縮進,Python3不允許混合使用Tab和空格。

1.3語句換行:

每行代碼不超過79個字符,若代碼過長應該換行,例:

2.標識符和關鍵字

2.1標識符定義:

在程序中表示一些事物,開發(fā)人員自定義的符號和名稱

2.2命名規(guī)則

標示符由字母、下劃線和數字組成,且數字不能開頭。

是區(qū)分大小寫的。例如,andy和Andy是不同的標識符。

不能使用關鍵字 。

2.3 關鍵字

Python已經使用的、不允許開發(fā)人員重復定義的標識符。

3.變量和數據類型

3.1為了方便存取內存單元中的數據,Python使用標識符(變量名)來標識不同的內存單元,如此,標識符與數據建立了聯系

3.2通過賦值運算符“=”將內存單元中存儲的數值與變量名建立聯系,即定義變量,“變量 = 值”

3.3數據類型種類

???

3.4數字類型的示例如下

整型: 0 ????101 ????-239 ????False ????True

浮點型: ?3.1415 ????4.2E-10 ????-2.334E-9

復數類型: ?3.12+1.2.3j ????-1.23-93j

布爾類型: ?True ????False

3.5字符串

是由單引號、雙引號或者三引號包裹的、有序的字符集合

3.6.1列表(多個元素的集合,它可以保存任意數量、任意類型的元素,可以被修改)

例如:

[1, 2, 'hello']

3.6.2 元組(與列表類似,但不可以被修改)

例如:

(1, 2, ['hello'])

3.6.3 集合?(與列表和元組類似,但是集合中的元素無序且唯一)

????例如:

{'apple', 'orange', 1}

3.6.4 字典

是“鍵(Key):值(Value)”形式的鍵值對,鍵不能重復。

例如:

{"name": "zhangsan", "age": 18}

3.7 變量的輸入與輸出

3.7.1 input()函數

3.7.2 print()函數

print(*objects, sep=' ', end='\n', file=sys.stdout)

3.8.1?整型(用于表示整數)

整型常用的計數方式:

二進制(以“0B”或“0b”開頭)

八進制(以數字“0o”或“0O”開頭)

十進制和十六進制(以“0x”或“0X”開頭)

3.8.2浮點型(由整數和小數部分組成)

較大或較小的浮點數可以使用科學計算法表示:a×10n (1≤|a|<10,n∈N)

Python中的浮點型每個浮點型數據占8個字節(jié)(即64位),且遵守IEEE標準。Python中浮點型的取值范圍為-1.8e308~1.8e308,若超出這個范圍,Python會將值視為無窮大(inf)或無窮小(-inf)。

3.8.3?復數類型(實部和虛部構成)

一般形式為:real+imagj,其中real為實部,imag為虛部,j為虛部單位

3.8.4 布爾類型(特殊的整型)

True(真)False(假)兩個取值。

其值True對應整數1,False對應整數0

bool('') # False bool(' ') # True bool('a') # True bool(0) # False bool(1) # True bool([]) # False bool([1]) # True bool({}) # False bool({'a': 1}) # True

3.9 運算符

根據運算符的功能,運算符可分為算術運算符、賦值運算符、比較運算符、邏輯運算符和成員運算符

3.9.1算術運算符

第3章流程控制

  • 條件語句
  • ?if語句:
  • 格式:

    if 條件表達式:

    ????代碼塊

  • if-else語句
  • if 判斷條件:代碼塊1else:代碼段2

    舉例說明:(注意“=”變量賦值與“==”判斷相等的區(qū)別)

    choice = input('逃離北上廣和留在北上廣,你怎么選?')if choice == '逃離北上廣':print('恰合心意,平衡生活') else:print('尋求成長,奮起拼搏')

  • if-elif-else語句(多分支條件語句)
  • if 判斷條件1:代碼段1elif 判斷條件2:代碼段2elif 判斷條件3:代碼段3...else:代碼段n score = int(input('請輸入你的數學成績:'))if score >= 90:print('獎勵馬爾代夫三日游') elif score >= 80:print('獎勵一臺新電腦') elif score >= 70:print('獎勵一套新衣服') elif score >= 60:print('獎勵一頓油燜蝦') else:print('獎勵一頓胖揍')

    例:

    所有的判斷條件均不成立,就執(zhí)行else語句之后的代碼段。

    1.3 if嵌套

    語法格式:

    if 判斷條件1: ???????# 外層條件代碼段1if 判斷條件2: ???# 內層條件代碼段2...

    舉例:

    prop = '飛天掃帚' # prop 的意思是“道具” SP = 1300if prop == '魔力飛毯': # 如果道具是“魔力飛毯”if SP >= 1000:# 如果道具是“魔力飛毯”,且魔力值 ≥ 1000print('王者峽谷')else:# 如果道具是“魔力飛毯”,且魔力值 < 1000print('黑暗森林') else: # 如果道具不是“魔力飛毯”if SP >= 1000:# 如果道具不是“魔力飛毯”,且魔力值 ≥ 1000print('龍之谷')else:# 如果道具不是“魔力飛毯”,且魔力值 < 1000print('夜色小鎮(zhèn)')

  • while語句(用于實現條件循環(huán))
  • 格式:

    while 條件表達式:代碼塊

    舉例:

    # 定義一個變量 i,初始值為 0 i = 0# 在 i < 3 時,重復執(zhí)行下面的代碼 while i < 3:print(i)i = i + 1 #可以簡寫成 i += 1# 輸出: # 0 # 1 # 2

    打印1-100之間的數字

    3.for語句(用于實現遍歷循環(huán))

    遍歷:逐一訪問目標對象中的數據,例如逐個訪問字符串中的字符;

    遍歷循環(huán):在循環(huán)中完成對目標對象的遍歷。

    格式:

    for 臨時變量 in 目標對象:代碼塊

    舉例:

    # names 保存了幾個人的名字 names = ['章魚哥', '派大星', '泡芙老師', '珊迪'] for name in names: #依次遍歷names列表print(name) # 逐行輸出:章魚哥 派大星 泡芙老師 珊迪

    練習二、

    打印1-10之間數字的累加和

    4.循環(huán)嵌套

    while循環(huán)嵌套:while語句中嵌套了while或for語句。

    以while語句中嵌套while語句為例:

    格式:

    while 循環(huán)條件1: ??????? # 外層循環(huán)代碼段1while 循環(huán)條件2: ?? # 內層循環(huán)代碼段2......

    for循環(huán)嵌套for語句中嵌套了while或for語句。

    以for語句中嵌套for語句為例:

    格式:

    for 臨時變量 in 目標對象: ??????? # 外層循環(huán)代碼段1for 臨時變量 in 目標對象: ?? # 內層循環(huán)代碼段2......

    # 顧客信息表 customers = [# 按“姓名、住址、所預訂的食物”順序,保存一名顧客信息('派大星', '石頭屋', '蟹黃堡', '香炸珊瑚'),('章魚哥', '人像屋', '蟹黃堡', '美味熱狗'),('珊迪', '樹屋', '蟹黃堡') ]# 外層循環(huán),遍歷每位顧客 for customer in customers:# 內層循環(huán),遍歷顧客的每個信息for info in customer:# 打印該信息print(info)# 遍歷完一名顧客信息后,打印一條分割線print('---------')

    第4章 字符串

    1.字符串介紹

    1.1??Python支持使用引號定義字符串,其中單引號和雙引號通常用于定義單行字符串,三引號通常用于定義多行字符串。

    1.2??“\”轉義,例如,在字符串中的引號前添加“\”,此時Python解釋器會將“\”之后的引號視為解釋為一個普通字符,而非特殊符號。

    1.3

    \b:退格 ????\v:縱向制表符?????\t:橫向制表符

    \n:換行 ????\r:回車

    1.4.1使用%格式化字符串(將指定的字符串轉換為想要的格式)

    格式

    format % values

    ?(format表示字符串,values ?表示真實數據)

    def print_intro(name, age, city):intro = '我叫%s,今年 %d 歲,來自%s。' % (name, age, city)print(intro)print_intro('李華', 18, '重慶') # 輸出:我叫李華,今年 18 歲,來自南京。

    1.4.2使用format()方法格式化字符串 (能更直觀、便捷地格式化字符串)

    格式:

    str.format(values)???

    ??str表示字符串

    '我叫{},今年 {} 歲,來自{}'.format('李華', 18, '重慶') # 我叫李華,今年 18 歲,來自重慶#還可以給占位符編號: '我叫{0},今年 {1} 歲,來自{2}'.format('李華', 18, '重慶') # 我叫李華,今年 18 歲,來自重慶# 調整編號順序 '我叫{2},今年 {1} 歲,來自{0}'.format('重慶', 18, '李華') # 我叫李華,今年 18 歲,來自重慶# 重復編號 '我叫{0},{0}今年 {1} 歲,來自{2}'.format('李華', 18, '重慶') # 我叫李華,李華今年 18 歲,來自重慶#還可以給占位符命名: '我叫{name},今年 {age} 歲,來自{city}'.format(name = '李華', age = 18, city = '重慶') # 我叫李華,今年 18 歲,來自重慶

    1.4.3使用f-string格式化字符串(能更為簡潔的格式化字符串的方式)

    格式:f('{變量名}') 或F('{變量名}')

    1.5字符串的查找與替換

    str = 'feel the change'# 輸出 str 中 e 的個數 #輸出: print(str.count('e')) #4# 輸出 str 中 change 的索引值 print(str.find('change')) #9# 將 str 中的 change 替換為 CHANGE print(str.replace('change', 'CHANGE')) #feel the CHANGE

    Find方法

    str.find(sub[, start[, end]])

    sub:指定要查找的子串。

    start:開始索引,默認為0。

    end:結束索引,默認為字符串的長度

    replace方法:

    str.replace(old, new[, count])
    • old:被替換的舊子串
    • new:替換舊子串的新子串。
    • count:表示替換舊字符串的次數,默認全部替換

    1.6 字符串的分隔與拼接

    Split()方法:?

    str.split(sep=None, maxsplit=-1)
    • sep:分隔符,默認為空字符。
    • maxsplit:分割次數,默認值為-1,表示不限制分割次數。

    join()方法:

    str.join(iterable)
    • iterable:表示連接字符串的字符

    Python還可以使用運算符“+”拼接字符串。

    1.7刪除字符串的指定字符

    strip()、lstrip()和rstrip()可以刪除字符串中的指定字符。

    upper()、lower()、capitalize()、title()支持字母大小寫轉換

    1.8 字符串對齊

    三種方法:

    center():原字符居中顯示

    ljust():左對齊

    rjust():右對齊

    第5章 組合數據類型

    5.1認識組合數據類型

    常用的類型有字符串、列表和元組。

    5.1.1Python要求放入集合中的元素必須是不可變類型,Python中的整型、浮點型、字符串類型和元組屬于不可變類型列表、字典及集合本身都屬于可變的數據類型。

  • Python集合三個特性
  • 確定性:給定一個集合,那么任何一個元素是否在集合中就確定了。

    互異性:集合中的元素互不相同。

    無序性:集合中的元素沒有順序,順序不同但元素相同的集合可視為同一集合

    5.2.1 創(chuàng)建列表

    示例:

    list_one = [] # 使用[]創(chuàng)建空列表 li_two = list() # 使用list()創(chuàng)建空列表

    (一)列表元素查找:

    list_one = ["Java", "C#", "Python", "PHP"]print(list_one[1]) ? ?#索引print(list_one[:5]) ? ?#切片for li in li_one: ? ? #循環(huán)print(li, end=' ')

    (二)列表元素添加:

    list_one = ["Java", "C#", "Python", "PHP"]list_one.append("C++") #在列表末尾添加元素list_one.extend([["Android", "IOS",]) #在列表末尾添加另一個序列的所有元素list_one.insert(2,“HTML") #按照索引將元素插入列表的指定位置

    (三)列表元素排序:

    li_one = [6, 2, 5, 3]list_one.sort() #有序的元素會覆蓋原來的列表元素,不產生新列表li_two = sorted(li_one) #產生排序后的新列表,排序操作不會對原列表產生影響li_one.reverse() #逆置列表,即把原列表中的元素從右至左依次排列存放

    (四)列表元素修刪:

    li_one = [6, 2, 5, 3] list_one.sort() ? ? ? ? #有序的元素會覆蓋原來的列表元素,不產生新列表 li_two = sorted(li_one) #產生排序后的新列表,排序操作不會對原列表產生影響 li_one.reverse() ? ? ? ?#逆置列表,即把原列表中的元素從右至左依次排列存放 li_one = [6, 2, 5, 3, 3]? del li_one[0] ? ? ? ? ? ?#刪除列表中指定位置的元素? li_one.remove(3) ? ? ? ? #移除列表中匹配到的第一個元素 li_one.pop() ? ? ? ? ? ? #移除列表中的某個元素,若未指定具體元素,則移除列表中的最后一個元素 li_one.clear() ? ? ? ? ? #清空列表

    (五)列表生成式(推導式):

    舉個例子,我們想將 1 到 10 的平方都存到一個列表中,得到?[1, 4, 9, 16, 25, 36, 49, 64, 81, 100],利用之前的知識可能要這樣寫:

    y = [] for x in range(1, 11):y.append(x * x)

    換成列表生成式,一行代碼就能得到想要的列表:

    y = [x * x for x in range(1, 11)]

    我們甚至還可以在?for?循環(huán)后面加上條件判斷:

    # 篩選出奇數的平方 y = [x * x for x in range(1, 11) if x % 2 == 1] print(y) # 輸出:[1, 9, 25, 49, 81]

    (六):zip() 和enumerate() 函數
    ?zip函數:它的作用是將兩個長度相同的列表合并起來,相同位置的元素會被一一組對,變成一個元組。結果返回一個組合好的打包對象,需要我們再用 list() 函數轉換回列表。

    enumerate() 函數:“enumerate”單詞本身意思是“枚舉、數數”。所以對應的函數功能,就是一個一個地將列表中的元素數出來。它返回的是一個枚舉對象,也需要我們用 list() 函數轉換回列表。
    ?

    多學一招

    for…in…語句迭代獲取數據的對象就是可迭代對象isinstance()函數可以判斷目標是否為可迭代對象,返回True表示為可迭代對象。

    5.3元組

    (1)元組的表現形式為一組包含在圓括號“()”中、由逗號分隔的元素,元組中元素的個數、類型不受限制。除了使用()構建元組外,還可以使用內置函數tuple()構建元組。

    t1 = () # 使用()構建元組t2 = tuple() # 使用tuple構建元組

    (2)當使用圓括號“()”創(chuàng)建元組時,如果元組中只包含一個元素,那么需要在該元素的后面添加逗號,從而保證Python解釋器能夠識別其為元組類型。因為Python 會優(yōu)先理解成數學運算的小括號,所以光禿禿的?(x)?對 Python 來說就是一個套了個小括號的數學運算表達式。

    t1 = ('python')? t2 = ('python',) print(type(t1)) ? #type()函數用于查看數據類型 print(type(t2))#輸出:<class 'str'> #輸出:<class 'tuple'>

    ?(3)和列表不同,列表里的元素可修改,元組里的元素是?不可以“增刪改”?的。元組支持以索引和切片方式訪問元組的元素,也支持在循環(huán)中遍歷元組。

    tuple_demo = ('p','y','t', 'h', 'o','n')tuple_demo[2] #使用索引tuple_demo[2:5] #使用切片for i in tuple_demo: #遍歷元祖print(i)

    5.5 集合

    (1)Python的集合(set)本身是可變類型,但Python要求放入集合中的元素必須是不可變類型。大括號“{}”或內置函數set()均可構建集合。

    s1 = {1} # 使用{}構建集合s2 = set([1,2]) # 使用set構建元組

    (2)需要注意,使用{}不能創(chuàng)建空集合(不包含元素的{}創(chuàng)建的是字典變量),空集合只能利用set()函數創(chuàng)建。

    set_demo1 = {} set_demo2 = set() print(type(set_demo1)) print(type(set_demo2))# 輸出:<class 'dict'> # 輸出:<class 'set'>

    (3)集合可變的,集合中的元素可以動態(tài)增加或刪除。Python提供了一些內置方法來操作集合,常見內置方法如下:

    (4)集合也可以利用推導式創(chuàng)建,集合推導式的格式與列表推導式相似,區(qū)別在于集合推導式外側為大括號“{}”,具體如下:

    {exp for x in set if cond}

    5.6.1 字典

    (一)創(chuàng)建字典:

    d1 = {'A': 123, 12: 'python'} # 使用{}構建集合d2 = dict({'A': '123', 'B': '135'}) # 使用dict構建元組

    (二)訪問字典:

    d2 = dict({'A': '123', 'B': '135'})print(d2['A']) print(d2.get('B'))# 輸出:123 # 輸出:135

    字典涉及的數據分為鍵、值和元素(鍵值對),除了直接利用鍵訪問值外,Python還提供了內置方法keys()、values()和items()。

    (三)元素的添加和修改

    add_dict = {'name': 'Jack','age':23,'height':185}add_dict['sco'] = 98 #通過鍵添加add_dict.update(sco=98) #使用update方法添加modify_dict = {'stu1': '小明', 'stu2': '小剛', 'stu3': '小蘭'}modify_dict['stu3'] = '劉婷' #通過鍵修改modify_dict.update(stu2='張強') #使用update方法修改

    (四)字典元素的刪除:

    ?Python支持通過pop()、popitem()和clear()方法刪除字典中的元素。

    (1)pop():根據指定鍵值刪除字典中的指定元素

    (2)popitem():隨機刪除字典中的元素

    (3)clear():清空字典中的元素

    (五)字典推導式:

    old_dict = {'name': 'Jack','age':23,'height':185} new_dict = {value:key for key,value in old_dict.items()} print(new_dict)# 輸出:{'Jack': 'name', 23: 'age', 185: 'height'}

    組合數據類型與運算:

    Python中針對數字類型的運算符對組合數據類型同樣適用,包括+、*、in、not in。(1)字符串、列表和元組使用“ + ”運算符,會對數據進行 拼接
    (2)字符串、列表和元組使用“ * ”運算符,會對數據進行 整數倍拼接
    (3)“ in ” “ not in ”運算符稱為 成員運算符 ,用于 判斷某個元素是否屬于某個變量
    例如:

    combo = ['意面', '薯條', '南瓜湯'] dessert = ['牛油果奶昔', '草莓慕思蛋糕']# 用加法和乘法組合新列表 menu = combo * 2 + dessert print(menu) # 輸出:['意面', '薯條', '南瓜湯', '意面', '薯條', '南瓜湯', '牛油果奶昔', '草莓慕思蛋糕']students = ['林黛玉','薛寶釵','賈元春' ]miaoyu_in = '林黛玉' in students print(miaoyu_in) # 輸出:True

    第6章 函數

    1.函數概述

    函數是組織好的、實現單一功能或相關聯功能的代碼段

    1.1函數式編程具有以下優(yōu)點

    將程序模塊化,既減少了冗余代碼,又讓程序結構更為清晰

    提高開發(fā)人員的編程效率

    方便后期的維護與擴展

    2.定義函數

    print()函數和input()都是Python的內置函數,這些函數由Python定義

    例如,定義一個計算兩個數之和的函數,代碼如下:

    #無參函數 def add():result = 11 + 22print(result)#有參函數 def add_modify(a, b):result = a + bprint(result)

    3.?調用函數

    函數在定義完成后不會立刻執(zhí)行,直到被程序調用時才會執(zhí)行。

    格式:函數名([參數列表])

    add() add_modify(10, 20)

    嵌套調用:

    def add_modify(a, b):result = a + badd() # 嵌套調用函數add()print(result) add_modify(10, 20)

    4.函數參數的傳遞

    位置參數的傳遞:函數在被調用時會將實參按照相應的位置依次傳遞給形參,也就是說將第一個實參傳遞給第一個形參,將第二個實參傳遞給第二個形參,以此類推。

    def get_max(a, b):if a > b:print(a,"是較大的值!")else:print(b,"是較大的值!")get_max(8, 5)

    關鍵字參數的傳遞:通過“形參=實參”的格式將實參與形參相關聯,將實參按照相應的關鍵字傳遞給形參。

    def connect(ip, port):print(f"設備{ip}:{port}連接!")connect(ip="127.0.0.1", port=8080)

    默認參數的傳遞:函數在定義時可以指定形參的默認值,如此在被調用時可以選擇是否給帶有默認值的形參傳值,若沒有給帶有默認值的形參傳值,則直接使用該形參的默認值。

    5.?參數的打包與解包

    5.1打包

    在定義時無法確定需要接收多少個數據,那么可以在定義函數時為形參添加“*”或“**”:

    “*” —— 接收以元組形式打包的多個值

    “**”—— 接收以字典形式打包的多個值

    5.2解包

    實參是元組 ??→ ??可以使用“*”拆分成多個值 ?→ ?按位置參數傳給形參

    實參是字典 ??→ ???可以使用“**” 拆分成多個鍵值對 ???→ ???按關鍵字參數傳給形參

    6.?混合傳遞

    ??參數傳遞的方式在定義函數或調用函數時可以混合使用,但是需要遵循一定的規(guī)則

    7.?函數的返回值

    return語句

    8.?變量作用域

    變量并非在程序的任意位置都可以被訪問,其訪問權限取決于變量定義的位置,其所處的有效范圍稱為變量的作用域。

    8.1局部變量

    函數內部定義的變量,只能在函數內部被使用

    函數執(zhí)行結束之后局部變量會被釋放,此時無法再進行訪問。

    def test_one():number = 10 ??? ????????????# 局部變量print(number) ????????????# 函數內部訪問局部變量test_one()print(number) ???? ????????????# 函數外部訪問局部變量

    8.2全局變量

    全局變量可以在整個程序的范圍內起作用,它不會受到函數范圍的影響。全局變量在函數內部只能被訪問,而無法直接修改。

    number = 10 ???????? # 全局變量def test_one():print(number) ?? # 函數內部訪問全局變量test_one()print(number) ????

    8.3global和nonlocal關鍵字 ?

    函數內部無法直接修改全局變量或在嵌套函數的外層函數聲明的變量,但可以使用global或nonlocal關鍵字修飾變量以間接修改以上變量。

    9.遞歸函數

    函數在定義時可以直接或間接地調用其他函數。若函數內部調用了自身,則這個函數被稱為遞歸函數。

    格式:

    def函數名([參數列表]):if 邊界條件:rerun 結果else:return 遞歸公式

    10.匿名函數

    匿名函數是一類無需定義標識符的函數,它與普通函數一樣可以在程序的任何位置使用

    語法格式:lambda <形式參數列表> :<表達式>

    第7章 文件與數據格式化

    7.1 文件概述

    文件標識:

    • 文件標識的意義:找到計算機中唯一確定的文件。
    • 文件標識的組成:文件路徑、文件名主干、文件擴展名。

    文件類型:

    文本文件,二進制文件

    標準文件:

    • ?stdin(標準輸入文件)。
    • stdout(標準輸出文件)。
    • stderr(標準錯誤文件)。
    • import sys file = sys.stdout file.write("hello")

    7.2文件的基本操作

    7.2.1 文件的打開與關閉

    打開文件:open(file, mode='r', buffering=-1)

    ??若?open()?函數調用成功,返回一個文件對?象。

    file1 = open('E:\\a.txt') # 以只讀方式打開E盤的文本文件a.txt file2 = open('b.txt', 'w') # 以只寫方式打開當前目錄的文本文件b.txt file3 = open('c.txt', 'w+') # 以讀/寫方式打開文本文件c.txt file4 = open('d.txt', 'wb+') # 以讀/寫方式打開二進制文件d.txt

    關閉文件:

    close()方法

    file.close()

    with語句

    with open('a.txt') as f:pass

    7.2.2 文件的讀寫

    讀取文件

    read()方法:

    read()方法可以從指定文件中讀取指定字節(jié)的數據

    with open('file.txt', mode='r') as f:print(f.read(2)) # 讀取兩個字節(jié)的數據print(f.read()) # 讀取剩余的全部數據

    readline()方法:

    可以從指定文件中讀取一行數據

    with open('file.txt', mode='r', encoding='utf-8') as f:print(f.readline())print(f.readline())


    寫文件

    write()方法:將指定字符串寫入文件,格式:write(data)

    string = "Here we are all, by day; by night." # 字符串 with open('write_file.txt', mode='w', encoding='utf-8') as f: size = f.write(string) # 寫入字符串print(size) # 打印字節(jié)數

    writelines()方法:用于將行列表寫入文件,格式:writelines(lines)

    string = "Here we are all, by day;\nby night we're hurl'd By dreams, each one into a several world." with open('write_file.txt', mode='w', encoding='utf-8') as f:f.writelines(string)

    7.2.3 文件的定位讀寫

    • tell()。獲取文件當前的讀寫位置。
    • seek()。控制文件的讀寫位置。

    tell()方法:用于獲取文件當前的讀寫位置

    with open('file.txt') as f:print(f.tell()) # 獲取文件讀寫位置print(f.read(5)) # 利用read()方法移動文件讀寫位置print(f.tell()) # 再次獲取文件讀寫位置

    seek()方法:使用該方法可控制文件的讀寫位置,實現文件的隨機讀寫

    with open('file.txt') as f:print(f.tell()) # 獲取文件讀寫位置print(f.read(5)) # 利用read()方法移動文件讀寫位置print(f.tell()) # 再次獲取文件讀寫位置

    7.3 文件與目錄管理

    管理文件與目錄:

    • 刪除文件——os.remove(文件名)
    • 文件重命名——os.rename(原文件名,新文件名)
    • 創(chuàng)建/刪除目錄——os.mkdir(目錄名)/os.rmdir(目錄名)
    • 獲取當前目錄——os.getcwd()
    • 更改默認目錄——os.chdir(路徑名)
    • 獲取目錄列表——os.listdir(目錄/路徑)

    7.5 數據維度與數據格式化

    維度

    從廣義上講,維度是與事物“有聯系”的概念的數量,根據“有聯系”的概念的數量,事物可分為不同維度。

    基于維度的數據分類

    根據組織數據時與數據有聯系的參數的數量,數據可分為一維數據、二維數據和多維數據。

    7.5.3 多維數據的格式化

    JSON模塊——json

    利用json模塊的dumps()函數和loads()函數可以實現Python對象和JSON數據之間的轉換

    示例:使用dumps()函數對Python對象進行轉碼。

    import jsonpyobj = [[1, 2, 3], 345, 23.12, 'qwe', {'key1':(1,2,3), 'key2':(2,3,4)}, True, False, None]jsonstr = json.dumps(pyobj)print(jsonstr)[[1, 2, 3], 345, 23.12, "qwe", {"key1": [1, 2, 3], "key2": [2, 3, 4]}, true, false, null]

    示例:使用loads()函數將JSON數據轉換為符合Python語法要求的數據類型。

    ?import jsonjsonstr = [[1, 2, 3], 345, 23.12, "qwe", {"key1": [1, 2, 3], "key2": [2, 3, 4]}, true, false, null]pydata = json.loads(jsonstr)print(pydata)[[1, 2, 3], 345, 23.12, 'qwe', {'key1': [1, 2, 3], 'key2': [2, 3, 4]}, True, False, None]

    總結

    以上是生活随笔為你收集整理的python期末复习总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。