Python應用八股文

? ? ? ? 大家好!在 Python 學習的道路上,掌握一些基礎知識要點至關重要,這些要點常被稱為“Python 八股”。以下是對它們的簡易總結,幫助你快速回顧和鞏固 Python 的核心概念。

? ? ? ?一、數據結構

  1. 列表(List):有序可變序列,可包含不同類型的元素,如`my_list = [1, 'apple', 3.14]`。
  2. 元組(Tuple):有序不可變序列,與列表類似但不可修改,如`my_tuple = (1, 'banana', 2.71)`。
  3. 字典(Dictionary):無序鍵值對集合,鍵不可重復,用于存儲和檢索數據,如`my_dict = {'name': 'John', 'age': 25}`。
  4. 集合(Set):無序唯一元素集合,用于執行集合操作,如`my_set = {1, 2, 3}`。

? ? ? ? 它們主要區別在于可變性、有序性和是否允許重復元素。

? ? ? 二、數據類型

  1. 整數(int):表示整數值,占用字節取決于系統位數,如`x = 5`。
  2. 浮點數(float):表示帶有小數點的數字,通常占用 8 個字節,如`y = 3.14`。
  3. 字符串(str):表示文本,用單引號或雙引號,占用字節數與長度和編碼相關,如`text = 'Hello, World!'`。
  4. 布爾值(bool):表示真或假,只有`True`或`False`,通常占用 1 個字節。
  5. 字節串(bytes):表示二進制數據,字節數等于元素數量,如`b = b'hello'`。
  6. 字節數組(bytearray):可變字節串,允許修改元素,占用字節數等于元素數量,如`ba = bytearray(b'hello')`。
  7. NoneType:表示空或不存在的數據,通常用于初始化變量,占用很小固定字節數。

? ? ? 三、控制流語句

  1. break 和 continue:`break`用于終止循環,跳出循環體;`continue`用于跳過循環體剩余代碼,直接進行下一輪循環。
  2. return 和 yield:`return`用于從函數返回值并終止函數執行;`yield`用于生成迭代器,函數暫停保存狀態,下次調用繼續執行。

? ? ? 四、拷貝

  1. 淺拷貝:創建新對象,復制原對象元素引用,只復制對象一層,修改原始嵌套對象會影響淺拷貝,用`copy()`函數或切片操作。
  2. 深拷貝:創建新對象,遞歸復制原對象所有元素,包括嵌套元素,新對象與原始對象完全獨立,用`copy.deepcopy()`函數,但更耗費資源且可能遇循環引用問題。

? ? ? 五、其他重要知識點

  1. range 和 xrange:Python 2 中,`range`返回列表,`xrange`返回生成器;Python 3 中,`xrange`被移除,`range`成生成器。
  2. is 和==:`==`比較對象值是否相等,`is`比較對象身份標識是否相等。
  3. lambda 函數:匿名函數,用于簡化代碼,常用于函數參數傳遞簡單功能。
  4. 字符串拆分方法:`split()`、`splitlines()`、`partition()`等。
  5. 引號區別:單引號和雙引號表示字符串無實質性區別,三引號表示多行字符串,也可作多行注釋。
  6. Python 傳參:注意參數順序和類型匹配,有位置參數、關鍵字參數、默認參數和可變參數。
  7. 裝飾器:修改函數或方法行為的高級技術,不改變函數代碼和調用方式添加新功能,應用場景如性能測試、插入日志、權限校驗。
  8. 作用域:分為局部作用域、全局作用域和嵌套作用域,決定變量或函數在程序中的可訪問區域。
  9. 解釋型和編譯型語言:解釋型語言運行時逐行解釋源代碼,編譯型語言運行前先將源代碼轉換為機器代碼。
  10. \_\_init\_\_和\_\_new\_\_:`__init__`初始化對象屬性,`__new__`創建對象并返回實例。
  11. 常用模塊:`math`、`datetime`、`random`、`os`、`sys`等。
  12. list 和 numpy.array:`list`是 Python 內置通用序列類型,不支持數學運算;`numpy.array`是 NumPy 提供的數組類型,支持高效數學運算。
  13. 類中 self:指向對象本身的引用,用于在類中引用對象的屬性和方法,應用包括初始化屬性、訪問屬性和方法、調用其他方法。
  14. Python 面向對象特征:封裝、繼承、多態,是一門多范式編程語言。

