Python:核心知識點整理大全8-筆記

目錄

?編輯

4.5 元組

4.5.1 定義元組

dimensions.py

4.5.2 遍歷元組中的所有值

4.5.3 修改元組變量

4.6 設置代碼格式

4.6.1 格式設置指南

4.6.2 縮進

4.6.3 行長

4.6.4 空行

4.6.5 其他格式設置指南

4.7 小結

第5章

if語句

5.1 一個簡單示例

cars.py

5.2 條件測試

5.2.1 檢查是否相等

5.2.2 檢查是否相等時不考慮大小寫

5.2.3 檢查是否不相等

toppings.py

往期快速傳送門👆(在文章最后):


4.5 元組

列表非常適合用于存儲在程序運行期間可能變化的數據集。列表是可以修改的,這對處理網 站的用戶列表或游戲中的角色列表至關重要。然而,有時候你需要創建一系列不可修改的元素, 元組可以滿足這種需求。Python將不能修改的值稱為不可變的,而不可變的列表被稱為元組。

4.5.1 定義元組

元組看起來猶如列表,但使用圓括號而不是方括號來標識。定義元組后,就可以使用索引來 訪問其元素,就像訪問列表元素一樣。

例如,如果有一個大小不應改變的矩形,可將其長度和寬度存儲在一個元組中,從而確保它 們是不能修改的:

dimensions.py
1 dimensions = (200, 50)
2 print(dimensions[0])
print(dimensions[1])

我們首先定義了元組dimensions(見1),為此我們使用了圓括號而不是方括號。接下來,我 們分別打印該元組的各個元素,使用的語法與訪問列表元素時使用的語法相同(見2):

200
50

下面來嘗試修改元組dimensions中的一個元素,看看結果如何:

dimensions = (200, 50)
1 dimensions[0] = 250

1處的代碼試圖修改第一個元素的值,導致Python返回類型錯誤消息。由于試圖修改元組的 操作是被禁止的,因此Python指出不能給元組的元素賦值:

Traceback (most recent call last):File "dimensions.py", line 3, in <module>dimensions[0] = 250
TypeError: 'tuple' object does not support item assignment

代碼試圖修改矩形的尺寸時,Python報告錯誤,這很好,因為這正是我們希望的。

4.5.2 遍歷元組中的所有值

像列表一樣,也可以使用for循環來遍歷元組中的所有值:

dimensions = (200, 50)
for dimension in dimensions:print(dimension)

就像遍歷列表時一樣,Python返回元組中所有的元素:

200
50

4.5.3 修改元組變量

雖然不能修改元組的元素,但可以給存儲元組的變量賦值。因此,如果要修改前述矩形的尺 寸,可重新定義整個元組:

1 dimensions = (200, 50)
print("Original dimensions:")
for dimension in dimensions:print(dimension)
2 dimensions = (400, 100)
3 print("\nModified dimensions:")
for dimension in dimensions:print(dimension) 

我們首先定義了一個元組,并將其存儲的尺寸打印了出來(見1);接下來,將一個新元組 存儲到變量dimensions中(見);然后,打印新的尺寸(見3)。這次,Python不會報告任何錯 誤,因為給元組變量賦值是合法的:

Original dimensions:
200
50
Modified dimensions:
400
100 

相比于列表,元組是更簡單的數據結構。如果需要存儲的一組值在程序的整個生命周期內都 不變,可使用元組。

4.6 設置代碼格式

隨著你編寫的程序越來越長,有必要了解一些代碼格式設置約定。請花時間讓你的代碼盡可 能易于閱讀;讓代碼易于閱讀有助于你掌握程序是做什么的,也可以幫助他人理解你編寫的代碼。

為確保所有人編寫的代碼的結構都大致一致,Python程序員都遵循一些格式設置約定。學會 編寫整潔的Python后,就能明白他人編寫的Python代碼的整體結構——只要他們和你遵循相同的 指南。要成為專業程序員,應從現在開始就遵循這些指南,以養成良好的習慣。

4.6.1 格式設置指南

若要提出Python語言修改建議,需要編寫Python改進提案(Python Enhancement Proposal, PEP)。PEP 8是最古老的PEP之一,它向Python程序員提供了代碼格式設置指南。PEP 8的篇幅很 長,但大都與復雜的編碼結構相關。

Python格式設置指南的編寫者深知,代碼被閱讀的次數比編寫的次數多。代碼編寫出來后, 調試時你需要閱讀它;給程序添加新功能時,需要花很長的時間閱讀代碼;與其他程序員分享代 碼時,這些程序員也將閱讀它們。

