六個Python實用技巧,大幅提升你的編程效率!

關注+星標,每天學習Python新技能

Python作為當下最流行的編程語言之一,以其簡潔易懂的語法和強大的第三方庫支持,深受開發者的喜愛。在實際開發中,掌握一些實用的Python小技巧,可以大大提升編程效率和代碼質量。

本文將介紹6個Python編程的實用小技巧,幫助你更好地利用Python進行開發。

一、異常處理

異常處理是編程中不可或缺的一部分,Python提供了try-except結構來處理運行時錯誤。

try:  result = 10 / 0  \# 這將引發一個ZeroDivisionError  
except ZeroDivisionError:  print("除數不能為0!")  
\# 輸出: 除數不能為0!

上述代碼嘗試執行一個除以零的操作,這在數學上是無法計算的。通過使用try-except塊,我們可以優雅地捕獲這個異常,并打印出一個友好的錯誤消息。

二、列表推導式

列表推導式是Python中生成列表的一種簡潔方式,如果使用得當,它可以提高我們代碼的運行速度,并減少代碼量。

squares = \[x\*\*2 for x in range(10)\]  
print(squares) \# 輸出: \[0, 1, 4, 9, 16, 25, 36, 49, 64, 81\]

這段代碼使用列表推導式生成了一個包含0到9的平方的列表。

三、正則表達式

正則表達式是處理字符串的強大工具。Python的re模塊提供了正則表達式的功能

import re  
text = "Hello, my phone number is 123-4567-8901"    
match = re.search(r'\\d{3}-\\d{4}-\\d{4}', text)  
if match:  print("Phone number found:", match.group()) \# 輸出: Phone number found: 123-4567-8901

這段代碼使用正則表達式查找字符串中的電話號碼格式,將字符串中包含的電話號碼找出來,并用橫線連接,輸出結果如下:

四、網頁爬蟲

Python有多種實現爬蟲的方法,我給大家介紹的是利用Beautiful Soup來實現爬蟲功能。

首先我們在記事本(txt文檔)里面輸入HTML代碼構造一個測試網頁(具體的HTML代碼可以在公眾號后臺索取)。

保存之后,將名稱的后綴改為.html:

然后直接雙擊打開,或用瀏覽器將其打開,即可看到測試網頁的內容:

接下來我們用爬蟲代碼來爬取網頁信息:

from bs4 import BeautifulSoup  
with open('測試網頁.html', 'r', encoding='utf-8') as file:  content = file.read()  
soup = BeautifulSoup(content, 'html.parser')  
print(soup.text)

可以看到測試網頁的信息被我們完整的爬取下來了。

五、Lambda函數

Lambda函數是一種簡潔的匿名函數。

add = lambda x, y: x + y  
print(add(5, 3)) \# 輸出: 8

這段代碼定義了一個簡單的Lambda函數,用于計算兩個數的和。

當我們將lambda函數與pandas結合使用時,可以充分利用pandas的矢量操作,完成許多定制化任務,提高程序運行效率。

六、簡單的統計圖

使用matplotlib庫可以輕松創建常用的統計圖或特殊類型的圖。

import matplotlib.pyplot as plt  
data = \[1, 2, 3, 4, 5\]  
plt.bar(range(len(data)), data)  
plt.show()

這段代碼使用matplotlib創建了一個簡單的條形圖。我們也可以繪制出漂亮的心形曲線:

import numpy as np  
import matplotlib.pyplot as plt  \# 定義心形函數  
def heart(t):  x = 16 \* np.sin(t) \*\* 3  y = 13 \* np.cos(t) - 5 \* np.cos(2 \* t) - 2 \* np.cos(3 \* t) - np.cos(4 \* t)  return x, y  t = np.linspace(0, 2 \* np.pi, 1000)  
x, y = heart(t)  
plt.figure()  
plt.plot(x, y, 'r-')  
plt.xlim(\-20, 20)  
plt.title('Heart Curve')  
plt.grid(True)  
plt.show()

十幾行代碼,就可以畫出漂亮的心形曲線了:

Python提供了許多實用的編程技巧,這些技巧可以幫助你編寫更簡潔、更高效的代碼

從異常處理到正則表達式,再到數據可視化和高效的數據結構,掌握這些小技巧將使你的Python編程之旅更加順暢。

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

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

相關文章

網絡安全筑基篇——XSS、XML、XXE

目錄 前言 什么是XSS? XSS的類型有哪些? 反射型 存儲型 DOM型 XSS原理 XSS修復建議 繞過 XSS與CSRF與SSRF漏洞區別 XML是什么? XXE是什么? XXE漏洞的觸發點 XXE的原理 XXE的危害有哪些? 1、敏感數據泄露…

院內導航:如何用科技破解就醫找路難題

自2019年開始“院內導航”被納入醫院智慧服務評估體系以來,到2023年改善就醫服務升級的部署,每一步都見證了我國醫療衛生體系向智能化、人性化邁進的堅實步伐。 面對龐大復雜的醫院環境與日益增長的就診需求,如何讓患者在茫茫人海中迅速找到就…

CSDN回顧與前行:我的創作之旅——2048天的技術成長與感悟

CSDN回顧與前行:我的創作之旅——2048天的技術成長與感悟 💖The Begin💖點點關注,收藏不迷路💖 前言 時光荏苒,歲月如梭。轉眼間,從我在CSDN上寫下第一篇技術博客《2-6 帶頭結點的鏈式表操作集…

Springcloud雙重預防管理體系平臺危險作業票子系統-計算機畢業設計源碼48672

摘 要 隨著企業生產規模的擴大和生產技術的提高,雙重預防管理體系逐漸成為企業安全生產的重要手段。在雙重預防管理體系中,危險作業票管理是其中的關鍵環節之一,對于預防生產事故和保障生產安全具有重要作用。 為了更好地管理危險作業票&…

移動應用:商城購物類,是最常見的,想出彩或許就差靈犀一指

在移動應用中,商城購物類的非常常見,模式也非常成熟,想要設計的出彩也是有難度的,這次分享一些不同的。

C語言之Const關鍵字與指針

目錄 1 前言2 變量與指針的儲存方式3 const int *var;int *const var;const int *const var;理解與區分4 總結 1 前言 實際開發過程中經常遇到const關鍵字作用于指針的情況,例如:const int *var;int *const var;const…

Linux開發板(正點原子阿爾法_IMX6U)QT5.12.9交叉編譯到ARM開發板(已解決)

問題記錄:Qt下ctrlR直接構建項目,然后在build-01_led-Desktop_Qt_5_12_9_GCC_64bit-Debugz中將構建的執行文件,scp到ARM開發板下,發現通過指令./01_led后出現以下報錯。 問題原因:因為Qt構建默認使用的是64bit的gcc&am…

群輝NAS同步Android手機日歷日程

目錄 一、安裝套件 二、手機導出日歷日程 三、NAS套件導入日歷 四、獲得DAVx5登陸鏈接 五、手機配置 六、驗證 上一篇文章我們解決了Android手機與群輝NAS的通訊錄的同步,這期我們說說如何同步Android手機的日歷中的日程到群輝NAS。 看過上篇文章的伙伴知道,Android需要…

深入了解Rokid UXR2.0 SDK內置的Unity AR Glass開發組件

本文將了解到Rokid AR開發組件 一、RKCameraRig組件1.腳本屬性說明2.如何使用 二、PointableUI組件1.腳本屬性說明2.如何使用 三、PointableUICurve組件1.腳本屬性說明2.如何使用 四、RKInput組件1.腳本屬性說明2.如何使用 五、RKHand組件1.腳本屬性說明2.如何使用3.如何禁用手…

東旭藍天被控股股東占用78億:近七年業績奇差,或面臨退市

《港灣商業觀察》施子夫 張楠 在7月5日一口氣發了超過30份公告后,終于讓投資者對于東旭藍天2023年和今年一季度經營業績有了更清晰的觀察。 與此同時,東旭藍天(下稱)也收到了深交所的關注函。種種不利因素之下,上市…

Angular路由 屬性的學習