? ? ? ? 以上是 Python 八股文的簡易總結,希望對你有所幫助。在學習過程中,建議多動手實踐,加深對這些知識點的理解和掌握,這樣才能在 Python 編程的世界中更加得心應手。

?

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

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

相關文章

【技術深度】領碼SPARK破解微服務數據依賴困局:架構設計與實踐指南

——深度解析分布式數據冗余與異步消息機制,驅動企業數字化轉型加速 ? 核心摘要 本文從技術架構與工程實現的角度,系統講解領碼SPARK融合平臺如何精準解決微服務架構下數據依賴“卡脖子”問題。通過設計高效的數據冗余模型和完善的異步消息更新機制&am…

關于前端的防抖和節流

給我解釋下 前端開發中的防抖和節流 并舉個具體的例子 防抖(Debounce)與節流(Throttle)詳解 在前端開發中,防抖(Debounce) 和 節流(Throttle) 是兩種優化高頻觸發事件的…

React-router 多類型歷史記錄棧

react-router 為了滿足開發者更多路由歷史存儲場景,提供了以下幾種模式: 瀏覽器原生歷史記錄 瀏覽器 hash 內存型 服務端記錄 以上實現分別對應于一下 API 實現: createBrowserRouter:瀏覽器提供的歷史管理。 createHashRou…

java設計模式[3]之結構型模式

文章目錄 一 代理模式1.1 靜態代理1.1.1 靜態代理的結構1.1.2 靜態代理的特點1.1.3 靜態代理的應用場景1.1.4 靜態代理的案例代碼 1.2 JDK動態代理1.2.1 JDK動態代理概述1.2.2 JDK動態代理案例代碼1.2.3 JDK動態代理的應用場景1.2.4 JDK動態代理的特點1.2.5 與創建型模式的區別…

鴻蒙Harmony測試-wukong穩定性工具(類似Android的Monkey測試)

一、功能介紹 wukong是系統自帶的一種命令行工具,支持Ability的隨機事件注入、控件注入、異常捕獲、報告生成和對Ability數據遍歷截圖等特性。通過模擬用戶行為,對系統或應用進行穩定性壓力測試。wukong分為隨機測試、專項測試和專注測試。 隨機測試是指…

從零學起VIM

前言 筆者早年剛入行的時候就接觸過Vim,當時還是真正的菜鳥,帶我的師父是一個華為骨干員工,猶記得他給我指導如何保存并關閉文本:按Esc,然后輸入:wq。還記得自己打開Vim編輯器,一個字符都敲不進去,然后問旁…

不依賴rerank 模型排序通過使用 PostgreSQL 中的 pgvector 與 tsearch2 函數進行混合搜索提高召回率

前言 在向量搜索中,召回率是一個關鍵指標,它衡量搜索結果的相關性。然而,提高召回率往往會犧牲其他指標,如索引大小或查詢延遲。為了平衡這些權衡,混合搜索技術應運而生。本文將介紹如何在 PostgreSQL 中結合 pgvecto…

Uniapp 跨平臺開發框架全面解析:一次開發,多端運行

在移動互聯網時代,開發者面臨著一個重要挑戰:如何高效地開發出能在多個平臺(iOS、Android、Web、小程序等)上運行的應用?傳統的原生開發方式需要為每個平臺單獨編寫代碼,導致開發周期長、維護成本高。而 Un…

ios如何把H5網頁變成主屏幕webapp應用

一、將 H5 頁面添加到主屏幕的步驟 打開 Safari 瀏覽器 在 iPhone 上打開 Safari 瀏覽器,訪問目標網頁(H5 頁面)。 點擊分享按鈕 在 Safari 瀏覽器底部點擊 “分享” 圖標(箭頭向上的按鈕)。 添加到主屏幕 在分享菜單…

