Python關鍵字梳理

在 Python 中,關鍵字(Keywords)是具有特殊含義的保留字,它們用于定義語法和結構。async 是 Python 3.5 引入的關鍵字,用于支持異步編程(Asynchronous Programming)。下面我將詳細講解 async 及其他一些常見關鍵字的用法,并通過代碼示例幫助你理解。


1. asyncawait(異步編程)

用于編寫異步代碼(基于 asyncio 庫),提高 I/O 密集型任務的效率。

async
  • 用于聲明一個函數為異步函數(協程函數)。
  • 異步函數調用時不會立即執行,而是返回一個協程對象。
await
  • 用于掛起當前協程,等待另一個協程完成。
示例:
import asyncioasync def fetch_data():print("開始獲取數據...")await asyncio.sleep(2)  # 模擬I/O操作(如網絡請求)print("數據獲取完成")return {"data": 123}async def main():task = asyncio.create_task(fetch_data())  # 創建任務print("其他操作...")result = await task  # 等待任務完成print("結果:", result)asyncio.run(main())  # 運行入口

輸出:

其他操作...
開始獲取數據...
數據獲取完成
結果: {'data': 123}

2. def(定義函數)

用于定義普通函數或方法。

def greet(name):return f"Hello, {name}!"

3. class(定義類)

用于創建類(面向對象編程)。

class Dog:def __init__(self, name):self.name = namedef bark(self):print("Woof!")

4. if/elif/else(條件判斷)

age = 18
if age < 13:print("兒童")
elif age < 20:print("青少年")
else:print("成人")

5. forwhile(循環)

  • for 用于迭代序列:
    for i in range(3):print(i)  # 輸出 0, 1, 2
    
  • while 用于條件循環:
    count = 0
    while count < 3:print(count)count += 1
    

6. breakcontinue(循環控制)

  • break:退出當前循環。
  • continue:跳過當前迭代。
for i in range(5):if i == 2:continue  # 跳過2if i == 4:break    # 終止循環print(i)     # 輸出 0, 1, 3

7. try/except/finally(異常處理)

try:1 / 0
except ZeroDivisionError:print("不能除以零!")
finally:print("無論是否出錯都會執行")

8. with(上下文管理器)

用于資源管理(如文件操作)。

with open("file.txt", "r") as f:content = f.read()  # 文件會自動關閉

9. lambda(匿名函數)

定義簡單的單行函數。

square = lambda x: x ** 2
print(square(3))  # 輸出 9

10. yield(生成器函數)

用于生成迭代器,逐步返回值。

def count_up_to(n):for i in range(n):yield i  # 每次迭代返回一個值for num in count_up_to(3):print(num)  # 輸出 0, 1, 2

11. globalnonlocal(變量作用域)

  • global:聲明全局變量。
    x = 10
    def change_x():global xx = 20
    change_x()
    print(x)  # 輸出 20
    
  • nonlocal:修改嵌套函數中的變量(Python 3+)。
    def outer():y = 1def inner():nonlocal yy = 2inner()print(y)  # 輸出 2
    

12. importfrom(模塊導入)

import math
from datetime import datetime

總結

  • async/await:異步編程的核心,適合網絡請求、文件讀寫等高延遲任務。
  • 其他關鍵字(如 def, class, if)是 Python 基礎語法的基石。
  • 理解關鍵字的作用能幫助你寫出更高效、更清晰的代碼。

如果有其他關鍵字需要詳細解釋,可以告訴我!

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

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

相關文章

結構體實戰:用Rust編寫矩形面積計算器

文章目錄結構體實戰&#xff1a;用Rust編寫矩形面積計算器&#x1f4d0; 問題描述1?? 基礎版&#xff1a;獨立變量&#xff08;混亂版&#xff09;2?? 進階版&#xff1a;使用元組3?? 終極版&#xff1a;使用結構體&#xff08;優雅版&#xff09;&#x1f3af; 運行結果…