如果一定要在讓代碼易于編寫和易于閱讀之間做出選擇,Python程序員幾乎總是會選擇后 者。下面的指南可幫助你從一開始就編寫出清晰的代碼。

4.6.2 縮進

PEP 8建議每級縮進都使用四個空格,這既可提高可讀性,又留下了足夠的多級縮進空間。 在字處理文檔中,大家常常使用制表符而不是空格來縮進。對于字處理文檔來說,這樣做的 效果很好,但混合使用制表符和空格會讓Python解釋器感到迷惑。每款文本編輯器都提供了一種 設置,可將輸入的制表符轉換為指定數量的空格。你在編寫代碼時應該使用制表符鍵,但一定要 對編輯器進行設置,使其在文檔中插入空格而不是制表符。

在程序中混合使用制表符和空格可能導致極難解決的問題。如果你混合使用了制表符和空 格,可將文件中所有的制表符轉換為空格,大多數編輯器都提供了這樣的功能。

4.6.3 行長

很多Python程序員都建議每行不超過80字符。最初制定這樣的指南時,在大多數計算機中, 終端窗口每行只能容納79字符;當前,計算機屏幕每行可容納的字符數多得多,為何還要使用79 字符的標準行長呢?這里有別的原因。專業程序員通常會在同一個屏幕上打開多個文件,使用標 準行長可以讓他們在屏幕上并排打開兩三個文件時能同時看到各個文件的完整行。

PEP 8還建議 注釋的行長都不超過72字符,因為有些工具為大型項目自動生成文檔時,會在每行注釋開頭添加 格式化字符。 PEP 8中有關行長的指南并非不可逾越的紅線,有些小組將最大行長設置為99字符。在學習期間,你不用過多地考慮代碼的行長,但別忘了,協作編寫程序時,大家幾乎都遵守PEP 8指南。 在大多數編輯器中,都可設置一個視覺標志——通常是一條豎線,讓你知道不能越過的界線在什 么地方。


注意 附錄B介紹了如何配置文本編輯器,以使其:在你按制表符鍵時插入四個空格;顯示一條 垂直參考線,幫助你遵守行長不能超過79字符的約定。


4.6.4 空行

要將程序的不同部分分開,可使用空行。你應該使用空行來組織程序文件,但也不能濫用; 只要按本書的示例展示的那樣做,就能掌握其中的平衡。例如,如果你有5行創建列表的代碼, 還有3行處理該列表的代碼,那么用一個空行將這兩部分隔開是合適的。然而,你不應使用三四 個空行將它們隔開。

空行不會影響代碼的運行,但會影響代碼的可讀性。Python解釋器根據水平縮進情況來解讀 代碼,但不關心垂直間距。

4.6.5 其他格式設置指南

PEP 8還有很多其他的格式設置建議,但這些指南針對的程序大都比目前為止本書提到的程 序復雜。等介紹更復雜的Python結構時,我們再來分享相關的PEP 8指南。

4.7 小結

在本章中,你學習了:如何高效地處理列表中的元素;如何使用for循環遍歷列表,Python 如何根據縮進來確定程序的結構以及如何避免一些常見的縮進錯誤;如何創建簡單的數字列表, 以及可對數字列表執行的一些操作;如何通過切片來使用列表的一部分和復制列表。你還學習了 元組(它對不應變化的值提供了一定程度的保護),以及在代碼變得越來越復雜時如何設置格式, 使其易于閱讀。

在第5章中,你將學習如何使用if語句在不同的條件下采取不同的措施;學習如何將一組較 復雜的條件測試組合起來,并在滿足特定條件時采取相應的措施。你還將學習如何在遍歷列表時, 通過使用if語句對特定元素采取特定的措施。

第5章

if語句

5.1 一個簡單示例

下面是一個簡短的示例,演示了如何使用if語句來正確地處理特殊情形。假設你有一個汽車 列表,并想將其中每輛汽車的名稱打印出來。對于大多數汽車,都應以首字母大寫的方式打印其 名稱,但對于汽車名'bmw',應以全大寫的方式打印。下面的代碼遍歷一個列表,并以首字母大 寫的方式打印其中的汽車名,但對于汽車名'bmw',以全大寫的方式打印:

cars.py

cars = ['audi', 'bmw', 'subaru', 'toyota']
for car in cars:
1 if car == 'bmw':print(car.upper())else:print(car.title()) 

