您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > Python

每个程序员都应该知道的高级 Python 技术

时间:2022-09-03 21:50:15  来源:  作者:qaseven
从面向对象编程到数据结构,这些 Python/ target=_blank class=infotextkey>Python 技巧将帮助您开发更有效和高效的代码。

 

Python 是一种多功能的编程语言,近年来越来越受欢迎。如果您希望以程序员的身份提升自己的游戏水平,那么您需要熟悉本文中介绍的一些高级技术。

这六个 Python 技巧将帮助您开发更有效和高效的代码,从面向对象的编程到数据结构。这些 Python技巧将帮助您开发更有效和高效的代码。

 

1. 给 Python 添加机器学习能力

 

为了在代码中实现 ML,您需要研究的两个值得注意的库示例是 TF 和 Pytorch——可以说是希望构建复杂强化学习应用程序的开发人员的首选。这两个库都提供快速的训练速度、模块化和易于使用的 API。

 

2. lambda

 

Lambda是每个程序员都应该知道的强大工具。它们通过将工作从函数调用中解脱出来,帮助您编写更简洁的代码。

它们在 Python 中定义如下: def lambda(args):...return result

这允许您通过从函数调用中提取工作来编写更短的代码。例如,以下以 lambda 形式编写的代码将等效于以下以函数形式编写的代码: def square(x):return x*x

这段更短的代码更容易阅读,也不那么混乱。它还可以轻松更改函数的行为,而无需更新调用它的所有代码。

例如,您可以编写一个计算数字平方并返回该值作为结果的 lambda。然后,您可以创建一个以数字为参数并计算该数字平方的新函数。

您所要做的就是将源代码中正方形的声明更改为使用 lambda 而不是函数。

 

3. 函数注解

 

为了提高 Python 代码的可读性和可维护性,您可以做的最重要的事情之一就是使用函数注释。函数注释是一种告诉 Python 解释器你正在编写什么类型的函数的方法,它们可以使你的代码更容易理解。

例如,您可以使用 @return 注释告诉 Python 函数将返回一个值。这个注解告诉 Python 函数应该返回一些 int 类型的东西。如果你不使用注解,Python 假定函数不会返回值。

另一个常见的注解是@param 注解。这个注解告诉 Python 哪些变量将作为参数传递给函数。你也可以使用这个注解来指定一个函数应该接收多少个参数。

function my_function(a, b) @return int def my_other_function(a, b, c) @param int 您还可以使用注解来指示应该从另一个文件调用一个函数。例如,您可能想从另一个模块调用一个函数。您可以使用 import 语句将模块包含在脚本文件中。

 

4. 自定义 Pprint 模块

 

Python 有一个非常棒的工具,叫做 Pprint 模块。该模块允许您以人类可读的格式显示 Python 对象。这在调试程序时非常有用。

假设您有一个函数,它接受一个名为 a 的输入参数。您可以使用 Pprint 模块在括号内显示 a.type 的内容。这是一个例子:

>>> import pprint >>> def show_a(a): ... print("Insideshow_a() : {0}".format(a.type)) ... Insideshow_a() : object

 

5. 创建自定义类型

 

Python 最强大的特性之一是它能够创建自定义类型。这允许您创建自己的对象类型,然后可以在您的程序中使用。

当您需要定义一种新的对象时,自定义类型非常有用。例如,您可能希望创建一个自定义类型来表示对象列表。这将允许您使用 Python 语法轻松地操作列表。

自定义类型的另一个常见用途是继承。当您创建从另一个类型继承的自定义类型时,您可以自动访问父类型的所有属性和方法。当您需要编写适用于多种类型对象的代码时,这很有帮助。

Python 还内置了对对象反射的支持。此功能允许您检查程序中任何对象的属性和方法。当您需要了解对象的工作原理或调试代码时,这会非常有用。

 

6. 在 Python 中处理异常

 

Python 标准库中有近 1,000 个函数,您很容易被要求的所有内容弄得不知所措。为了帮助缓解这个问题,Python 内置了异常,这使得处理错误更加可靠和容易。

这些是帮助您在编写代码时节省时间的有用工具,因为它们可以在任何可能的错误发生之前发现它们。Python 异常是用于在 Python 程序执行期间指示错误的对象。它们在 Python 的“异常”模块中定义。

