这篇文章主要介绍了python可以自学吗需要什么基础,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

Source code download: 本文相关源码
当然可以自学Python。
编程(programming)指的是编写让计算机执行的指令不会c语言可以学python吗。这些指令可能告诉计算机打印Hello, World!,从因特网爬取数据,或者读取某个文件的内容并保存至数据库。这些指令被称为代码(code)。程序员用许多不同的编程语言来编写代码。在过去,编程的难度更大,因为程序员必须要使用晦涩难懂的底层编程语言(low-level programming language),如汇编语言(assembly language)。说一门编程语言是底层语言,指的是其与高级编程语言(读起来更像英语的编程语言)相比,更接近用二进制(0和1)编写指令,因此也更难理解。下面是一个用汇编语言编写的简单程序:
# http://tinyurl.com/z6facmk
global _start
section .text
_start:
mov rax , 1
mov rdi , 1
mov rsi , message
mov rdx , 13
syscall
; exit(0)
mov eax , 60
xor rdi , rdi
syscall
message:
db "Hello, World!", 10
下面则是用一门现代编程语言编写的同一个程序:
1 # http://tinyurl.com/zhj8ap6
2
3
4 print("Hello, World!")
显而易见,如今程序员的工作容易多了。不再需要花费大量时间学习晦涩的底层语言才能编程,相反只要学习一门非常易读的语言Python即可。
如果你之前没有任何编程经验,担心自己无法胜任编程工作,只要你坚持,那你完全有能力做到。人们对程序员有一些常见的误解,比如程序员都得擅长数学。这是错误的印象,不过编程确实是一件困难的工作。如果有合适自学的Python书,一切就不再是问题。
为了提高编程技巧,你应该每天练习编程。挡在你面前的唯一障碍就是无法坚持,所以我们要采取一些措施确保自己能够坚持不懈。准备一张检查清单,来确保每天都有做练习,而且也能够帮助你保持专注。
“最优秀的程序员比一般优秀的程序员,不只是好一丁半点。不论用什么标准来衡量,他们都比后者优秀太多:认知创新能力、工作效率、设计原创性或问题解决能力都是如此。”——兰道尔·斯特若斯(Randall
E.Stross)
十大优秀编程资源
1 使用Python在线文档
使用Python的一个主要部分是了解这种语言中有哪些内容可用以及如何扩展它来做其他任务。在线Python文档(写作本书时的版本为3.6.x,当你读到这里时文档版本很可能已经更新了)提供了更多有关Python的参考资料,包括如下主题:
- 当前Python版本添加的新特征;
- 完整教程;
- 完整库参考;
- 完整语言参考;
- 如何安装和配置Python;
- 如何使用Python执行特定任务;
- 从其他源安装Python模块(作为Python扩展的手段);
- 发布自己创建的Python模块,供其他人使用;
- 如何使用C/C++扩展Python,以及嵌入你创建的新特征;
- 面向C/C++开发者(想使用Python扩展他们的应用程序)的完整参考;
- FAQ页面。
2 使用http://LearnPython.org教程
网上Python学习教程有很多,大都做得很不错,但相比于LearnPython网站上的教程,它们都有一个不足,那就是缺少交互性。在LearnPython网站上学习Python时,你不只是在阅读有关Python的知识,还可以使用网站提供的交互环境亲自动手试一试。
这些教程主要讲解以下主题。
- 生成器:返回迭代器的特殊函数。
- 列表生成式:一种基于现有列表生成新列表的方法。
- 可变函数参数:对第15章“使用带有可变参数列表的方法”内容的补充。
- 正则表达式:用于匹配字符模式的通配符设置,比如电话号码。
- 异常处理:对第10章内容的扩展。
- 集合:这是一种特殊的列表,里面不包含重复元素。
- 序列化:讲解如何使用JSON这种数据存储技术。
- 偏函数:用于创建派生于较复杂函数的简单函数的专门化版本。比如,你有一个带有两个参数的multiply()函数,那么名为double()的偏函数可能只需要一个参数,这个参数总是要乘以2。
- 代码审查:提供检查类、函数、关键字的能力,用于判断用途和功能。
- 装饰器:一种对可调用对象进行简单修改的方法。
3 使用Python做Web编程
Python Web编程网站可以帮助你从桌面程序开发转向在线应用程序开发。它并非只讲解一种在线应用程序,而是涵盖了几乎所有应用程序(免费提供整本书)。教程分为如下3个主要部分(和许多次要部分)。
服务器
- 开发应用程序服务器端框架
- 创建CGI脚本
- 提供服务器应用程序
- 开发内容管理系统(CMS)
- 通过Web服务方案设计数据访问方法
客户端
- 使用浏览器和基于浏览器的技术
- 创建基于浏览器的客户端
- 通过各种技术(包括Web服务)访问数据
相关
- 为基于Python的在线计算创建通用方案
- 使用数据库管理系统(DBMS)
- 设计应用程序模板
- 构建内部网解决方案
4 获取更多库
或许你会认为Pythonware这个站点平淡无奇,但当你进入这个网站后,你就会被它深深吸引。这个网站提供了大量第三方库,借助这些库,你可以使用Python做更多的工作。
网站里面有大量链接,为我们提供了很多有用的资源。其中,通过“Downloads”这个链接你可以访问如下库。
- aggdraw:这个库帮助你绘制平滑的线条。
- celementtree:这个库是elementtree库的扩展库,可以让你更快、更高效地使用XML数据。
- console:这是一个窗口界面,帮助我们创建出更好的控制台程序。
- effbot:包含了许多有用的附加组件和实用程序,包括ENews RSS新闻阅读器。
- elementsoap:这个库可以帮助我们创建到Web服务提供者的SOAP(简单对象访问协议)连接。
- elementtidy:这是对elementtree库的扩展,可以帮助我们创建出更好看、功能更强大的XML树。
- elementtree:这个库可以帮助我们更高效地使用XML数据。
- exemaker:这是一个从Python脚本创建可执行程序的实用程序,借助它,你可以在机器上像运行其他应用程序一样运行脚本。
- ftpparse:这个库用来使用FTP站点。
- grabscreen:这个库用来截屏。
- imaging:向Python图像处理库(PIL)提供源代码分发,该库允许你向Python解释器添加图像处理功能。通过它,你可以定制PIL来满足自己特定的需求。
- pil:PIL的二进制安装程序,它可以让PIL库更容易地安装到你的系统中。(还有其他基于PIL的库,比如pilfont库,这个库用于向基于PIL的应用程序添加字体增强功能)。
- pythondoc:这个实用程序用来从Python代码中的注释创建文档,其工作原理与JavaDoc类似。
- squeeze:这个实用程序用于将包含在多个文件中的Python程序转换为单文件或双文件的发行版,并能够在Python解释器中正常执行。
- tkinter3000:这个库是Python的标准GUI部件库,包含许多子产品。这些部件本质上是一些代码,用于创建GUI应用程序中的控件,如按钮。tkinter3000库有许多附加组件,例如wckgraph,它帮助你向应用程序添加图形支持。
5 使用IDE快速创建应用程序
交互式开发环境(IDE)帮助你使用特定语言创建应用程序。Python本身自带了一个集成开发环境——IDLE,适合用来做代码实验,但用过一段时间之后你就会发现它有不少局限性,例如,IDLE并不提供许多开发人员喜欢的高级调试功能。另外,当你要创建图形应用程序时,IDLE很难帮你做到这一点。
6 更容易地检查语法
IDLE提供了某种程度的语法高亮显示功能,这有助于我们查找代码中的错误。比如,如果你输入错误的关键字,IDLE就不会将其颜色更改为系统中定义好的关键字颜色。这样,你就可以立即知道错误出在哪里,以及如何修改它,而不必等到应用程序运行后才发现错误(有时需要经过几个小时的调试才能找到错误)。
Jupyter Notebook也提供了语法高亮显示功能,还有一些标准IDE所不具备的高级错误检查功能。不过,对于某些开发人员来说,它本身可能也有一些不足,比如你必须实际运行单元格才能看到错误信息。有些开发人员更喜欢交互式语法检查方式,在这种检查方式中,IDE会立即标记出代码中的错误,甚至在开发人员离开错误代码行之前,其中错误就已经被标识出来了。
python.vim实用程序提供了增强型的语法突出显示功能,使得在Python脚本中查找错误更加容易。这个实用程序以脚本形式运行,这使得它可以在任何平台上都能快速、高效地使用。此外,你还可以根据需要调整其源代码以满足特定的需求。
7 使用XML
学习XML本身是很重要的,你可以在类似W3Schools的教学网站上查找相关教程来学习。有些开发人员在没有掌握XML文件相关知识的情形下就急于着手做各种工作,后来他们发现有些Python资料看不懂,因为这些资料往往会假设读者知道如何编写基本的XML文件。W3Schools这个网站很不错,它把整个学习过程分成若干章节,这样每次你就可以使用一些XML,如下:
- XML基础教程;
- 验证你的XML文件;
- XML和JavaScript(JavaScript看上去不重要,但在许多在线应用场景中,JavaScript应用广泛)配合使用;
- 了解与XML相关的技术;
- 使用XML高级技术;
- 使用XML示例使XML更易用。
利用W3Schools学习计算机技术
在线学习计算机技术最常用的网站是W3Schools,你可以在其官网中找到要学习的内容。在这个网站中,你可以找到创建各种应用程序所需要的Web技术。所涉及的主题包括:
- HTML;
- CSS;
- JavaScript;
- SQL;
- JQuery;
- PHP;
- XML;
- http://ASP.NET。
但是,你应该知道,这对Python开发人员来说只是一个起点。先利用W3Schools中的学习资料来切实掌握底层技术,然后通过Python专门资料来提升你的技能。大多数Python开发人员都需要综合各种学习资料来提升自己的技能,从而在编写应用程序的过程中展现出与众不同的一面。
掌握了有关XML的基础知识之后,你需要学习如何在Python中使用XML。网上有各种技术专题,你可以在各个网站中找到关于使用Python处理XML的教程。通过学习这些教程,你可以快速了解有关XML的知识,并让你能够快速创建出使用XML的Python应用程序。
8 克服常见的Python新手错误
毫无疑问,每个人编写代码时都会犯错误,即便那些有着30多年编程经验的老程序员(他们大概从幼儿园就开始学习编程了)也不例外。每个人都会犯错,但没人喜欢犯错,有些人犯了错还不愿意承认,其实没这必要,犯了错时,不要太沮丧,只要把错误改正过来,你的生活就可以继续下去。
当然,犯错误和犯可以避免的常见错误是有区别的。不错,即使是专业人士有时也会犯一些本可以避免的常见错误,但这种可能性要小很多,因为他们过去已经经历过这种错误,并训练自己去避免它。你可以通过避免新手错误来获得竞争优势。
对于刚开始学习Python的人来说,还有许多其他资料可用,但是相比之下,上面这些资料内容简洁且容易理解。你可以在较短的时间内读完它们,做一些笔记以备用,并避免那些让每个人都会记住的尴尬错误。
9 了解Unicode
尽管本书试图回避Unicode这个棘手的话题,但是当你开始编写正规应用程序时,你最终还是会碰到它。不过,遗憾的是,Unicode是由一个委员会来决定的,所以最终就有了不止一个定义和标准。简而言之,Unicode没有一个统一的定义。
当你开始使用更高级的Python应用程序时,你会遇到大量的Unicode标准,特别是当你的程序要在多种语言(每种语言似乎都有自己的Unicode)下运行时。请记住,我们需要了解Unicode是什么,下面提供给你一些学习主题:
- Unicode和字符集;
- Python中的Unicode更新;
- Python编码和Unicode;
- Unicode概述,参见Unicode官网。
10 加快Python程序的运行速度
就应用程序来说,没有什么比性能差更能吓跑用户的了。当应用程序性能很差时,用户根本就不愿意使用它。事实上,糟糕的性能是造成应用程序在企业环境中失败的一个重要原因。即便有组织愿意花费大量金钱去创建一个万能的应用程序,但是如果这个程序的运行速度太慢,或者有严重的性能问题,也不会有人愿意使用它。
事实上,性能是可靠性、安全性和速度的综合,这3个因素构成了“性能三角”。你可以在作者的博客中读到有关性能三角形的内容。许多开发人员只关注性能的速度部分,但最终没能实现他们的目标。重要的是查看应用程序使用资源的各个方面,并确保你使用了最好的编码技术。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具

三、精品Python学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

五、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、Python练习题
检查学习结果。
七、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

这份完整版的Python全套学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

Python资料、技术、课程、解答、咨询也可以直接点击下面名片,
添加官方客服斯琪↓
本文介绍了自学Python的可能性,推荐了从Python在线文档、LearnPython教程、Web编程、获取第三方库、IDE使用、语法检查、Unicode理解到性能提升的各种资源和策略,帮助初学者建立学习路径和避免常见错误。
2720

被折叠的 条评论
为什么被折叠?