Node.js 項目啟動命令大全 (形象版)

文章目錄 Node.js 項目啟動命令大全 🌟?(形象版)一、🔍 如何查看項目啟動命令(魔法書目錄)package.json scripts 參數詳解開發相關腳本測試相關腳本構建相關腳本代碼質量相關腳本最佳實踐 二、&#x1f68…

愛普特APT32F1104C8T6單片機 高抗干擾+硬件加密雙保障

愛普特APT32F1104C8T6單片機深度解析 1. 產品定位 APT32F1104C8T6 是愛普特半導體(APT)推出的 32位高性能經濟型單片機,基于 ARM Cortex-M0內核,采用 LQFP48封裝,主打 高性價比、低功耗、強抗干擾,是替代進…

使用uni-app ios 打包流程

配置幾個步驟即可 1、打包ios需要BundleID ID 2、證書私鑰密碼 3、信任文件證書文件 4、私鑰證書 5、打包 6、獲取打包后的ipa文件 7、通過愛思助手安裝到iso手機上 8、完成 1、下載:App Uploader去獲取我們想要的證書私鑰等文件 2、下載完成解壓后的文件如下打…

仿muduo庫實現并發服務器

1.實現目標 仿muduo庫One Thread One Loop式主從Reactor模型實現高并發服務器: 通過實現高并發服務器的組件,可以快速實現一個高并發服務器的搭建,并且,通過組內不同應用層協議的支持,可以快速完成高性能服務器的搭建…

迭代器模式:集合遍歷的統一之道

引言:集合遍歷的演進之路 在軟件開發中,集合遍歷是我們每天都要面對的基礎操作。從最初的數組索引遍歷到現代的流式處理,我們經歷了: #mermaid-svg-KwTr9k8JgbwRTDhU {font-family:"trebuchet ms",verdana,arial,sans-…

Spring Security OAuth2 組件

我們來系統地講解一下 Spring Security OAuth2 這個強大的組件。我會從概念、作用、核心組件,以及實際應用場景來為你剖析。 1. 什么是 Spring Security OAuth2? 簡單來說,Spring Security OAuth2 是 Spring Security 框架的一個模塊&#…

Redis的持久化功能

Redis的持久化功能能夠將內存中的數據保存到磁盤,從而在重啟后恢復數據。下面為你詳細介紹Redis的兩種主要持久化方式及其配置方法。 RDB(Redis Database)持久化 RDB持久化是通過生成某個時間點的數據集快照來實現的。它具有高性能的特點&a…

Chrome 將成為下一個 IE6

最近在技術圈刷到一個帖子,說:“Chrome 就快變成新的 IE6 了。” 乍一看有點危言聳聽,但你一細品,發現還真挺像回事。 想當年:IE6 是怎么垮的? IE6 當年多風光?全球市場份額一度超過 90%&#…

Redis 配置文件詳解redis.conf 從入門到實戰

一、redis.conf 是什么? Redis 的配置文件(默認命名為 redis.conf,Redis 8.0 之后改為 redis-full.conf)控制著服務運行的各項參數。該文件采用以下結構: 指令名 參數1 參數2 ... 參數N例如: replicaof …

autoware docker的安裝

前言 官方的安裝說明: 官方的安裝說明 安裝前,請確認安裝的硬件: CPU with 8 cores16GB RAM[Optional] NVIDIA GPU (4GB RAM) 滿足需求 1. 安裝軟件依賴 這一步主要是安裝三個軟件: DockerNVIDIA Container Toolkit (pref…

AWS 解決方案深度剖析:Amazon QLDB — 構建可信賴、不可變的數據審計基石

導言:數據可信的挑戰 在現代應用開發中,尤其是在金融、供應鏈、身份認證、政府事務、醫療記錄管理等領域,數據完整性和歷史追溯性至關重要。我們常常面臨以下挑戰: 審計困難: 如何證明數據從誕生至今未被篡改&#xf…