這個示例中的循環首先檢查當前的汽車名是否是'bmw'(見?)。如果是,就以全大寫的方式 打印它;否則就以首字母大寫的方式打印:

Audi
BMW
Subaru
Toyota 

這個示例涵蓋了本章將介紹的很多概念。下面先來介紹可用來在程序中檢查條件的測試。

5.2 條件測試

每條if語句的核心都是一個值為True或False的表達式,這種表達式被稱為條件測試。Python 根據條件測試的值為True還是False來決定是否執行if語句中的代碼。如果條件測試的值為True, Python就執行緊跟在if語句后面的代碼;如果為False,Python就忽略這些代碼。

5.2.1 檢查是否相等

大多數條件測試都將一個變量的當前值同特定值進行比較。最簡單的條件測試檢查變量的值 是否與特定值相等:

1 >>> car = 'bmw'
2 >>> car == 'bmw'
True

我們首先使用一個等號將car的值設置為'bmw'(見1),這種做法你已見過很多次。接下來, 使用兩個等號(==)檢查car的值是否為'bmw'。這個相等運算符在它兩邊的值相等時返回True, 否則返回False。在這個示例中,兩邊的值相等,因此Python返回True。 如果變量car的值不是'bmw',上述測試將返回False:

1 >>> car = 'audi'
2 >>> car == 'bmw'
False

一個等號是陳述;對于1處的代碼,可解讀為“將變量car的值設置為'audi'”。兩個等號是 發問;對于2處的代碼,可解讀為“變量car的值是'bmw'嗎?”。大多數編程語言使用等號的方 式都與這里演示的相同。

5.2.2 檢查是否相等時不考慮大小寫

在Python中檢查是否相等時區分大小寫,例如,兩個大小寫不同的值會被視為不相等:

>>> car = 'Audi'
>>> car == 'audi'
False 

如果大小寫很重要,這種行為有其優點。但如果大小寫無關緊要,而只想檢查變量的值,可 將變量的值轉換為小寫,再進行比較:

>>> car = 'Audi'
>>> car.lower() == 'audi'
True

無論值'Audi'的大小寫如何,上述測試都將返回True,因為該測試不區分大小寫。函數lower() 不會修改存儲在變量car中的值,因此進行這樣的比較時不會影響原來的變量:

1 >>> car = 'Audi'
2 >>> car.lower() == 'audi'
True
3 >>> car
'Audi'

在1處,我們將首字母大寫的字符串'Audi'存儲在變量car中;在2處,我們獲取變量car的 值并將其轉換為小寫,再將結果與字符串'audi'進行比較。這兩個字符串相同,因此Python返回 True。從3處的輸出可知,這個條件測試并沒有影響存儲在變量car中的值。

網站采用類似的方式讓用戶輸入的數據符合特定的格式。例如,網站可能使用類似的測試來 確保用戶名是獨一無二的,而并非只是與另一個用戶名的大小寫不同。用戶提交新的用戶名時, 將把它轉換為小寫,并與所有既有用戶名的小寫版本進行比較。執行這種檢查時,如果已經有用 戶名'john'(不管大小寫如何),則用戶提交用戶名'John'時將遭到拒絕。

5.2.3 檢查是否不相等

要判斷兩個值是否不等,可結合使用驚嘆號和等號(!=),其中的驚嘆號表示不,在很多編 程語言中都如此。

下面再使用一條if語句來演示如何使用不等運算符。我們將把要求的比薩配料存儲在一個變 量中,再打印一條消息,指出顧客要求的配料是否是意式小銀魚(anchovies):

toppings.py

requested_topping = 'mushrooms'
1 if requested_topping != 'anchovies':print("Hold the anchovies!") 

1處的代碼行將requested_topping的值與'anchovies'進行比較,如果它們不相等,Python 將返回True,進而執行緊跟在if語句后面的代碼;如果這兩個值相等,Python將返回False,因此 不執行緊跟在if語句后面的代碼。

由于requested_topping的值不是'anchovies',因此執行print語句:

Hold the anchovies! 

你編寫的大多數條件表達式都檢查兩個值是否相等,但有時候檢查兩個值是否不等的效率 更高。


Python:核心知識點整理大全1-筆記-CSDN博客

Python:核心知識點整理大全2-筆記-CSDN博客

Python:核心知識點整理大全3-筆記-CSDN博客

Python:核心知識點整理大全4-筆記-CSDN博客

Python:核心知識點整理大全5-筆記-CSDN博客

