温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python的8个语法分别是什么

发布时间:2021-12-04 10:21:26 来源:亿速云 阅读:146 作者:柒染 栏目:网络管理

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语法:(这些代码玩玩就好,不要在线上写这样的代码,切记,切记.)

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

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

Python的8个语法分别是什么

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

Python的8个语法分别是什么

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

2、替换方法字节码

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

Python的8个语法分别是什么

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

Python的8个语法分别是什么

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

Python的8个语法分别是什么

3、三元运算符

现代的 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] -> []

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

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

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

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

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

Python的8个语法分别是什么

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

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

4、通过 reduce 函数和 lambda 表达式:

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

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

把中间值保存在列表中

Python的8个语法分别是什么

把中间值保存到字典中:

Python的8个语法分别是什么

通过 reduce 函数和 lambda 表达式:

Python的8个语法分别是什么

速度最快的变体:

Python的8个语法分别是什么

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

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

7、列表切片技巧

复制列表:

Python的8个语法分别是什么

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

Python的8个语法分别是什么

在列表的开头添加元素:

Python的8个语法分别是什么

在列表的尾部添加元素:

Python的8个语法分别是什么

反转列表:

Python的8个语法分别是什么

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

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

1. 阶乘函数:

Python的8个语法分别是什么

2.斐波拉契数列:

Python的8个语法分别是什么

总结:

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

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

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI