【Python 基礎語法】

Python 基礎語法是編程的基石,以下從核心要素到實用技巧進行系統梳理:


一、代碼結構規范

  1. 縮進規則

    • 使用4個空格縮進(PEP 8標準)
    • 縮進定義代碼塊(如函數、循環、條件語句)
    def greet(name):if name:  # 正確縮進print(f"Hello, {name}!")else:     # 正確對齊print("Hello, Guest!")
    
  2. 行長度限制

    • 每行代碼建議不超過79個字符(超長時用反斜杠\或括號換行)
    result = (value1 + value2 - value3 * value4)
    

二、變量與數據類型

1. 變量命名
  • 規則:字母/數字/下劃線組合,區分大小寫,不以數字開頭
  • 慣例:小寫字母+下劃線(如user_age),常量全大寫(如MAX_SIZE
2. 動態類型
count = 10        # int
count = "Ten"     # 類型自動變為str
3. 核心數據類型速查表
類型示例特性
int42, 0b1010任意精度整數
float3.14, 2.5e3浮點數精度約15位
str'Python', """多行字符串"""不可變,支持f-string格式化
list[1, "a", True]可變,支持任意類型混合
dict{"name": "Alice", 3: [4,5]}鍵唯一且不可變
tuple(1, 2, 3)不可變,可作字典鍵
set{1, 2, 3}唯一元素,無序
boolTrue, False繼承自int類型
NoneNone表示空值

三、運算符全家福

1. 運算優先級速記口訣

算術 > 位運算 > 比較 > 邏輯 > 賦值
(括號可強制提升優先級)

2. 特殊運算符
  • 鏈式比較1 < age < 100(等價于age > 1 and age < 100
  • 海象運算符(Python 3.8+):if (n := len(data)) > 10:(賦值表達式)
  • 矩陣乘法@(需numpy支持)

四、流程控制

1. 條件語句進階
# 三元表達式
status = "Even" if num % 2 == 0 else "Odd"# 模式匹配(Python 3.10+)
match value:case 0:print("Zero")case _ if value < 0:print("Negative")case _:print("Positive")
2. 循環控制技巧
# 遍歷字典
for key, val in my_dict.items():print(f"{key}: {val}")# 無限循環
while True:if condition:break  # 退出循環elif error:continue  # 跳過本次迭代

五、函數設計

1. 基礎定義
def calculate(a, b, operation="+"):"""通用計算函數Args:a (int/float): 第一個操作數b (int/float): 第二個操作數operation (str): 運算符,默認為加法"""return {"+": a + b,"-": a - b,"*": a * b,"/": a / b if b !=0 else "Error"}.get(operation, "Invalid Op")
2. 高級特性
  • 默認參數陷阱:避免使用可變對象(如def func(a=[])
  • 關鍵字參數:func(a=1, b=2)
  • 位置參數:*args接收元組,**kwargs接收字典

六、輸入輸出

1. 格式化輸出
name = "Alice"
age = 25
print(f"{name} is {age} years old.")  # f-string(推薦)
print("{} is {} years old.".format(name, age))
2. 文件操作
# 寫入文件
with open("data.txt", "w", encoding="utf-8") as f:f.write("Hello, World!\n")# 讀取文件
with open("data.txt", "r") as f:content = f.read()

七、異常處理

try:result = 10 / 0
except ZeroDivisionError:print("不能除以零!")
except (TypeError, ValueError) as e:print(f"類型錯誤: {str(e)}")
else:  # 無異常時執行print("計算成功")
finally:  # 始終執行print("操作結束")

八、模塊化編程

# 導入模塊
import math
from collections import defaultdict# 自定義模塊
# 在my_module.py中定義:
def greet(name):return f"Hello, {name}!"# 使用模塊
import my_module
print(my_module.greet("Python"))

九、編碼規范(PEP 8要點)

  1. 導入模塊順序:標準庫 > 第三方庫 > 本地庫
  2. 運算符周圍加空格:x = y + 3
  3. 函數/類之間空兩行,方法之間空一行
  4. 注釋使用英文,行注釋以#開頭

掌握這些基礎語法后,可逐步進階學習:面向對象編程、裝飾器、生成器、異步編程等高級特性。建議通過實際項目(如開發簡單計算器、待辦事項管理器)鞏固知識。

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

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

相關文章

利用“Flower”實現聯邦機器學習的實戰指南

一個很尷尬的現狀就是我們用于訓練 AI 模型的數據快要用完了。所以我們在大量的使用合成數據&#xff01; 據估計&#xff0c;目前公開可用的高質量訓練標記大約有 40 萬億到 90 萬億個&#xff0c;其中流行的 FineWeb 數據集包含 15 萬億個標記&#xff0c;僅限于英語。 作為…

自動化測試與功能測試詳解

&#x1f345; 點擊文末小卡片&#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;漲薪更快 什么是自動化測試? 自動化測試是指利用軟件測試工具自動實現全部或部分測試&#xff0c;它是軟件測試的一個重要組成 部分&#xff0c;能完成許多手工測試無…

MySQL全量,增量備份與恢復

目錄 一.MySQL數據庫備份概述 1.數據備份的重要性 2.數據庫備份類型 3.常見的備份方法 二&#xff1a;數據庫完全備份操作 1.物理冷備份與恢復 2.mysqldump 備份與恢復 3.MySQL增量備份與恢復 3.1MySQL增量恢復 3.2MySQL備份案例 三&#xff1a;定制企業備份策略思路…

Ubuntu 安裝 Nginx

Nginx 是一個高性能的 Web 服務器和反向代理服務器&#xff0c;同時也可以用作負載均衡器和 HTTP 緩存。 Nginx 的主要用途 用途說明Web服務器提供網頁服務&#xff0c;處理用戶的 HTTP 請求&#xff0c;返回 HTML、CSS、JS、圖片等靜態資源。反向代理服務器將用戶請求轉發到…

人工智能 機器學習期末考試題

自測試卷2 一、選擇題 1&#xff0e;下面哪個屬性不是NumPy中數組的屬性&#xff08; &#xff09;。 A&#xff0e;ndim B&#xff0e;size C&#xff0e;shape D&#xff0e;add 2&#xff0e;一個簡單的Series是由&#xff08; &#xff09;的數據組成的。 A&#xff0e;兩…

使用阿里云CLI調用OpenAPI

介紹使用阿里云CLI調用OpenAPI的具體操作流程&#xff0c;包括安裝、配置憑證、生成并調用命令等步驟。 方案概覽 使用阿里云CLI調用OpenAPI&#xff0c;大致分為四個步驟&#xff1a; 安裝阿里云CLI&#xff1a;根據您使用設備的操作系統&#xff0c;選擇并安裝相應的版本。…

K8S Svc Port-forward 訪問方式

在 Kubernetes 中&#xff0c;kubectl port-forward 是一種 本地與集群內資源&#xff08;Pod/Service&#xff09;建立臨時網絡隧道 的訪問方式&#xff0c;無需暴露服務到公網&#xff0c;適合開發調試、臨時訪問等場景。以下是詳細使用方法及注意事項&#xff1a; 1. 基礎用…

23、DeepSeek-V2論文筆記

DeepSeek-V2 1、背景2、KV緩存優化2.0 KV緩存&#xff08;Cache&#xff09;的核心原理2.1 KV緩存優化2.2 性能對比2.3 架構2.4多頭注意力 &#xff08;MHA&#xff09;2.5 多頭潛在注意力 &#xff08;MLA&#xff09;2.5.1 低秩鍵值聯合壓縮 &#xff08;Low-Rank Key-Value …

MySQL OCP試題解析(2)

試題如下圖所示&#xff1a; 一、題目背景還原 假設存在以下MySQL用戶權限配置&#xff1a; -- 創建本地會計用戶CREATE USER accountinglocalhost IDENTIFIED BY acc_123;-- 創建匿名代理用戶&#xff08;用戶名為空&#xff0c;允許任意主機&#xff09;CREATE USER % IDENTI…

深度學習Y7周:YOLOv8訓練自己數據集

&#x1f368; 本文為&#x1f517;365天深度學習訓練營中的學習記錄博客&#x1f356; 原作者&#xff1a;K同學啊 一、配置環境 1.官網下載源碼 2.安裝需要環境 二、準備好自己的數據 目錄結構&#xff1a; 主目錄 data images&#xff08;存放圖片&#xff09; annotati…

英偉達Blackwell架構重構未來:AI算力革命背后的技術邏輯與產業變革

——從芯片暴力美學到分布式智能體網絡&#xff0c;解析英偉達如何定義AI基礎設施新范式 開篇&#xff1a;當算力成為“新石油”&#xff0c;英偉達的“煉油廠”如何升級&#xff1f; 2025年3月&#xff0c;英偉達GTC大會上&#xff0c;黃仁勛身披標志性皮衣&#xff0c;宣布了…

CurrentHashMap的整體系統介紹及Java內存模型(JVM)介紹

當我們提到ConurrentHashMap時&#xff0c;先想到的就是HashMap不是線程安全的&#xff1a; 在多個線程共同操作HashMap時&#xff0c;會出現一個數據不一致的問題。 ConcurrentHashMap是HashMap的線程安全版本。 它通過在相應的方法上加鎖&#xff0c;來保證多線程情況下的…

Android開發-設計規范

在Android應用開發中&#xff0c;遵循良好的設計規范不僅能夠提升用戶體驗&#xff0c;還能確保代碼的可維護性和擴展性。本文將從用戶界面&#xff08;UI&#xff09;、用戶體驗&#xff08;UX&#xff09;、性能優化以及代碼結構等多個維度探討Android開發中的設計規范&#…

泛型加持的策略模式:打造高擴展的通用策略工具類

一、傳統策略模式的痛點與突破 1.1 傳統策略實現回顧 // 傳統支付策略接口 public interface PaymentStrategy {void pay(BigDecimal amount); }// 具體策略實現 public class AlipayStrategy implements PaymentStrategy {public void pay(BigDecimal amount) { /* 支付寶支…

物聯網從HomeAssistant開始

文章目錄 一、什么是home-assistant?1.核心架構2.集成架構 二、在樹梅派5上安裝home-assistant三、接入米家1.對比下趨勢2.手動安裝插件3.配置方式 四、接入公牛1.手動安裝插件2.配置方式 五、接入海爾1.手動安裝插件2.配置方式 六、接入國家電網 一、什么是home-assistant? …

系統架構-嵌入式系統架構

原理與特征 嵌入式系統的典型架構可概括為兩種模式&#xff0c;即層次化模式架構和遞歸模式架構 層次化模式架構&#xff0c;位于高層的抽象概念與低層的更加具體的概念之間存在著依賴關系&#xff0c;封閉型層次架構指的是&#xff0c;高層的對象只能調用同一層或下一層對象…

計算機圖形學編程(使用OpenGL和C++)(第2版)學習筆記 09.天空和背景

天空和背景 對于 3D 場景&#xff0c;通常可以通過在遠處的地平線附近創造一些逼真的效果&#xff0c;來增強其真實感。我們可以采用天空盒、天空柱&#xff08;Skydome&#xff09;或天空穹&#xff08;Skydome&#xff09;等技術來模擬天空。 天空盒 天空盒&#xff08;Sk…

【Leetcode 每日一題】1550. 存在連續三個奇數的數組

問題背景 給你一個整數數組 a r r arr arr&#xff0c;請你判斷數組中是否存在連續三個元素都是奇數的情況&#xff1a;如果存在&#xff0c;請返回 t r u e true true&#xff1b;否則&#xff0c;返回 f a l s e false false。 數據約束 1 ≤ a r r . l e n g t h ≤ 10…

面試題解析 | C++空類的默認成員函數(附生成條件與底層原理)

在C面試中&#xff0c;“空類默認生成哪些成員函數”是考察對象模型和編譯器行為的高頻題目。許多資料僅提及前4個函數&#xff0c;但完整的答案應包含6個核心函數&#xff0c;并結合C標準深入解析其生成規則與使用場景。 一、空類默認生成的6大成員函數 1. ?缺省構造函數? …

視頻編解碼學習7之視頻編碼簡介

視頻編碼技術發展歷程與主流編碼標準詳解 視頻編碼技術是現代數字媒體領域的核心技術之一&#xff0c;它通過高效的壓縮算法大幅減少了視頻數據的體積&#xff0c;使得視頻的存儲、傳輸和播放變得更加高效和經濟。從早期的H.261標準到最新的AV1和H.266/VVC&#xff0c;視頻編碼…