Python 是一门运用很广泛的语言,自动化脚本、爬虫,甚至在深度学习领域也都有 Python 的身影。作为一名前端开发者,也了解 ES6 中的很多特性借鉴自 Python (比如默认参数、解构赋值、Decorator等),同时本文会对 Python 的一些用法与 JS 进行类比。不管是提升自己的知识广度,还是更好地迎接 AI 时代,Python 都是一门值得学习的语言。给大家分享这个之前,小编推荐大家加一下这个群:330637182 这个群里好几千人了!大家遇到啥问题都会在里面交流!而且免费分享零基础入门资料 web开发 爬虫资料一整套!是个非常好的学习交流地方!也有程序员大神给大家热心解答各种问题!很快满员了。欲进从速哦!等大家加入学习交流基地哦!
隐式类型转换:
有序集合类型
集合是指包含一组元素的数据结构,有序集合即集合里面的元素是是按照顺序排列的,Python 中的有序集合大概有以下几类:list, tuple, str, unicode。
list 类型
无序集合类型
dict 类型
Python 中的 dict 类型类似于 JS 中的 {} (最大的不同是它是没有顺序的), 它有如下特点:
查找速度快 (无论 dict 有 10 个元素还是 10 万个元素,查找速度都一样)
占用内存大 (与 list 类型相反)
dict 中的 key 不能重复
dict 中存储的 key-alue 序对是没有顺序的
Python 中的迭代
在介绍完 Python 中的有序集合和无序集合类型后,必然存在遍历集合的 for 循环。但是和其它语言的标准 for 循环不同,Python 中的所有迭代是通过 for … in 来完成的。以下给出一些常用的迭代 demos:
索引迭代:
切片操作符
Python 提供的切片操作符类似于 JS 提供的原生函数 slice()。有了切片操作符,大大简化了一些原来得用循环的操作。
Python 函数
默认参数
JS 中 ES6 的 默认参数正是借鉴于 Python,用法如下:
常用高阶函数
Python 中常用的函数 (map、reduce、filter) 的作用和 JS 中一致,只是用法稍微不同。
map 函数: 接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
关键词 lambda 表示匿名函数,冒号前面的 x 表示函数参数,可以看出匿名函数
lambda x: x* x
实际上就是:
方法一: 可以理解为创建了一个封闭的作用域,i 的 值传给 j 之后,就和 i 没任何关系了。每次循环形成的闭包都存进了内存中。
decorator 装饰器
class
面向对象编程
面向对象编程是一种程序设计范式,基本思想是:用类定义抽象类型,然后根据类的定义创建出实例。在掌握其它语言的基础上,还是比较容易理解这块知识点的,比如从下面两种写法可以看出不同语言的语言特性间竟然有如此多的共性。
es6: (附:本文的主题是 python,所以只是初略展示下 js 中类的定义以及实例的创建,为了说明写法的相似性)
继承
child 属于 Student 类,Student 类属于 People 类,这就引出了继承: 即获得了父类的方法属性后又能添加自己的方法属性。
本文牧云云:
如有侵权请联系小编删除!谢谢阅读
领取专属 10元无门槛券
私享最新 技术干货