canActivate屬性 在Angular中,canActivate 是路由守衛(Route Guards)的一種,用于控制用戶對特定路由的訪問權限。路由守衛是Angular路由系統中的一個功能,它們可以在路由激活之前執行自定義邏輯,以決定是否…

AMEYA360:國民技術推出多款高能專用MCU產品

2024年7月8日,國民技術推出多款高能專用MCU產品。N32H482(通用控制)、N32H487(高性能互聯)、N32GH473(電機控制)、N32H474(數字電源控制)四大系列高性能MCU新品,以及基于Arm Cortex M0內核實現的N32G052系列高性價比通用MCU新品。 全新一代高性能MCU新品…

android13 rom frameworks 藍牙自動接收文件

總綱 android13 rom 開發總綱說明 目錄 1.前言 2.源碼查找 3.我們先實現第一種改法 4.實現第二種改法 5.第三種改法代碼參考 6.編譯測試 1.前言 我們從導航欄這里,點開這個藍牙的接收框,彈出來的對話框,使用android studio 的layout inspector可以發現這個是 Bluetoo…

Linux之免費證書工具certbot安裝和使用

一、cerbot簡介 Certbot是一個免費的開源軟件工具,用于在手動管理的網站上自動使用Let’s Encrypt證書以啟用HTTPS。要想讓自己的網站啟用https協議,需要一個由CA(數字證書認證機構)頒發的,能夠讓各個瀏覽器都能承認的…

【ROS 快速解決】launch 文件編寫

通過launch文件以及roslaunch命令可以一次性啟動多個節點&#xff0c;并且可以設置豐富的參數 通常存放路徑&#xff1a;工作空間目錄 / launch / xxx.launchlaunch 文件本質是一個 xml 類型的文件&#xff0c;基本格式如下<launch> <node .../> ## 最重要的標簽 …

強化OT安全英國發布工控網絡事件響應實踐指南

該安全機構指出&#xff0c;OT/ICS網絡的運行方式與傳統的IT網絡存在諸多關鍵差異。 盡管保護數據的機密性是IT網絡的主要目標&#xff0c;但OT安全更側重于維護設備的可用性和完整性&#xff0c;而非數據訪問。RITICS解釋道&#xff1a;“網絡事件響應計劃應兼顧IT和ICS/OT系…

Spring Web MVC入門(1)(建立連接)

一.什么是Spring Web MVC? Spring Web MVC是基于ServletAPI構建的原始Web框架,從一開始就包含在Spring框架中.它的正式名稱"Spring Web MVC"來自其源模塊的名稱(Spring-webmvc),但它通常被稱為"Spring MVC". 二.MVC的定義 MVC是Model View Controller的縮…

迅狐矩陣系統:一鍵式剪輯神器,引領矩陣運營新潮流!

在數字化浪潮洶涌的當下&#xff0c;視頻內容已經成為人們獲取信息、娛樂休閑的重要方式。然而&#xff0c;面對海量的視頻素材和日益增長的用戶需求&#xff0c;如何高效、高質量地剪輯和分發視頻內容&#xff0c;成為了擺在眾多內容創作者和運營團隊面前的難題。幸運的是&…

MySQL 日志深度解析:從查詢執行到性能優化

引言 MySQL 日志是數據庫管理員和開發者的寶貴資源&#xff0c;它提供了查詢執行的詳細情況&#xff0c;幫助我們診斷問題和優化性能。本文將深入分析一個具體的 MySQL 日志條目&#xff0c;解釋其含義&#xff0c;并提供針對性的優化建議。 日志信息概覽 讓我們先來快速了解…

【單片機畢業設計選題24053】-基于單片機的WiFi控制門禁系統設計

系統功能: 系統上電后OLED顯示智能門禁系統 Door:xxxxxx 初始化ESP8266完成后顯示 Door:Closed 短按按鍵SW4可打開電磁鎖OLED顯示Door:Open&#xff0c;約五秒后電磁鎖自動關閉OLED 顯示Door:Closed 根據“TCP調試助手使用說明”操作&#xff0c; 在調試助手界面發送Open后…