返回顶部
首页 > 资讯 > 后端开发 > Python >Python有哪些隐藏技巧
  • 788
分享到

Python有哪些隐藏技巧

2023-07-06 02:07:54 788人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容主要讲解“python有哪些隐藏技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python有哪些隐藏技巧”吧!1. ... 对象没错,你没看错,就是 "..."在

本篇内容主要讲解“python有哪些隐藏技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Python有哪些隐藏技巧”吧!

1. ... 对象

没错,你没看错,就是 "..."

在Python中 ... 代表着一个名为 Ellipsis 的对象。根据官方说明,它是一个特殊值,通常可以作为空函数的占位符,或是用于Numpy中的切片操作。

如:

def my_awesome_function():...

等同于:

def my_awesome_function():Ellipsis

当然,你也可以使用pass或者字符串作为占位符:

def my_awesome_function():pass
def my_awesome_function():"An empty, but also awesome function"

他们最终的效果都是相同的。

接下来讲讲...对象是如何在Numpy中体现出作用的,创建一个 3x3x3 的矩阵数组,然后获取所有最内层矩阵的第二列:

>>> import numpy as np>>> array = np.arange(27).reshape(3, 3, 3)>>> arrayarray([[[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8]], [[ 9, 10, 11],[12, 13, 14],[15, 16, 17]], [[18, 19, 20],[21, 22, 23],[24, 25, 26]]])

为了获取最层矩阵的第二列,传统方法可能是这样的:

>>> array[:, :, 1]array([[ 1, 4, 7], [10, 13, 16], [19, 22, 25]])

如果你会用...对象,则是这样的:

>>> array[..., 1]array([[ 1, 4, 7], [10, 13, 16], [19, 22, 25]])

不过请注意, ... 对象仅可用于Numpy,不适用于Python内置数组。

2.解压迭代对象

解压迭代对象是一个非常方便的特性:

>>> a, *b, c = range(1, 11)>>> a1>>> c10>>> b[2, 3, 4, 5, 6, 7, 8, 9]

或者是:

>>> a, b, c = range(3)>>> a0>>> b1>>> c2

同理,与其写这样的代码:

>>> lst = [1]>>> a = lst[0]>>> a1>>> (a, ) = lst>>> a1

你不如跟解压迭代对象一样,进行更优雅的赋值操作:

>>> lst = [1]>>> [a] = lst>>> a1

虽然这看起来有点蠢,但就我个人来看,比前一种写法更优雅一些。

3.展开的艺术

数组展开有各种千奇百怪的姿势,比如说:

>>> l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]>>> flattened = [elem for sublist in l for elem in sublist]>>> flattened[1, 2, 3, 4, 5, 6, 7, 8, 9]

如果你对reduce和lambda有一定了解,建议使用更优雅的方式:

>>> from functools import reduce>>> reduce(lambda x,y: x+y, l)[1, 2, 3, 4, 5, 6, 7, 8, 9]

reduce和lambda组合起来,就能针对 l 数组内的每个子数组做拼接操作。

当然,还有更神奇的方式:

>>> sum(l, [])[1, 2, 3, 4, 5, 6, 7, 8, 9]>>> # 其实相当于 [] + [1, 2, 3] + [4, 5, 6] + [7, 8, 9]

没错,这样对二维数组做sum操作,就能使二维数组内的每个元素做“加”法拼接起来。

同样的道理,如果你对三位数组做sum操作,就能使其变为二维数组,此时再对二维数组做sum操作,就能展开为一维数组。

虽然这个技巧很出色,但我并不推荐使用,因为可读性太差了。

4.下划线 _ 变量

每当你在Python解释器,IPython或Django Console中运行表达式时,Python都会将输出的值绑定到 _ 变量中:

>>> nums = [1, 3, 7]>>> sum(nums)11>>> _11>>>

由于它是一个变量,你可以随时覆盖它,或像普通变量一样操作它:

>>> 9 + _20>>> a = _>>> a20

5.多种用途的else

很多人都不知道,else 可以被用于许多地方,除了典型的 if else, 我们还可以在循环和异常处理里用到它。

循环

如果需要判断循环里是否处理了某个逻辑,通常情况下会这么做:

found = Falsea = 0while a < 10:if a == 12:found = Truea += 1if not found:print("a was never found")

如果引入else,我们可以少用一个变量:

a = 0while a < 10:if a == 12:breaka += 1else:print("a was never found")
异常处理

我们可以在 try ... except ... 中使用 else 编写未捕获到异常时的逻辑:

In [13]: try:...: {}['lala']...: except KeyError:...: print("Key is missing")...: else:...: print("Else here")...:Key is missing

这样,如果程序没有异常,则会走else分支:

In [14]: try:...: {'lala': 'bla'}['lala']...: except KeyError:...: print("Key is missing")...: else:...: print("Else here")...:Else here

到此,相信大家对“Python有哪些隐藏技巧”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Python有哪些隐藏技巧