执行 Python 程序时发生错误时会创建异常。最常见的异常类型是“错误”异常,当尝试对对象进行无效操作时会引发该异常。

其他异常包括“TypeError”,当值无法转换为预期类型时引发,以及“AttributeError”,当尝试访问给定对象上不存在的属性时引发。

为了使用异常,首先需要导入模块“异常”。然后,您可以使用异常对象来识别和处理错误。

例如,如果您尝试打印包含意外字符的字符串,您可能会引发错误。要捕获此错误并显示一个消息框,通知用户该问题,您可以使用内置函数“raise”:

>>> 提出“意外字符”

回溯(最近一次通话最后):

File "", line 1, in File ".py",

在 Python 中编程时应该考虑使用异常有几个原因。

首先,它们可以帮助避免崩溃和意外故障。如果引发异常,Python 通常会立即停止程序的执行并显示错误消息。这意味着您将始终知道出了什么问题,并可以采取适当的措施来防止将来出现问题。

其次,异常可用于捕获有关特定操作失败原因的特定信息。这有助于故障排除或更全面地理解代码库。例如,如果您尝试从磁盘读取文件但遇到 IOError 异常,则可以使用 exc_info() 函数获取有关问题的详细信息。

简而言之,异常在安全和调试方面提供了相当大的好处。所以在 Python 中编码时不要忘记它们!

尽情探索这些技术,看看你可以用 Python 做哪些令人惊奇的事情!



