Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象、直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法非常简捷和清晰,与其它大多数程序设计语言不一样,它使用缩进来定义语句。
Python支持命令式程序设计、面向对象程序设计、函数式编程、面向切面编程、泛型编程多种编程范式。与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理存储器使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的作业系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。
1、切片
列表或元祖中取部分元素很常见。比如:
说明:这里我取了前三个,[:3]和[0:3]一样。0可省略
注意:索引是从零开始,以-1结束。
切片操作十分有用。我们来创建一个0--99的数列:
说明:很明显看到报错了,因为list之前被赋值了。导致创建列表时,引用对象不存在。这时删除就行。
我们来取前20个数:
2、迭代
如果给定一个list或tuple,我们可以通过for循环来遍历。这种遍历称为迭代。
说明:字典默认的是迭代key。如果要迭代value,可用d.values(),如果键值同时迭代。则可用d.items().
字符串也是可迭代对象。同样for循环:
所以,当我们使用for循环时,只要作用于可迭代对象,for循环就可以运行,而我们不太关心该对象究竟是list还是其他数据类型。
那么,如何判断一个对象是可迭代对象呢?通过collection模块的iterable类型来判断:
说明:字典,元祖,列表,字符串都是True。整数是False。
Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身:
关于怎么快速学python,有什么方法,这个问题,想必大家都已经心中有数了,打算深入了解这个行业的朋友,可以加下小编的python学习裙:588+090+942,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2018最新的python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。
每天晚上20:00我都会开直播给大家分享python学习知识和路线方法,群里会不定期更新最新的教程和学习方法(进群送2018python学习教程),大家都是学习python的,或是转行,或是大学生,还有工作中想提升自己能力的python党,如果你是正在学习python的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实,非常适合新手学习,有不懂的问题可以随时问我,工作不忙的时候希望可以给大家解惑。
3、列表生成式
举个例子,生成[1,2,3,4,5,6,7,8,9,10],可以用list(range(1,11))创建。
还可以使用两层循环,可以生成全排列:
4、生成器
通过列表生成式可以直接创建一个列表,但是毕竟内存有限制,容量有限。所以有一种边循环边计算的机制,称为生成器:generator.
创建generator:
把列表生成式的方括号改为括号就行啦!
说明:当没有下一个元素时,跑出StopIteration的异常。
其实,generator也是一个可迭代对象,所以可以通过for循环。
要想把这种逻辑变成generator。只要把print改成yield就可以了,就不再是普通函数,而是一个generator。
简单例子,依次返回数字1,3,5:
回到之前的fib。我们可以使用下面代码来实现:
5、迭代器
我们已经知道,可以直接作用于for循环的数据类型有以下几种:
一类是集合数据类型,如list、tuple、dict、set、str等;
一类是generator,包括生成器和带yield的generator 函数。
这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。可以用isinstance()来判断。
而生成器不但可以作用于for循环,还可以被next()取值。
Iterable变成Iterator可以使用iter()函数:
总结:
可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。
可以使用isinstance()判断一个对象是否是Iterator对象和Iterable。
Python可以做什么?
web开发和 爬虫是比较适合 零基础的
自动化运维 运维开发 和 自动化测试 是适合 已经在做运维和测试的人员
大数据 数据分析 这方面 是很需要专业的 专业性相对而言比较强
科学计算 一般都是科研人员 在用
机器学习 和 人工智能 首先 学历 要求高 其次 高数要求高 难度很大
领取专属 10元无门槛券
私享最新 技术干货