六个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.mzph.cn/diannao/44302.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

院内导航:如何用科技破解就医找路难题

自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年和今年一季度经营业绩有了更清晰的观察。 与此同时,东旭蓝天(下称)也收到了深交所的关注函。种种不利因素之下,上市…

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(数字证书认证机构)颁发的,能够让各个浏览器都能承认的…

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的缩…

迅狐矩阵系统:一键式剪辑神器,引领矩阵运营新潮流!

在数字化浪潮汹涌的当下,视频内容已经成为人们获取信息、娱乐休闲的重要方式。然而,面对海量的视频素材和日益增长的用户需求,如何高效、高质量地剪辑和分发视频内容,成为了摆在众多内容创作者和运营团队面前的难题。幸运的是&…

【单片机毕业设计选题24053】-基于单片机的WiFi控制门禁系统设计

系统功能: 系统上电后OLED显示智能门禁系统 Door:xxxxxx 初始化ESP8266完成后显示 Door:Closed 短按按键SW4可打开电磁锁OLED显示Door:Open,约五秒后电磁锁自动关闭OLED 显示Door:Closed 根据“TCP调试助手使用说明”操作, 在调试助手界面发送Open后…

商城源码从哪里找

商城源码可以从多个渠道获取,具体包括开源平台、专门的商城系统提供商、代码分享网站等。不同的渠道可能适合不同的需求和技术水平。下面将详细分析各个渠道的特点及优缺点: 开源平台 Gitee:Gitee是一个知名的代码托管平台,提供…

【VUE基础】VUE3第五节—核心语法之ref标签、props

ref标签 作用&#xff1a;用于注册模板引用。 用在普通DOM标签上&#xff0c;获取的是DOM节点。 用在组件标签上&#xff0c;获取的是组件实例对象。 用在普通DOM标签上&#xff1a; <template><div class"person"><h1 ref"title1">…

RDNet实战:使用RDNet实现图像分类任务(一)

论文提出的模型主要基于对传统DenseNet架构的改进和复兴&#xff0c;通过一系列创新设计&#xff0c;旨在提升模型性能并优化其计算效率&#xff0c;提出了RDNet模型。该模型的主要特点和改进点&#xff1a; 1. 强调并优化连接操作&#xff08;Concatenation&#xff09; 论文…

UML图书管理系统用例图示例

新书速览|《UML 2.5基础、建模与设计实践》新书速览|《UML 2.5基础、建模与设计实践 【例4.4】图书管理系统用例图。 图书管理系统按其业务功能分成借阅者管理、图书管理、借书、还书和用户管理等几部分&#xff0c;这些职能对应于系统的不同组织部门。 1&#xff09;系统参…

Actor-Critic 算法

在强化学习&#xff08;Reinforcement Learning, RL&#xff09;中&#xff0c;Actor-Critic 算法是一类强大的策略梯度方法&#xff0c;结合了策略&#xff08;Policy&#xff09;和价值函数&#xff08;Value Function&#xff09;两种方法的优点。本文将详细介绍 Actor-Crit…