Tags:Python   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
大家好,我是皮皮。一、前言前几天在小小明大佬的Python交流群中遇到一个粉丝问了一个使用Python实现数理统计的实战问题,觉得还挺有用的,这里拿出来跟大家一起分享下。Excel数...【详细内容】
2022-11-03  Tags: Python  点击:(5)  评论:(0)  加入收藏
#安装数据库#根据数据用途选择MySQL\PostgreSQL\SQLite\MariaDB\MongoDB\clickhouse等数据库#本文以MySQL PostgreSQL 为例,其他类似。安装方法自行搜索,不在赘述。# -*- codi...【详细内容】
2022-11-01  Tags: Python  点击:(8)  评论:(0)  加入收藏
为什么叫猴子补丁?猴子补丁的这个叫法起源于Zope框架,大家在修正Zope的Bug的时候经常在程序后面追加更新部分,这些被称作是“杂牌军补丁(guerillapatch)”,后来guerilla就渐渐的...【详细内容】
2022-11-01  Tags: Python  点击:(6)  评论:(0)  加入收藏
一、前言前几天在Python钻石交流群【心田有垢生荒草】问了一个Python网络爬虫的问题,下图是截图:代码初步看上去好像没啥问题,但是结果就是不对,地图上显示的结果和网络爬虫抓到...【详细内容】
2022-10-31  Tags: Python  点击:(6)  评论:(0)  加入收藏
mport sysimport osfrom PyQt5 import QtWidgetsfrom PyQt5.QtGui import QIconimport xlrdimport datetimeimport timefrom openpyxl import Workbookfrom openpyxl.styles...【详细内容】
2022-10-26  Tags: Python  点击:(14)  评论:(0)  加入收藏
Python作为时下最热门的编程语言之一,有许多库资源。这么多资源,有哪些是程序员必备的Python库呢?老K根据了自己和身边程序员同事及朋友的经验,结合了Github上的star数据,汇总出...【详细内容】
2022-10-25  Tags: Python  点击:(18)  评论:(0)  加入收藏
参加数学建模比赛,需要明确的一点: 专业知识是一方面,不要单纯地以为把文章写好就能够拿奖; 软件的运用,文章的排版也很重要,排版美观,插图好看,讲事实摆道理通过仿真图,比如函数的拟...【详细内容】
2022-10-24  Tags: Python  点击:(2)  评论:(0)  加入收藏
来源丨网络前言在使用 Python 的早些年,为了解决 Python 包的隔离与管理 virtualenvwrapper 就成为我的工具箱中重要的一员。后来,随着 Python 3 的普及,virtualenvwrapper 逐...【详细内容】
2022-10-24  Tags: Python  点击:(4)  评论:(0)  加入收藏
案例需求:定义一个数字(1~10,随机产生),通过3次判断来猜出来数字 案例要求: 1.数字随机产生,范围1-10 2.有3次机会猜测数字,通过3层嵌套判断实现 3.每次猜不中,会提示大了或小了...【详细内容】
2022-10-24  Tags: Python  点击:(9)  评论:(0)  加入收藏
用python画不断增大的渐变色片状立体图形,源码解释如下:import turtle as t 调用turtle库import colorsys 调用颜色t.bgcolor("black") 设置背景颜色t.tracer(100) 设置追踪频...【详细内容】
2022-10-24  Tags: Python  点击:(11)  评论:(0)  加入收藏
▌简易百科推荐
大家好,我是皮皮。一、前言前几天在小小明大佬的Python交流群中遇到一个粉丝问了一个使用Python实现数理统计的实战问题,觉得还挺有用的,这里拿出来跟大家一起分享下。Excel数...【详细内容】
2022-11-03  Python进阶学习交流  今日头条  Tags:Python   点击:(5)  评论:(0)  加入收藏
#安装数据库#根据数据用途选择MySQL\PostgreSQL\SQLite\MariaDB\MongoDB\clickhouse等数据库#本文以MySQL PostgreSQL 为例,其他类似。安装方法自行搜索,不在赘述。# -*- codi...【详细内容】
2022-11-01  Pgabc    Tags:Python   点击:(8)  评论:(0)  加入收藏
为什么叫猴子补丁?猴子补丁的这个叫法起源于Zope框架,大家在修正Zope的Bug的时候经常在程序后面追加更新部分,这些被称作是“杂牌军补丁(guerillapatch)”,后来guerilla就渐渐的...【详细内容】
2022-11-01  VT漫步  今日头条  Tags:Python   点击:(6)  评论:(0)  加入收藏
一、前言前几天在Python钻石交流群【心田有垢生荒草】问了一个Python网络爬虫的问题,下图是截图:代码初步看上去好像没啥问题,但是结果就是不对,地图上显示的结果和网络爬虫抓到...【详细内容】
2022-10-31  Python进阶者    Tags:Python   点击:(6)  评论:(0)  加入收藏
mport sysimport osfrom PyQt5 import QtWidgetsfrom PyQt5.QtGui import QIconimport xlrdimport datetimeimport timefrom openpyxl import Workbookfrom openpyxl.styles...【详细内容】
2022-10-26  张先生870707  今日头条  Tags:Python   点击:(14)  评论:(0)  加入收藏
学习目标 了解分类器的任务和数据样式 掌握如何用Pytorch实现一个分类器分类器任务和数据介绍 构造一个将不同图像进行分类的神经网络分类器, 对输入的图片进行判别并完成分...【详细内容】
2022-10-25  传智教育官方账号  今日头条  Tags:Pytorch实   点击:(11)  评论:(0)  加入收藏
Python作为时下最热门的编程语言之一,有许多库资源。这么多资源,有哪些是程序员必备的Python库呢?老K根据了自己和身边程序员同事及朋友的经验,结合了Github上的star数据,汇总出...【详细内容】
2022-10-25  老K玩代码  今日头条  Tags:Python库   点击:(18)  评论:(0)  加入收藏
参加数学建模比赛,需要明确的一点: 专业知识是一方面,不要单纯地以为把文章写好就能够拿奖; 软件的运用,文章的排版也很重要,排版美观,插图好看,讲事实摆道理通过仿真图,比如函数的拟...【详细内容】
2022-10-24  思铺学院    Tags:数学建模   点击:(2)  评论:(0)  加入收藏
案例需求:定义一个数字(1~10,随机产生),通过3次判断来猜出来数字 案例要求: 1.数字随机产生,范围1-10 2.有3次机会猜测数字,通过3层嵌套判断实现 3.每次猜不中,会提示大了或小了...【详细内容】
2022-10-24  念兮暮霞如烟    Tags:python   点击:(9)  评论:(0)  加入收藏
用python画不断增大的渐变色片状立体图形,源码解释如下:import turtle as t 调用turtle库import colorsys 调用颜色t.bgcolor("black") 设置背景颜色t.tracer(100) 设置追踪频...【详细内容】
2022-10-24   嘻呱嘻呱大又圆     Tags:python   点击:(11)  评论:(0)  加入收藏
站内最新
站内热门
站内头条