基于開源鏈動2+1模式AI智能名片S2B2C商城小程序的場景零售創新研究

摘要&#xff1a;本文聚焦場景消費邏輯&#xff0c;探討開源鏈動21模式AI智能名片S2B2C商城小程序在場景零售中的應用。通過分析場景消費中消費者體驗的關鍵作用&#xff0c;結合該技術組合的特性&#xff0c;闡述其如何優化場景內容、增強場景美感&#xff0c;為消費者創造超乎…

新發布:26考研院校和專業大綱

復習方向錯了&#xff0c;努力可能白費 近日&#xff0c;多所高校陸續發布2026年碩士研究生招生考試自命題科目大綱&#xff0c;為備考的學子們指明了復習方向。今年的考綱有哪些重要變化&#xff1f;又該如何應對&#xff1f;本文為你全面梳理&#xff01; 院校和專業發布詳情…

matlab/Simulink-全套50個汽車性能建模與仿真源碼模型9

50個simulink模型&#xff08;所有模型羅列如下&#xff0c;沒羅列就是沒有&#xff0c;包含子模塊總共50個。&#xff09; 基于汽車驅動力-行駛阻力平衡圖的汽車動力性仿真模型 基于汽車動力特性圖的汽車動力性仿真模型 基于汽車功率平衡圖的汽車動力性仿真模型 電動汽車動力…

為什么星敏感器(Star Tracker)需要時間同步?—— 從原理到應用的全解析

為什么星敏感器&#xff08;Star Tracker&#xff09;需要時間同步&#xff1f;—— 從原理到應用的全解析 引言 在衛星姿態控制系統中&#xff0c;星敏感器&#xff08;Star Tracker, 簡稱“星敏”&#xff09; 是最精確的姿態測量設備之一&#xff0c;其精度可達角秒級&…

【Cocos TypeScript 零基礎 24.1】

目錄 首次實戰開發心得實戰項目<修仙錄游戲> 首次實戰開發心得 遇到的技術問題也多 發表問題也不少 收入問題 本人都將會寫篇專欄總結一下 實戰項目<修仙錄游戲> 上圖是已上線的實戰項目二維碼 耗費的時間太久了 下次將跟新開發遇到的各種奇奇怪怪的問題 各位看…

Linux關機指令詳解:shutdown命令的使用指南

掌握shutdown命令的正確使用對于Linux系統管理員至關重要&#xff0c;它不僅能確保系統安全關閉&#xff0c;還能避免數據丟失和用戶工作中斷。 目錄 一、基本語法 二、常用選項 三、使用示例 立即關機 10分鐘后關機 指定時間關機&#xff08;如23:00&#xff09; 重啟系…

青少年編程與數學 02-022 專業應用軟件簡介 08 電子設計自動化軟件

青少年編程與數學 02-022 專業應用軟件簡介 08 電子設計自動化軟件一、什么是EDA軟件&#xff08;一&#xff09;定義與起源&#xff08;二&#xff09;功能與分類&#xff08;三&#xff09;技術發展趨勢二、EDA軟件在當前國際競爭中的重要性&#xff08;一&#xff09;技術壁…

TypeScript系列:第六篇 - 編寫高質量的TS類型

掌握這些&#xff0c;ts類型聲明事半功倍 &#x1f4aa;&#x1f3fb; 不要做 永遠不要使用類型 Number、String、Boolean、Symbol 或 Object 這些類型指的是非原始裝箱對象&#xff0c;使用 number、string、boolean 和 symbol 類型不要使用 any 作為類型&#xff0c;除非正在…

逐步構建高性能http服務器及聊天室服務器

目錄 如何拿到瀏覽器發來的http請求 如何給瀏覽器發送響應 響應基本原理 給瀏覽器發送一個網頁作為響應 給瀏覽器發送一個圖片作為響應 接下來我們要做什么 完善業務邏輯 瀏覽器如何訪問特定文件 訪問根目錄下的文件 訪問子文件夾下的文件 習慣性目錄結構 GET請求帶…