Python:核心知識點整理大全6-筆記-CSDN博客

Python:核心知識點整理大全7-筆記-CSDN博客

往期快速傳送門👆(在文章最后):

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/209304.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/209304.shtml
英文地址,請注明出處:http://en.pswp.cn/news/209304.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

現代皮質沙發模型材質編輯

在線工具推薦&#xff1a; 3D數字孿生場景編輯器 - GLTF/GLB材質紋理編輯器 - 3D模型在線轉換 - Three.js AI自動紋理開發包 - YOLO 虛幻合成數據生成器 - 三維模型預覽圖生成器 - 3D模型語義搜索引擎 當談到游戲角色的3D模型風格時&#xff0c;有幾種不同的風格&#xf…

線性容器(QByteArray、QString、QList模板類)、堆棧窗體

QT 線性容器 點擊查看&#xff1a;字符和字節的區別&#xff0c;ASCII、Unicode 和 UTF-8 編碼的區別。&#xff08;&#x1f448; 安全鏈接&#xff0c;放心跳轉&#xff09; QByteArray 思考&#xff1a;char buf[6] “hello”; 如果 C 語言中要利用 buf 內容重新生成 “…

學生備考使用臺燈到底好不好?公認好用的護眼臺燈推薦

在現代生活中&#xff0c;許多學生的學習壓力越來越大&#xff0c;面臨的近視幾率也越來越大&#xff0c;特別是初中生&#xff0c;眼睛發育還未完全&#xff0c;使用不恰當的燈光也會對眼睛造成損害&#xff0c;特別是護眼臺燈。雖然護眼臺燈在功能上能夠提供充足、柔和的光線…

harbor倉庫鏡像遷移腳本

import subprocess import json import logging# 配置日志 logging.basicConfig(levellogging.INFO, format%(asctime)s - %(levelname)s - %(message)s)# 替換這里的Harbor倉庫地址和憑據 harbor_url "https://harbor.test.com" harbor_name "harbor.test.co…

《文存閱刊》期刊發表簡介

《文存閱刊》以“深研文化創新&#xff0c;崇尚科學真理&#xff0c;堅持雙百方針&#xff0c;打造學術精品”為辦刊宗旨&#xff0c;涵蓋藝術、文學、社科等多項內容&#xff0c;適應了文化市場需求&#xff0c;很好的回應了廣大文化理論工作者的關切&#xff0c;為下一步打造…

ChatGPT新媒體運營神器:輕松駕馭內容創作與傳播

文章目錄 1. 內容創作2. 社交媒體管理3. 用戶互動與客戶服務 《巧用ChatGPT輕松玩轉新媒體運營》內容簡介作者簡介目錄前言/序言本書內容本書特色本書讀者對象獲取方式 隨著互聯網的高速發展&#xff0c;新媒體已經成為了人們獲取信息、交流思想的重要渠道。在這個信息爆炸的時…

【SpringCache】快速入門 通俗易懂

1. 介紹 Spring Cache 是一個框架&#xff0c;實現了基于注解的緩存功能&#xff0c;只需要簡單地加一個注解&#xff0c;就能實現緩存功能。 Spring Cache 提供了一層抽象&#xff0c;底層可以切換不同的緩存實現&#xff0c;例如&#xff1a; EHCache Caffeine Redis(常用…

Centos7、Mysql8.0 load_file函數返回為空的終極解決方法--暨selinux的深入理解

零、問題背景 最近想換房&#xff0c;為了方便自己對比感興趣的房子&#xff0c;因此決定將目標房源的基本信息放在表里&#xff0c;特別是要一目了然的看到眾多房子的各種圖紙和照片&#xff0c;因此決定要在Mysql8.0.34數據庫中以二進制形式保存圖片&#xff08;拋開合理性和…

喝酒誰先倒

劃拳是古老中國酒文化的一個有趣的組成部分。酒桌上兩人劃拳的方法為&#xff1a;每人口中喊出一個數字&#xff0c;同時用手比劃出一個數字。如果誰比劃出的數字正好等于兩人喊出的數字之和&#xff0c;誰就輸了&#xff0c;輸家罰一杯酒。兩人同贏或兩人同輸則繼續下一輪&…

Vue 2.0源碼分析-update

Vue 的 _update 是實例的一個私有方法&#xff0c;它被調用的時機有 2 個&#xff0c;一個是首次渲染&#xff0c;一個是數據更新的時候&#xff1b;由于我們這一章節只分析首次渲染部分&#xff0c;數據更新部分會在之后分析響應式原理的時候涉及。_update 方法的作用是把 VNo…

