文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python的8个语法分别是什么

2023-06-05 01:00

关注

Python的8个语法分别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

那作为通用编程语言,Python为何更胜一筹?

近年来,Python 更是横扫了各大语言排行榜。在世界脚本语言排行榜中,Python 强势登顶;在 TIOBE 编程语言排行榜中,Python 地位也在逐月攀升,越来越受广大开发者的欢迎。对比长盛不衰的 Java、C、C++,后起之秀 Python 深受好评。

Python的8个语法分别是什么

在 TIOBE 编程语言排行榜中,Python 也紧随 Java、C、之后,在开发者最喜爱的编程语言中位居第三名。

同样作为通用编程语言,不可避免要分出个一二三四来。那么 Java、C、C++ 以及 Python 比起来,谁能独领风骚?谁又略输一筹?

虽然目前来讲,Java 语言仍然傲视群雄,但是通过以上的对比可以发现,即使与 Java、C、C++ 这三个老牌语言相比,Python 也显得游刃有余,甚至隐隐有后来居上的意味。

所以,进入2018年之后,Python几乎成为编程语言界的"网红",无论是使用人数还是受欢迎程度,都在各项榜单中飙升。5月,Python在PYPL指数榜中的超越Java,首次夺冠。

如果把PYPL编程语言人气指数的时间轴拉长,Python在近十几年的时间里,几乎一直都是"牛市"。

我们都知道Python容易入门且用途广泛,同时我们也可以用Python做一些意想不到的事情……这篇文章的目的在于帮助小伙伴们全面了解Python,仅此而已……

下面,我就来介绍下鲜为人知的一些Python语法:(这些代码玩玩就好,不要在线上写这样的代码,切记,切记.)

使用 lambda 表达式重写多行函数

众所周知 python 的 lambda 表达式不支持多行代码。但是可以模拟出多行代码的效果。

Python的8个语法分别是什么

虽然看起来很奇怪,但是上面的函数可以使用下面的 lambda 表达式函数代替:

Python的8个语法分别是什么

始终记着,永远别在生产环境写这样的代码 :)不然会被打死。

替换方法字节码

Python 阻止替换类实例中的方法,因为 python 给类实例中的方法赋予了只读属性:

Python的8个语法分别是什么

但是可以在字节码的层面上进行替换:

Python的8个语法分别是什么

注意! 这不仅对当前的实例有影响,而且对整个类都有影响(准确的说是与这个类绑定的函数)(译者注:此处应该是笔误,推测作者原意是:准确的说是与这个函数绑定的所有类),并且所有其他的实例也会受到影响:

Python的8个语法分别是什么

三元运算符

现代的 python 提供了更简便的语法:

b if a else c

也可以通过下面的方式重写:

(a and [b] or [c])[0](b, c)[not a]

顺便说一下,下面的变体是错误的:

a and b or cTrue and [] or [1] -> [1], but: [] if True else [1] -> []

通过列表推导式移除重复的元素.

让我们来把字符串 x = 'tteesstt' 转换成 'test' 吧。

在原字符串中和上一个字符比较:

''.join(['' if i and j == x[i-1] else j for i,j in enumerate(x)])

把前一个字符保存到临时变量中:

Python的8个语法分别是什么

在新字符串中和上一个字符比较:

[(not r.endswith(i) and [r for r in [r+i]], r)[-1] for r in [''] for i in x][-1]

通过 reduce 函数和 lambda 表达式:

reduce(lambda a, b: a if a.endswith(b) else a + b, x)

通过列表推导式获得斐波拉契数列

把中间值保存在列表中

Python的8个语法分别是什么

把中间值保存到字典中:

Python的8个语法分别是什么

通过 reduce 函数和 lambda 表达式:

Python的8个语法分别是什么

速度最快的变体:

Python的8个语法分别是什么

使用列表推导式产生死循环

[a.append(b) for a in [[None]] for b in a]

列表切片技巧

复制列表:

Python的8个语法分别是什么

移除/替换 列表中的任意元素:

Python的8个语法分别是什么

在列表的开头添加元素:

Python的8个语法分别是什么

在列表的尾部添加元素:

Python的8个语法分别是什么

反转列表:

Python的8个语法分别是什么

让可变元素作为函数参数默认值

把可变对象作为函数参数的默认值是非常危险的一件事,并且在面试中有大量关于这方面棘手的面试问题。但这一点对于缓存机制非常有帮助。

阶乘函数:

Python的8个语法分别是什么

斐波拉契数列:

Python的8个语法分别是什么

总结:

Python由于语法简洁,功能强大,且在人工智能、大数据方面展现出效率优势,越来越受到欢迎。

Python把其他语言做了一个封装,调用其他语言做的包。很多的数据科学家其实是不希望学习过于复杂的编程语言的。把他们关于数据方面处理的智慧封装起来,通过Python来调用,这样会方便很多。这也是为什么Python这几年这么流行的原因。

关于Python的8个语法分别是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