A. python应该怎么学
分享Python学习路线。
第一阶段Python基础与Linux数据库。这是Python的入门阶段,也是帮助零基础学员打好基础的重要阶段。你需要掌握Python基本语法规则及变量、逻辑控制、内置数据结构、文件操作、高级函数、模块、常用标准库模块、函数、异常处理、MySQL使用、协程等知识点。
学习目标:掌握Python基础语法,具备基础的编程能力;掌握Linux基本操作命令,掌握MySQL进阶内容,完成银行自动提款机系统实战、英汉词典、歌词解析器等项目。
第二阶段WEB全栈。这一部分主要学习Web前端相关技术,你需要掌握HTML、CSS、JavaScript、jQuery、BootStrap、Web开发基础、VUE、Flask Views、Flask模板、 数据库操作、Flask配置等知识。
学习目标:掌握WEB前端技术内容,掌握WEB后端框架,熟练使用Flask、Tornado、Django,可以完成数据监控后台的项目。
第三阶段数据分析+人工智能。这部分主要是学习爬虫相关的知识点,你需要掌握数据抓取、数据提取、数据存储、爬虫并发、动态网页抓取、scrapy框架、分布式爬虫、爬虫攻防、数据结构、算法等知识。
学习目标:可以掌握爬虫、数据采集,数据机构与算法进阶和人工智能技术。可以完成爬虫攻防、图片马赛克、电影推荐系统、地震预测、人工智能项目等阶段项目。
第四阶段高级进阶。这是Python高级知识点,你需要学习项目开发流程、部署、高并发、性能调优、Go语言基础、区块链入门等内容。
学习目标:可以掌握自动化运维与区块链开发技术,可以完成自动化运维项目、区块链等项目。
按照上面的Python学习路线图学习完后,你基本上就可以成为一名合格的Python开发工程师。当然,想要快速成为企业竞聘的精英人才,你需要有好的老师指导,还要有较多的项目积累实战经验。
B. python怎么提高自己的编程能力
就我的经验来说,学语言不外乎3点:
1.慢慢啃类库。这个相当的痛苦,但是也是相当的有效,可惜没太多人能坚持下来,也包括我。但是我周围有因此成功的例子。
2.多犯错,我们这里有一句话:专家就是在某一方法把所有能犯的错都犯了的人,就是专家。一个问题,变着法儿的用不同的算法,不同的类库解决。
3.读别人的代码,尤其是优秀的代码,自己先看需求写一份儿,再对照别人的。
C. 初学者学Python编程如何快速入门
电子书集合|数据科学速查表|迁移学习实战 ,免费下载
链接: https://pan..com/s/11qnpoLX1H_XzFB-RdVNG4w 提取码: z9x7
D. 初学者如何学习python怎么培养自己的编程思维
编程思维得有经验的人帮助培养,自己看书瞎琢磨是很难有的,建议去慕课网多看看,和老师同学多交流。
E. 如何自学python编程
链接:
Python 编程高手之路。本课程分五个阶段,详细的为您打造高手之路,本课程适合有一定python基础的同学。
用Python可以做什么?可以做日常任务,比如自动备份你的MP3;可以做网站,很多着名的网站就是Python写的。总之就是能干很多很多事。
课程目录:
第一阶段
第一章:用户交互
第二章:流程控制
第三章:数据类型
第四章:字符编码
第五章:文件处理
第二阶段
第六章:函数概述
第七章:闭包函数
......
F. 如何系统地自学 Python
是否非常想学好 Python,一方面被琐事纠缠,一直没能动手,另一方面,担心学习成本太高,心里默默敲着退堂鼓?
幸运的是,Python 是一门初学者友好的编程语言,想要完全掌握它,你不必花上太多的时间和精力。
Python 的设计哲学之一就是简单易学,体现在两个方面:
语法简洁明了:相对 Ruby 和 Perl,它的语法特性不多不少,大多数都很简单直接,不玩儿玄学。
切入点很多:Python 可以让你可以做很多事情,科学计算和数据分析、爬虫、Web 网站、游戏、命令行实用工具等等等等,总有一个是你感兴趣并且愿意投入时间的。
废话不多说,学会一门语言的捷径只有一个: Getting Started
¶ 起步阶段
任何一种编程语言都包含两个部分:硬知识和软知识,起步阶段的主要任务是掌握硬知识。
硬知识
“硬知识”指的是编程语言的语法、算法和数据结构、编程范式等,例如:变量和类型、循环语句、分支、函数、类。这部分知识也是具有普适性的,看上去是掌握了一种语法,实际是建立了一种思维。例如:让一个 Java 程序员去学习 Python,他可以很快的将 Java 中的学到的面向对象的知识 map 到 Python 中来,因此能够快速掌握 Python 中面向对象的特性。
如果你是刚开始学习编程的新手,一本可靠的语法书是非常重要的。它看上去可能非常枯燥乏味,但对于建立稳固的编程思维是必不可少。
下面列出了一些适合初学者入门的教学材料:
廖雪峰的 Python 教程 Python 中文教程的翘楚,专为刚刚步入程序世界的小白打造。
笨方法学 Python 这本书在讲解 Python 的语法成分时,还附带大量可实践的例子,非常适合快速起步。
The Hitchhiker’s Guide to Python! 这本指南着重于 Python 的最佳实践,不管你是 Python 专家还是新手,都能获得极大的帮助。
Python 的哲学:
学习也是一样,虽然推荐了多种学习资料,但实际学习的时候,最好只选择其中的一个,坚持看完。
必要的时候,可能需要阅读讲解数据结构和算法的书,这些知识对于理解和使用 Python 中的对象模型有着很大的帮助。
软知识
“软知识”则是特定语言环境下的语法技巧、类库的使用、IDE的选择等等。这一部分,即使完全不了解不会使用,也不会妨碍你去编程,只不过写出的程序,看上去显得“傻”了些。
对这些知识的学习,取决于你尝试解决的问题的领域和深度。对初学者而言,起步阶段极易走火,或者在选择 Python 版本时徘徊不决,一会儿看 2.7 一会儿又转到 3.0,或者徜徉在类库的大海中无法自拔,Scrapy,Numpy,Django 什么都要试试,或者参与编辑器圣战、大括号缩进探究、操作系统辩论赛等无意义活动,或者整天跪舔语法糖,老想着怎么一行代码把所有的事情做完,或者去构想圣洁的性能安全通用性健壮性全部满分的解决方案。
很多“大牛”都会告诫初学者,用这个用那个,少走弯路,这样反而把初学者推向了真正的弯路。
还不如告诉初学者,学习本来就是个需要你去走弯路出 Bug,只能脚踏实地,没有奇迹只有狗屎的过程。
选择一个方向先走下去,哪怕脏丑差,走不动了再看看有没有更好的解决途径。
自己走了弯路,你才知道这么做的好处,才能理解为什么人们可以手写状态机去匹配却偏要发明正则表达式,为什么面向过程可以解决却偏要面向对象,为什么我可以操纵每一根指针却偏要自动管理内存,为什么我可以嵌套回调却偏要用 Promise...
更重要的是,你会明白,高层次的解决方法都是对低层次的封装,并不是任何情况下都是最有效最合适的。
技术涌进就像波浪一样,那些陈旧的封存已久的技术,消退了迟早还会涌回的。就像现在移动端应用、手游和 HTML5 的火热,某些方面不正在重演过去 PC 的那些历史么?
因此,不要担心自己走错路误了终身,坚持并保持进步才是正道。
起步阶段的核心任务是掌握硬知识,软知识做适当了解,有了稳固的根,粗壮的枝干,才能长出浓密的叶子,结出甜美的果实。
¶ 发展阶段
完成了基础知识的学习,必定会感到一阵空虚,怀疑这些语法知识是不是真的有用。
没错,你的怀疑是非常正确的。要让 Python 发挥出它的价值,当然不能停留在语法层面。
发展阶段的核心任务,就是“跳出 Python,拥抱世界”。
在你面前会有多个分支:科学计算和数据分析、爬虫、Web 网站、游戏、命令行实用工具等等等等,这些都不是仅仅知道 Python 语法就能解决的问题。
拿爬虫举例,如果你对计算机网络,HTTP 协议,HTML,文本编码,JSON 一无所知,你能做好这部分的工作么?而你在起步阶段的基础知识也同样重要,如果你连循环递归怎么写都还要查文档,连 BFS 都不知道怎么实现,这就像工匠做石凳每次起锤都要思考锤子怎么使用一样,非常低效。
在这个阶段,不可避免要接触大量类库,阅读大量书籍的。
类库方面
“Awesome Python 项目”:vinta/awesome-python · GitHub
这里列出了你在尝试解决各种实际问题时,Python 社区已有的工具型类库,如下图所示:
vinta/awesome-python
你可以按照实际需求,寻找你需要的类库。
至于相关类库如何使用,必须掌握的技能便是阅读文档。由于开源社区大多数文档都是英文写成的,所以,英语不好的同学,需要恶补下。
书籍方面
这里我只列出一些我觉得比较有一些帮助的书籍,详细的请看豆瓣的书评:
科学和数据分析:
❖“集体智慧编程”:集体智慧编程 (豆瓣)
❖“数学之美”:数学之美 (豆瓣)
❖“统计学习方法”:统计学习方法 (豆瓣)
❖“Pattern Recognition And Machine Learning”:Pattern Recognition And Machine Learning (豆瓣)
❖“数据科学实战”:数据科学实战 (豆瓣)
❖“数据检索导论”:信息检索导论 (豆瓣)
爬虫:
❖“HTTP 权威指南”:HTTP权威指南 (豆瓣)
Web 网站:
❖“HTML & CSS 设计与构建网站”:HTML & CSS设计与构建网站 (豆瓣)
...
列到这里已经不需要继续了。
聪明的你一定会发现上面的大部分书籍,并不是讲 Python 的书,而更多的是专业知识。
事实上,这里所谓“跳出 Python,拥抱世界”,其实是发现 Python 和专业知识相结合,能够解决很多实际问题。这个阶段能走到什么程度,更多的取决于自己的专业知识。
¶ 深入阶段
这个阶段的你,对 Python 几乎了如指掌,那么你一定知道 Python 是用 C 语言实现的。
可是 Python 对象的“动态特征”是怎么用相对底层,连自动内存管理都没有的C语言实现的呢?这时候就不能停留在表面了,勇敢的拆开 Python 的黑盒子,深入到语言的内部,去看它的历史,读它的源码,才能真正理解它的设计思路。
这里推荐一本书:
“Python 源码剖析”:Python源码剖析 (豆瓣)
这本书把 Python 源码中最核心的部分,给出了详细的阐释,不过阅读此书需要对 C 语言内存模型和指针有着很好的理解。
另外,Python 本身是一门杂糅多种范式的动态语言,也就是说,相对于 C 的过程式、 Haskell 等的函数式、Java 基于类的面向对象而言,它都不够纯粹。换而言之,编程语言的“道学”,在 Python 中只能有限的体悟。学习某种编程范式时,从那些面向这种范式更加纯粹的语言出发,才能有更深刻的理解,也能了解到 Python 语言的根源。
这里推荐一门公开课
“编程范式”:斯坦福大学公开课:编程范式
讲师高屋建瓴,从各种编程范式的代表语言出发,给出了每种编程范式最核心的思想。
值得一提的是,这门课程对C语言有非常深入的讲解,例如C语言的范型和内存管理。这些知识,对阅读 Python 源码也有大有帮助。
Python 的许多最佳实践都隐藏在那些众所周知的框架和类库中,例如 Django、Tornado 等等。在它们的源代码中淘金,也是个不错的选择。
¶ 最后的话
每个人学编程的道路都是不一样的,其实大都殊途同归,没有迷路的人只有不能坚持的人!
希望想学 Python 想学编程的同学,不要犹豫了,看完这篇文章,
Just Getting Started !!!
G. 如何自学 python
编程在某种程度上和写作无比类似。编程语言的意义和纸笔类似,是写东西的必要条件,但不充分。学会了编程语言,不过是有了在用笔在纸上写字的能力,离能写出好的文章差的可远着呐。 那么,怎么才能提高写出东西的能力?这个和写作一样,首先你得有写的动力,其次是要学习如何去写,最后才是多写。 动力是最重要的。不管是因为兴趣爱好还是因为生活所迫,你都需要给自己一个努力的理由。
除了敦促你努力,带来动力的源泉往往会直接或间接的指明你的努力方向,这对后续发展有很大帮助。如果你的动力是应聘好公司拿高薪,那么目标公司的职位要求就是你的方向;如果你想写出有趣的网站,那么web相关就是你的方向;如果你对编程语言本身感到着迷,那么编程语言理论或编译器就是你的方向。这样,你就不会迷茫,今天写个爬虫,明天写个贪吃蛇,可过了好久发现自己还在原地踏步。
接下来是学习如何去写。说白了就是学,使劲学,把你希望的方向里能学会的全学会。先爬上巨人的肩膀才有可能垫高巨人的肩膀。 最后才是多写。什么也不学的瞎写是毫无意义的。在没有学会许多东西之前一味强调多写是十分愚蠢的事情。当你学了一些东西时,写的时机才到了。这时去放手实践你学到的东西吧。 之后的路就相对清晰了。一直学下去,写下去,就这么简单。
除此之外,如果想要快速学好成为一名大神,需要注意几个非常重要的点。
1、不随波逐流
不要看周围的人做什么,自己就做什么,也许别人做的并不适合你。别人的优势很可能会成为你的劣势。所以,坚定自己的想法,让自己知道那些方面适合自己,自己可以胜任。
2、不断尝试
不断的尝试可能成为自己的优势。你不知道什么适合自己,所以才要大胆、勇敢地尝试。找到一种可以属于你的独特的优势。 坚定信念。一旦你坚定了自己的信念,就不要被别人的意见或是讽刺或是嘲笑所干扰。
3、不茫然,不多想
别让太多的事干扰到你奋斗下去的信念。梦想不容许太多的杂念。那些杂念只会让你的心愈来愈脆弱,多为一个人考虑,到头来,伤害的还是自己。
4、选择自己学习方法
每个人都有适合自己的方法,有的人去选择自学,有的人选择看视频学习,有的人选择报名培训班,那在这个时候,你就要自己考虑清楚,到底那样对的帮助是最大的,个人觉得是跟着培训班最好的,毕竟人家的实战项目多,我们学软件开发的都知道实战项目对于学好一门语言是 很重要的。(在学习的路上需要的是老师的指点和鼓励,是学习上的启迪,更是课后的陪伴,激发兴趣,唤醒梦想,才能真正的学好Python!有梦想是一件值得人敬佩的事情,稳步实践最终实现梦想的人值得尊敬,如果你愿意,渴望学好python可以加我的球球
H. python软件开发工程师的逻辑思维可以怎么培养
程序员逻辑思维的培养对软件工程非常重要,思维快的能快速编写逻辑代码。可以从一下几个方面进行慢慢培养。 I. python专业如何用到编程思维
摘要
https://blog.csdn.net/weixin_42123456/article/details/112015631
J. 如何提升Python编程能力
一、Python之禅(The Zen of Python)
第一:明确学习目的
逻辑思维学习编程对多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。
第二打好基础,学好基础知识对我们开发也很重要学编程要具备一定的基础,总结之有以下几方面:
首先是数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
其次是逻辑思维能力的培养 学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。最后是选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发 应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台开发 开发工具如 Java 等。 3)网络开发 对客户端开发工具如:Java Script 等;对服务器开发工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。选 VB 作为入门的方向对出学者是较为适合的。
第三:注意理解一些重要概念
一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。
第四:掌握编程思想,编程思想使用较多的就是oop编程思想
学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习 VC 就要学习 Windows 的内在机理、什么是线程......;学习 COM 就要知道VTALBE 、类厂、接口、idl......,关键是学一种思想,有了思想,那么我们就可以触类旁通。
第六:多实践、多交流,一切思维来自项目开发的积累
掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。
第七:养成良好的编程习惯
编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使
程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。
第八:上网学编程
在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载
8.加强计算机理论知识的再学习
思维培养学编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识,包括编程所需的数学基础知识,具备了入门的条件,就可以
开始编程的实践,从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编,但当你发现编到一定程度很难再提高的时候,就要回头来学习一些计算机科学和数
学基础理论。学过之后,很多以前遇到的问题都会迎刃而解,使人有豁然开朗之感。因此在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机
原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。这样经过不断的学习,再努力地实践,编程水平一定会不断提高到一个新高度。
这就是总结出来的思维培养模式,希望能帮到你,谢谢!
The Zen of Python是Python语言的指导原则,遵循这些基本原则,你就可以像个Pythonista一样编程。具体内容你可以在Python命令行输入import this看到:
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
# 优美胜于丑陋(Python以编写优美的代码为目标)
Explicit is better than implicit.
# 明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
Simple is better than complex.
# 简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
Complex is better than complicated.
# 复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
Flat is better than nested.
# 扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
Sparse is better than dense.
# 间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
Readability counts.
# 可读性很重要(优美的代码是可读的)
Special cases aren't special enough to break the rules.
Although practicality beats purity.
# 即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
Errors should never pass silently.
Unless explicitly silenced.
# 不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写except:pass风格的代码)
In the face of ambiguity, refuse the temptation to guess.
# 当存在多种可能,不要尝试去猜测
There should be one-- and preferably only one --obvious way to do it.
# 而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
Although that way may not be obvious at first unless you're Dutch.
# 虽然这并不容易,因为你不是 Python 之父(这里的Dutch是指Guido)
Now is better than never.
Although never is often better than *right* now.
# 做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
# 如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
Namespaces are one honking great idea -- let's do more of those!
# 命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)
这首特别的“诗”开始作为一个笑话,但它确实包含了很多关于Python背后的哲学真理。Python之禅已经正式成文PEP 20,具体内容见:PEP 20
二、PEP8: Python编码规范(PEP8: Style Guide for Python Code)
Abelson & Sussman在《计算机程序的构造和解释》一书中说道:程序是写来给人读的,只是顺带让机器执行。所以,我们在编码时应该尽量让它更易读懂。PEP8是Python的编码规范,官方文档见:PEP 8,PEP是Python Enhancement Proposal的缩写。PEP8包括很多编码的规范,下面主要介绍一下缩进和命名等内容。
空格和缩进(WhiteSpace and Indentation)
空格和缩进在Python语言中非常重要,它替代了其他语言中{}的作用,用来区分代码块和作用域。在这方面PEP8有以下的建议:
1、每次缩进使用4个空格
2、不要使用Tab,更不要Tab和空格混用
3、两个方法之间使用一个空行,两个Class之间使用两个空行
4、添加一个空格在字典、列表、序列、参数列表中的“,“后,以及在字典中的”:“之后,而不是之前
5、在赋值和比较两边放置一个空格(参数列表中除外)
6、紧随括号后面或者参数列表前一个字符不要存在空格
Python命名
命名规范是编程语言的基础,而且大部分的规范对于高级语言来说都是一样的,Python的基本规范如下:
1、方法 & 属性:joined_lower
2、常量:joined_lower or ALL_CAPS
3、类:StudlyCaps
4、类属性:interface, _internal, __private
5、camelCase only to conform to pre-existing conventions
以上内容只是对PEP8做了非常简单的介绍,由于今天的主题不在于此,所以就不在这里多讲。想要更加深入的了解Python编码规范,可以阅读PEP8官方文档和Google Python编码规范等内容。
三、交换变量值(Swap Values)
在其他语言中,交换两个变量值的时候,可以这样写:
temp = a
a = b
b = temp
在Python中,我们可以简单的这样写:
b, a = a, b
可能你已经在其他地方见过这种写法,但是你知道Python是如何实现这种语法的吗?首先,逗号(,)是Python中tuple数据结构的语法;上面的语法会执行一下的操作:
1、Python会先将右边的a, b生成一个tuple(元组),存放在内存中;
2、之后会执行赋值操作,这时候会将tuple拆开;
3、然后将tuple的第一个元素赋值给左边的第一个变量,第二个元素赋值给左边第二个变量。
再举个tuple拆分的例子:
In [1]: people = ['David', 'Pythonista', '15145551234']
In [2]: name, title, phone = people
In [3]: name
Out[3]: 'David'
In [4]: title
Out[4]: 'Pythonista'
In [5]: phone
Out[5]: '15145551234'
这种语法在For循环中非常实用:
In [6]: people = [['David', 'Pythonista', '15145551234'], ['Wu', 'Student', '15101365547']]
In [7]: for name, title, phone in people:
...: print name, phone
...:
David 15145551234
Wu 15101365547
PS:在使用这种语法时,需要确保左边的变量个数和右边tuple的个数一致,否则,Python会抛出ValueError异常。
更多tuple的例子:
>>> 1,
(1,)
>>> (1,)
(1,)
>>> (1)
1
>>> value = 1,
>>> value
(1,)
我们知道:逗号(,)在Python中是创建tuple的构造器,所以我们可以按照上面的方式很方便的创建一个tuple;需要注意的是:如果声明只有一个元素的tuple,末尾必须要带上逗号,两个以上的元素则不需要。声明tuple的语法很简单,但同时它也比较坑:如果你发现Python中的变量不可思议的变成了tuple,那很可能是因为你多写了一个逗号。。
四、Python控制台的"_"(Interactive "_")
这是Python中比较有用的一个功能,不过有很多人不知道(我也是接触Python很久之后才知道的)。。在Python的交互式控制台中,当你计算一个表达式或者调用一个方法的时候,运算的结果都会放在一个临时的变量 _ 里面。_(下划线)用来存储上一次的打印结果,比如:
>>> import math
>>> math.pi / 3
1.0471975511965976
>>> angle = _
>>> math.cos(angle)
0.50000000000000011
>>> _
0.50000000000000011
PS:当返回结果为None的时候,控制台不会打印,_ 里面存储的值也就不会改变。
五、合并字符串(Building Strings from Sub strings)
假如现在有一个list,里面是一些字符串,你现在需要将它们合并成一个字符串,最简单的方法,你可以按照下面的方式去处理:
colors = ['red', 'blue', 'green', 'yellow']
result = ''
for s in colors:
result += s
但是,很快你会发现:这种方法非常低效,尤其当list非常大的时候。Python中的字符串对象是不可改变的,因此对任何字符串的操作如拼接,修改等都将产生一个新的字符串对象,而不是基于原字符串。所以,上面的方法会消耗很大的内存:它需要计算,存储,同时扔掉中间的计算结果。正确的方法是使用Python中的join方法:
result = ','.join(colors)
当合并元素比较少的时候,使用join方法看不出太大的效果;但是当元素多的时候,你会发现join的效率还是非常明显的。不过,在使用的时候请注意:join只能用于元素是字符串的list,它不会进行任何的强制类型转换。连接一个存在一个或多个非字符串元素的list时将抛出异常。