思維鏈(CoT)提出者 Jason Wei:關于大語言模型的六個直覺

文章目錄 一、前言二、主要內容三、總結 &#x1f349; CSDN 葉庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一、前言 Jason Wei 的主頁&#xff1a;https://www.jasonwei.net/ Jason Wei&#xff0c;一位于 2020 年從達特茅斯學院畢業的杰出青年&#xff0c;隨后加盟了…

大數據安全保障的四種關鍵技術

隨著大數據時代的到來&#xff0c;數據安全保障的重要性日益凸顯。大數據安全保障涉及多種關鍵技術&#xff0c;以下是四種關鍵技術的詳細介紹。 數據加密技術 數據加密技術是大數據安全保障的核心技術之一。它通過將明文數據轉化為密文數據&#xff0c;以保護數據的機密性和完…

CSS中 設置文字下劃線 的幾種方法

在網頁設計和開發中&#xff0c;我們經常需要對文字進行樣式設置&#xff0c;包括字體,顏色&#xff0c;大小等&#xff0c;其中&#xff0c;設置文字下劃線是一種常見需求 一 、CSS種使用 text-decoration 屬性來設置文字的裝飾效果&#xff0c;包括下劃線。 常用的取值&…

Visual Studio 2015 中 FFmpeg 開發環境的搭建

Visual Studio 2015 中 FFmpeg 開發環境的搭建 Visual Studio 2015 中 FFmpeg 開發環境的搭建新建控制臺工程拷貝并配置 FFmpeg 開發文件測試FFmpeg 開發文件的下載鏈接 Visual Studio 2015 中 FFmpeg 開發環境的搭建 新建控制臺工程 新建 Win32 控制臺應用程序。 具體流程&…

炫酷不止一面:探索JavaScript動畫的奇妙世界(下)

&#x1f90d; 前端開發工程師&#xff08;主業&#xff09;、技術博主&#xff08;副業&#xff09;、已過CET6 &#x1f368; 阿珊和她的貓_CSDN個人主頁 &#x1f560; 牛客高級專題作者、在牛客打造高質量專欄《前端面試必備》 &#x1f35a; 藍橋云課簽約作者、已在藍橋云…

proftpd安全加固:限制用戶FTP登錄

其實無所謂安全加固&#xff0c;因為proftp默認就是限制用戶FTP登錄的&#xff0c;這里有點凌亂得研究和實驗了proftpd如何進行限制的&#xff0c;以及可能的放開限制。懂了這些才能更好的進行防護配置。 RootLogin指令其實主要作用就是啟用ROOT訪問。通常&#xff0c;proftpd在…

【Fastadmin】一個完整的輪播圖功能示例

目錄 1.效果展示&#xff1a; 列表 添加及編輯頁面同 2.建表&#xff1a; 3.使用crud一鍵生成并創建控制器 4.html頁面 add.html edit.html index.php 5.js頁面 6.小知識點 1.效果展示&#xff1a; 列表 添加及編輯頁面同 2.建表&#xff1a; 表名&#xff1a;fa_x…

【LabVIEW學習】5.數據通信之TCP協議,控制電腦的一種方式

一。tcp連接以及寫數據&#xff08;登錄&#xff09; 數據通信--》協議--》TCP 1.tcp連接 創建while循環&#xff0c;中間加入事件結構&#xff0c;創建tcp連接&#xff0c;寫入IP地址與端口號 2.寫入tcp數據 登錄服務器除了要知道IP地址以及端口以外&#xff0c;需要用戶名與密…

中通單號查詢,中通快遞物流查,備注需要的單號記錄

批量查詢中通快遞單號的物流信息&#xff0c;并對需要的單號記錄進行備注。 所需工具&#xff1a; 一個【快遞批量查詢高手】軟件 中通快遞單號若干 操作步驟&#xff1a; 步驟1&#xff1a;運行【快遞批量查詢高手】軟件&#xff0c;第一次使用的朋友記得先注冊&#xff0c…

快速冪(C語言)

前言 快速冪算法一般用于高次冪取模的題目中&#xff0c;比如求3的10000次方對7取模。這時候有些同學會說&#xff1a;這還不簡單&#xff1f;我直接調用pow函數然后對結果%7不得了么&#xff1f;可是3的10000次方這么龐大的數字&#xff0c;真的能儲存在計算機里么&#xff1f…