本文链接: https://lsjlt.com/news/357526.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python有哪些隐藏技巧
    本篇内容主要讲解“Python有哪些隐藏技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python有哪些隐藏技巧”吧!1. ... 对象没错,你没看错,就是 "..."在...
    99+
    2023-07-06
  • Python中的隐藏技巧有哪些
    这篇文章主要介绍了Python中的隐藏技巧有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中的隐藏技巧有哪些文章都会有所收获,下面我们一起来看看吧。1、功能属性这种 hack 类似于类和对象概念...
    99+
    2023-07-05
  • PS隐藏技巧有哪些
    这篇文章给大家分享的是有关PS隐藏技巧有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  1、版权信息嵌入图片  为了避免被盗图,现在很多摄影师在发布作品前都会打上自己的水印...
    99+
    2024-04-02
  • Mac隐藏技巧有哪些
    这篇文章主要介绍“Mac隐藏技巧有哪些”,在日常操作中,相信很多人在Mac隐藏技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mac隐藏技巧有哪些”的疑惑有所帮助!接...
    99+
    2023-04-22
    mac
  • Python中隐藏了哪些技巧
    这篇文章主要讲解了“Python中隐藏了哪些技巧”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中隐藏了哪些技巧”吧!1、使用re.DEBUG查看正则表达式的匹配过程正则表达式是P...
    99+
    2023-06-17
  • 实用的PS隐藏技巧有哪些
    这篇文章主要为大家展示了“实用的PS隐藏技巧有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“实用的PS隐藏技巧有哪些”这篇文章吧。  1、版权信息嵌入图片 ...
    99+
    2024-04-02
  • Python隐藏功能有哪些
    这篇文章主要为大家展示了“Python隐藏功能有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python隐藏功能有哪些”这篇文章吧。1. 比较运算符链接要检查a中的值是否在0到100的范围...
    99+
    2023-06-16
  • Python有哪些隐藏特性
    这篇文章主要讲解了“Python有哪些隐藏特性”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python有哪些隐藏特性”吧!案例一:案例二:案例三:很好理解, 对吧 说明:这些行为是由于 C...
    99+
    2023-06-02
  • Python隐藏的特性有哪些
    本篇内容主要讲解“Python隐藏的特性有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python隐藏的特性有哪些”吧!1...是的,你没看错,在Python中...是一个有效的构造。.....
    99+
    2023-06-15
  • Python技巧有哪些
    这篇文章主要讲解了“Python技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python技巧有哪些”吧!1. 列表理解列表理解可以代替丑陋的for循环来填充列表。列表理解的基本语...
    99+
    2023-06-15
  • Python中的隐藏彩蛋有哪些
    本篇内容介绍了“Python中的隐藏彩蛋有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、使用re.DEBUG查看正则表达式的匹配过程...
    99+
    2023-06-17
  • 值得收藏的CSS技巧有哪些
    这篇文章主要讲解了“值得收藏的CSS技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“值得收藏的CSS技巧有哪些”吧!1. 使用 Shape-outs...
    99+
    2024-04-02
  • Python的技巧有哪些
    本篇内容主要讲解“Python的技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python的技巧有哪些”吧!1、对输入的字符串“消毒”对用户输入的内容“消毒”,这问题几乎适用于你编写的...
    99+
    2023-06-15
  • 有哪些Python小技巧
    这篇文章主要讲解了“有哪些Python小技巧”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些Python小技巧”吧!集合开发人员常常忘记 Python 也有集合数据类型,大家都喜欢使用列...
    99+
    2023-06-15
  • 7个Python中的隐藏小技巧分享
    目录前言1、功能属性2、不完整代码的占位符3、 eval() 函数4、在 Python 解析器中使用以下命令启动文件托管服务器5、无限参数6、Zip() 方法7、旋转列表前言 Pyt...
    99+
    2023-03-20
    Python隐藏技巧分享 Python隐藏技巧 Python技巧
  • 有哪些有用的Python技巧
    本篇内容介绍了“有哪些有用的Python技巧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 函数连续调用def add(...
    99+
    2023-06-16
  • Python实用技巧有哪些
    这篇文章主要讲解了“Python实用技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python实用技巧有哪些”吧!整理字符串输入整理用户输入的问题在编程过程中极为常见。通常情况下,...
    99+
    2023-06-16
  • 好用Python技巧有哪些
    这篇文章主要介绍“好用Python技巧有哪些”,在日常操作中,相信很多人在好用Python技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”好用Python技巧有哪些”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-22
  • 写Python的技巧有哪些
    本篇内容主要讲解“写Python的技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“写Python的技巧有哪些”吧!1.导入模块你是不是经常对调用模块时输入一长串模块索引感到头疼?说实在的...
    99+
    2023-06-16
  • Python优秀技巧有哪些
    这篇文章主要介绍“Python优秀技巧有哪些”,在日常操作中,相信很多人在Python优秀技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python优秀技巧有哪些”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作