水下航行器外形分類詳解

在水下航行器的設計領域&#xff0c;外形是影響其性能和功能的關鍵因素之一。根據不同的設計目的和應用場景&#xff0c;水下航行器的外形可以按照多種方式進行分類。 本文將詳細介紹幾種常見的分類方式及其對應的外形特點。 按流體動力布局分類 標準回轉體 外形標準回轉體外…

Ubuntu:Mysql服務器

mariadb與mysql完全兼容&#xff0c;使用時感受不到差別 目錄 1 mariadb的安裝2 啟動mysql3 關閉防火墻4 連接到mysql5 Mysql的配置文件6 Mysql遠程訪問 1 mariadb的安裝 apt install mariadb-server檢查安裝 ls /etc/init.d2 啟動mysql service mysql restart3 關閉防火墻…

使用systemd 監控服務并實現故障自動重啟

一、為什么需要自動重啟&#xff1f; 在生產環境中&#xff0c;服務可能因內存溢出、資源競爭、外部依賴中斷等問題意外崩潰。手動恢復效率低下&#xff0c;而 systemd 的自動重啟機制可在秒級內恢復服務&#xff0c;顯著提升系統可用性。 ?? 二、systemd 自動重啟的核心配置…

在 React 中使用 WebSockets 構建實時聊天應用程序

實時通信已成為現代 Web 應用程序&#xff08;尤其是在聊天應用程序中&#xff09;不可或缺的功能。實時通信提供了一種強大的方法來實現客戶端和服務器之間的實時雙向通信。在本指南中&#xff0c;我們將逐步講解如何使用React WebSockets構建實時聊天應用程序。 先決條件 在…

實驗五-Flask的簡易登錄系統

一、實驗目的和任務 1.掌握Flask框架的基本使用方法 2.理解Web應用的會話管理機制 3.實現用戶認證系統的基本功能 4.學習模板繼承和表單處理技術 要求&#xff1a;請將思考題的答案寫在實驗報告中 二、實驗內容 1.基礎環境搭建&#xff1a;創建項目目錄結構、安裝必要依賴包…

WebSocket類明明注入了Bean,為什么報錯為null

在 WebSocket 類中注入 Bean 看似可行而注入 Bean 報錯為null&#xff0c;通常是由于Spring 的單例管理機制與 WebSocket 多實例創建特性沖突導致的&#xff0c;具體分析如下&#xff1a;原因分析Spring 的單例特性&#xff1a;Spring 默認以單例模式管理 Bean&#xff0c;即一…

Python 爬蟲開發指南:從基礎到實戰

在大數據時代&#xff0c;數據成為了寶貴的資源。Python 爬蟲作為高效獲取網絡數據的工具&#xff0c;受到越來越多開發者的關注。本文將詳細介紹 Python 爬蟲的相關知識&#xff0c;助你快速入門并掌握爬蟲開發的核心要點。 一、Python 爬蟲概述 Python 爬蟲&#xff0c;即網…

99、git 超時問題

報錯&#xff1a; Push failed ssh: connect to host github.com port 22: Connection timed out Could not read from remote repository

CountDownLatch 詳細介紹

CountDownLatch 是 Java 中 java.util.concurrent 包提供的一個同步工具類&#xff0c;用于協調多個線程之間的執行順序。它允許一個或多個線程等待&#xff0c;直到其他線程完成一組操作后繼續執行。CountDownLatch 是一種倒計數鎖存器&#xff0c;通過設置一個初始計數器值&a…

Hadoop之HDFS

Hadoop之HDFS HDFS的Shell操作 啟動Hadoop集群(方便后續測試) [atguigu@hadoop102 ~]$ sbin/start-dfs.sh [atguigu@hadoop102 ~]$ sbin/start-yarn.sh-help:輸出這個命令參數 [atguigu@hadoop102 ~]$ hadoop fs -help rm-ls:顯示目錄信息 [atguigu@hadoop102 ~]$ hadoop …