跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方

有用的现代 Python 提示和技巧


HACK1949

推荐的帖子

有用的现代 Python 提示和技巧

b73c4b219359ec30e3b5c1475fa3d128.jpg

在这里,我提出了我最喜欢的新提示和技巧,甚至它们帮助我以快速且非常有效的方式正确编码。

1.Helper函数中yield的使用

屈服 肯定会节省时间,甚至几行代码。

好的,让我举一个返回平方数的函数示例。现在在这里,流程是这样的: 1. 遍历所有数字。 2. 对每个数字执行平方并将其附加到新变量 3. 最后我们需要返回该列表。

 def square_numbers(数字):  
 新号码 = []  
 对于数字中的数字:  
 squared_number = 数量*数量  
 new_numbers.append(squared_number) 返回 new_numbers

为了摆脱这些事情,让我在 屈服 关键词。

 def square_numbers(数字):  
 对于数字中的数字:  
 产量数*数

哇!现在我们的代码看起来很简单。现在让我们看看如何 屈服 作品。

据我们所知 返回 关键字返回值并停止函数。但是, 屈服 关键字连续返回值,但不会停止函数。有了这个 屈服 我们的函数成为生成器,它返回生成器函数。

 结果 = square_numbers(范围(1, 10))  
 打印(结果)#<generator object square_numbers at 0x7fa02dcc9360>  
 print(list(result)) # [1, 4, 9, 16, 25, 36, 49, 64, 81]

2. 条件检查的链式比较运算符

在我们的编码生活中,有一种情况我们需要比较值,很常见,比如 a < b 和 b < c .所以让我在python中给你一个更好的方法来让它更简单。

 n1 = 1  
 n2 = 5  
 n3 = 10number = (n1 < n2 和 n2

因此,运算符的链接使我们的开发人员生活更轻松。

3. 解构赋值

让我举一个使用解构赋值的最佳例子。假设我们想交换两个数字,那么我们使用第三个变量来交换这两个数字。

 n1 = 5  
 n2 = 10tmp = n1 # 将 n1 分配给 tmp  
 n1 = n2 # 将 n2 的值交换为 n1  
 n2 = tmp # 将 tmp(包含 n1 的值)交换为 n2

在 python 中,我们可以很容易地在一行代码中实现这一点

 n1 = 5  
 n2 = 10n1, n2 = n2, n1

这就是解构赋值的工作原理。

4. 列表推导

在 python 中,您只需一行代码即可遍历列表中存在的项目。

 numbers = [i for i in range(1, 10)]  
 print(numbers) # [1, 2, 3, 4, 5, 6, 7, 8, 9]----OR----numbers = []  
 对于范围内的 i (1, 10):  
 numbers.append(i)  
 print(numbers) # [1, 2, 3, 4, 5, 6, 7, 8, 9]

您还可以将此综合功能用于 字典 , 也是。

5. 使用 默认字典 在蟒蛇

首先让我们谈谈 字典 ,它存储在键值对中,并且键必须是不可变且唯一的。但是在字典中它们是一个问题,当我们尝试访问字典中不存在的键时,它会引发一个 键错误 错误,有时可能会成为问题。

所以为了克服这个问题,Python 支持其他类型的集合,即 默认字典 存在于 收藏品 模块。 默认字典 从不提高 键错误 而不是错误,它返回字典中不存在的键的默认值。

 from collections import defaultdictitems = defaultdict(list) # 声明语句  
 items["n1"] = 1 print(items["n1"]) # 输出:1  
 print(items["n2"]) # output: [] -> 这里 n2 键不存在

在上面的示例中,您可以看到,我们正在尝试访问密钥 n2 字典中不存在 项目 然后它也不会引发错误,而是返回空列表。

就这样, 我希望这些提示和技巧对您的代码有所帮助。感谢您的时间。

谢谢阅读。如果您觉得这篇文章有用,请不要忘记鼓掌并与您的朋友和同事分享。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/30282/22021208

链接帖子
意见的链接
分享到其他网站

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    • 最近浏览   0位会员

      • 没有会员查看此页面。
    ×
    ×
    • 创建新的...