如何在半年时间内,完全靠自学可以从零基础到精通python?

由于对技术感兴趣,加上自身没有一技之长,想在家用半年时间学习python(完全自学)可行吗?我并没有接触过编程,只是中专读计算机的时候看过而已(根本没用心学过)如今,想重新拾起编程,今年已经21岁了,而且数理逻辑(对数学一窍不通,简单的加减乘除都要用计算器),英语水平(要用翻译才懂,初中水平)也非常差,还可以学吗?对自身也缺乏自信,但又喜欢互联网技术,又怕自己学不会,浪费时间,该怎么做,有什么好的建议吗?
  • 华为云开发者联盟
  • 2024-01-25
  • 22
  • 共11人发表观点
网友「华为云开发者联盟 」发表观点
2024-02-04

Python是一种多功能语言,经常用作Web应用程序的脚本语言,嵌入到软件产品中,以及人工智能和系统任务管理。它既简单又强大,非常适合初学者和专业程序员。

小宅和大家分享华为云社区之前整理发布的一些免费资料,同时精选了几本高质量的Python书籍,希望对大家有帮助:

一、Python入门

1、在线学习: http://www.runoob.com/python/python-tutorial.html

通过这个链接可以完成:Python安装、环境搭建;Python基本语法的学习和练习

2、疑难问题查文档:https://docs.python.org/3/

二、Python框架

1、Flask

Flask是一个使用Python编写的轻量级Web应用框架。基于Werkzeug WSGI工具箱和Jinja2 模板引擎。Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。

2、DjangoDjango 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响。Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。

三、开发工具PyCharm下载激活

1、下载地址 https://www.jetbrains.com/pycharm/download/

2、注册激活

地址参考https://www.imsxm.com/jetbrains-license-server.html

四、华为云开发者社区,免费学习python

华为云开发者社区提供全面、逐层递进的免费python学习课程,助你扎扎实实学技术(点击每个小标题链接直接开始学习)。

Python入门篇

「链接」

本课程介绍了Python的“前世今生”和Python的用处;Python的基础使用和Python的开发环境;Python中内置的多种数据类型的特点和使用,以及常见的数据结构的类型;Python中的控制流语句,实现循环和判断。

Python语言进阶

「链接」

Python语言进阶课程,主要包括Python的函数、模块、面向对象、异常处理、文件处理等内容。

Python进阶篇

「链接」

本课程将由华为AI专家带您学习Python进阶篇:Python中的如何构造不同的函数并使用;面向对象编程设计模式基础和Python中的面向对象实现;Python中的模块是什么,以及常用的那些内置模块的使用;Python的文件读写操作;Python中的使用小技巧。

Python应用篇

「链接」

本课程中您将学习到Python的高阶使用:Python正则表达式;Python耳熟能详的工具包使用;学习如何调试程序;Python迭代器、生成器和装饰器的使用;使用Python实现一个网站。

Python开发技能测评(初级)

「链接」

Python开发技能测评(初级)是对于初级Python开发者的应用技能的测试,包括了:Python基础语法使用、Python应用领域、Python相关开发知识(如爬虫基础、web程序基础和网络编程基础知识)的考核。

Python开发技能测评(中级)

「链接」

Python开发技能测评(中级),是对于中级Python开发者的应用技能的测试,考核内容主要分为两个部分,Python编程知识:考核开发者对于Python初、高级编程知识的应用;应用部分:考核开发者对于AI、Python爬虫、Python web、数据分析和网络编程等应用领域的知识及工具的使用。

Python开发技能测评(高级)

「链接」

Python开发技能测评(高级),是对于高级Python开发者的应用技能的测试,考核内容分为以下几个部分:Python基础,考核了Python基础、高级知识、语法糖的使用和数据结构基础知识;应用部分,考核了Python web框架、爬虫框架、socket编程和AI开发知识。该考核需要具备Python开发经验和Python各领域框架使用经验。

Python的奇怪操作

「链接」

本课程主要介绍Python语言的代码特点,并通过华为云AI开发平台ModelArts进行代码的操作演示。

五、书单推荐

Python基础教程(第2版·修订版)

本书含有大量的实践案例,你可以学会如何利用各种Python库高效地解决各式各样的数据分析问题。介绍了ipython 、notebook、Numpy、Scipy和Pandas包的使用等,只要掌握了python的基本语法就可以学习。

笨办法学Python 3

本书容易理解且读起来幽默风趣,对于编程初学者和Python语言新手而言是理想的书籍。作者卢布诺维克带你从基础知识开始,到更加加深入和多样的议题,用混合了教材以及指南风格的代码片段来解释Python 3中的概念。展示了如何通过各种工具和开源代码包,将Python应 用于商业、科学和艺术等领域中。

附上过去一年多在 PyPI 上下载次数最多的 Python 软件包。

1 Urllib3

Urllib3是一个 Python 的 HTTP 客户端,它拥有 Python 标准库中缺少的许多功能:线程安全;连接池;客户端 SSL/TLS 验证;使用分段编码上传文件;用来重试请求和处理 HTTP 重定向的助手;支持 gzip 和 deflate 编码;HTTP 和 SOCKS 的代理支持

2 Six

six 是一个是 Python 2 和 3 的兼容性库。这个项目旨在支持可同时运行在 Python 2 和 3 上的代码库。

它提供了许多可简化 Python 2 和 3 之间语法差异的函数。一个容易理解的例子是six.print_()。在 Python 3 中,打印是通过print()函数完成的,而在 Python 2 中,print后面没有括号。因此,有了six.print_()后,你就可以使用一个语句来同时支持两种语言。

3 Pip

大多数人都知道并且很喜欢 pip,它是 Python 的包安装器。你可以用 pip 轻松地从 Python 包索引和其他索引(例如本地镜像或带有私有软件的自定义索引)来安装软件包。

4 Python-dateutil

python-dateutil模块提供了对标准datetime模块的强大扩展。我的经验是,常规的Python datetime缺少哪些功能,python-dateutil就能补足那一块。

你可以用这个库做很多很棒的事情。其中,我发现的一个特别有用的功能就是:模糊解析日志文件中的日期。

5 Requests

Requests建立在我们的 #1 库——urllib3基础上。它让 Web 请求变得非常简单。相比urllib3来说,很多人更喜欢这个包。而且使用它的最终用户可能也比urllib3更多。后者更偏底层,并且考虑到它对内部的控制级别,它一般是作为其他项目的依赖项。

6 Certifi

近年来,几乎所有网站都转向 SSL,你可以通过地址栏中的小锁符号来识别它。加了小锁意味着与该站点的通信是安全和加密的,能防止窃听行为。Certifi是根证书的一个精选集合,有了它,你的 Python 代码就能验证 SSL 证书的可信度。

7 Idna

根据其 PyPI 页面,idna提供了“对 RFC5891 中指定的应用程序中国际化域名(IDNA)协议的支持。”

据悉,应用程序中的国际化域名(IDNA)是一种用来处理包含非 ASCII 字符的域名机制。但是,原始域名系统已经提供对基于非 ASCII 字符的域名支持。IDNA的核心是两个函数:ToASCII和ToUnicode。ToASCII会将国际 Unicode 域转换为 ASCII 字符串。ToUnicode则逆转该过程。

8 PyYAML

YAML是一种数据序列化格式。它的设计宗旨是让人类和计算机都能很容易地阅读代码——人类很容易读写它的内容,计算机也可以解析它。

9 Pyasn1

一个建议,除非你真的需要,否则还是敬而远之吧。但由于它用在很多地方,因此许多包都依赖这个包。

10 Docutils

Docutils是一个模块化系统,用来将纯文本文档处理为很多有用的格式,例如 HTML、XML 和 LaTeX 等。Docutils能读取reStructuredText格式的纯文本文档,这种格式是类似于 MarkDown 的易读标记语法。

11 Chardet

你可以用chardet模块来检测文件或数据流的字符集。比如说,需要分析大量随机文本时,这会很有用。但你也可以在处理远程下载的数据,但不知道用的是什么字符集时使用它。

12 RSA

rsa包是一个纯 Python 的 RSA 实现。它支持:加密和解密;签名和验证签名;根据 PKCS#1 1.5 版生成密钥。它既可以用作 Python 库,也能在命令行中使用。

13 Jmespath

在 Python 中用 JSON 非常容易,因为它在 Python 字典上的映射非常好,这是它最好的特性之一。JMESPath,发音为“James path”,使 Python 中的 JSON 更容易使用。它允许你声明性地指定如何从 JSON 文档中提取元素。

14 Setuptools

它是用于创建 Python 包的工具。不过,其文档很糟糕。它没有清晰描述它的用途,并且文档中包含无效链接。最好的信息源是这个站点,特别是这个创建 Python 包的指南。

15 Awscli

这里把 #3、#7、#17 和 #22 放在一起介绍,因为它们的关系非常密切。

16 Pytz

像dateutils(#5)一样,这个库可帮助你处理日期和时间。有时候,时区处理起来可能很麻烦。幸好有这样的包,可以让事情变得简单些。

17 Futures

从 Python 3.2 开始,python 提供current.futures模块,可帮助你实现异步执行。futures 包是该库适用于 Python 2 的 backport。它不适用于 Python3 用户,因为 Python 3 原生提供了该模块。

18 Colorama

使用 Colorama,你可以为终端添加一些颜色:

19 Simplejson

原生的json模块有什么问题,才需要这种高级替代方案呢?并没有!实际上,Python 的json就是simplejson。但是simplejson也有一些优点:它适用于更多的 Python 版本;它比 Python 更新的频率更频繁;它有用 C 编写的(可选)部分,因此速度非常快。

为什么这么多人在学Python呢?很多小白都听说Python很火,简单易学,学起来很容易,学习周期短,可是为啥要学Python呢?,下面谈谈我对Python的感悟。

在PC时代大量的嵌入式的设备,底层的代码,底层原理,以及底层逻辑运用,以及桌面的应用都是用C、C++实现的,毋庸置疑它们是最接近底层,对底层有着强大的解释说服力,也是最早的、最快的。随着2000年电商的大规模的兴起,多数人融入到这个大家庭中,逐渐地从PC时代过度到互联网时代,Java开始王者归来,再加上2010移动互联网的爆发Android开始风靡起来,Java更是如日中天,走向了辉煌。那我们现在为什么要学习Python呢?Python到底是用来干什么的?

上面的application()函数就是符合WSGI标准的一个HTTP处理函数,它接收两个参数:

environ:一个包含所有HTTP请求信息的dict对象;start_response:一个发送HTTP响应的函数。

在application()函数中,调用:

2、网络爬虫

许多人对编程的热情始于好奇,终于停滞,小有成就就止步于此。

距离真枪实干做开发有技术差距,也无人指点提带,也不知当下水平能干嘛?就在这样的疑惑循环中,编程技能止步不前,而爬虫是最好的进阶方向之一。

网络爬虫是Python比较常用的一个场景,国际上,google在早期大量地使用Python语言作为网络爬虫的基础,带动了整个Python语言的应用发展。以前国内很多人用采集器搜刮网上的内容,现在用Python收集网上的信息比以前容易很多了,如:

从各大网站爬取商品折扣信息,比较获取最优选择;对社交网络上发言进行收集分类,生成情绪地图,分析语言习惯;爬取网易云音乐某一类歌曲的所有评论,生成词云;按条件筛选获得豆瓣的电影书籍信息并生成表格……

应用实在太多,几乎每个人学习爬虫之后都能够通过爬虫去做一些好玩有趣有用的事。

例子:爬取网络上的歌曲

3、人工智能

人工智能是现在非常火的一个方向,AI热潮让Python语言的未来充满了无限的潜力。现在释放出来的几个非常有影响力的AI框架,大多是Python的实现,为什么呢?

因为Python有很多库很方便做人工智能,比如numpy, scipy做数值计算的,sklearn做机器学习的,pybrain做神经网络的,matplotlib将数据可视化的。在人工智能大范畴领域内的数据挖掘、机器学习、神经网络、深度学习等方面都是主流的编程语言,得到广泛的支持和应用。

人工智能的核心算法大部分还是依赖于C/C++的,因为是计算密集型,需要非常精细的优化,还需要GPU、专用硬件之类的接口,这些都只有C/C++能做到,所有c/c++和P相结合就可以实现人工智能。

4、Python的其他应用举例

系统编程:提供API,能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。

图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。

数学处理:NumPy扩展提供大量与许多标准数学库的接口。

文本处理:Python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用Python进行XML程序的开发。

数据库编程:程序员可通过遵循PythonDB-API(数据库应用程序编程接口)规范的模块与MicrosoftSQLServer,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。Python自带有一个Gadfly模块,提供了一个完整的SQL环境。

网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet及BitTorrent.Google都在广泛地使用它。

Web编程:应用的开发语言,支持最新的XML技术。

多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。

黑客编程: Python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。

以上部分内容分享自华为云社区《【云驻共创】你知道在未来Python主要的运用途径和领域吗?》,作者:楠羽。

网友「啊窝额 」发表观点
2024-02-02

1.在家里完全自学可行吗?

在家里用半年的时间,每天抽出来时间去学习python是可行的。但是有一点,没有学习气氛,容易迷茫。如果有自制力而且对python这门语言很喜欢愿意去了解的,坚持。要注意的是,找到合适的路线图去逐步学习,不要在网上随便找到教程就去看去学,学习要系统。不然东一点西一点容易自己把知识学乱。

2.没有数学逻辑和英语能力能学python吗?

初期是可以的,我看了很多人的回答,都说可以的。但是仅仅限于初期~python的语法简捷而清晰,适合入门。如果将来涉及到工作,可能仅仅入门水平真的不够。不过每一个程序员,都在不断的补充自己当中,跟着时代的发展才不会被淘汰。

3.如何不浪费自己的时间去学习python?

第一阶段应该了解的是最基本的核心编程:语法,linux命令等

接下来的几个阶段就是分块的去学习了,找好自己未来的发展方向。找到重点再去重点学习。

以上就是python自学的内容,如果按照上面的阶段步骤去学习的话,不敢保证每个人都能在半年之内python学会,但是一定会节省很多时间的。还有就是每一个python入门者都要面临到的选择,是用哪个版本的问题?2.x还是3.x,这两个版本不兼容,大家可以自己选择,多问问一些大神的意见。祝每一个想转行的朋友们,都能快快落实行动。每一个付出行动的朋友们都能学到知识。

网友「IT人刘俊明 」发表观点
2024-02-02

Python编程并不复杂,非常适合零基础学习,学习的初期对数学几乎没有要求,所以并不需要担心数学的事情。早期需要记住一些单词,即使英语不好也不会有很大的影响,但是重要的单词还是要记住的。

学习Python并不需要半年的时间,如果每天都能拿出一定的时间来学习的话,一周左右就能把语法搞清楚,顺便还能做一些小实验。再经过一个综合性的实验基本上就算是入门了。至于精通一门语言,这需要时间和项目的锤炼。如果是自学的话,很难做到精通一门语言,因为实际使用和自学还是有较大的差距。

我个人的建议是这样的,首先到Python官网下载一个Python开发环境,最好下载3.x版本,然后一边学习语法一边做实验,这个过程不要持续太长时间,最好控制在一个月左右。

网友「不羁放纵爱自由152639911 」发表观点
2024-02-04

Python语法简洁,清晰明了容易上手,而且开发环境的安装非常简单,只需要到Python官网上去下载解压完成,安装即可。把Python作为以后的发展方向也是非常不错的。随着人工智能,大数据,云计算的发展,Python备受关注,Python的应用无处在不在。

在家里学习的话,可以通过看一些比较经典的视频教程来进行学习的。把空余时间充分的利用起来,系统的学习,每天保证一定的代码量,比如说,每天有四个小时以上的写代码的时间,半年是可以学出来的。

二、web前端

四、Linux

六、数据可视化

八、人工智能

网友「爱生活湖泊7b5H 」发表观点
2024-02-02

完全依靠个人能力、自学能力来看

如果你之前完全没接触过,想要半年学会python都会比较困难一点,更何况精通,就有点大了。

自己辛苦的,花10%时间看书,10%时间看些视频跟着学,80%时间上机动手编程,把别人代码一个一个敲进去,让他跑起来,看到效果。

如果你有其他计算机编程经历,去学python就会快一些

网友「大海的欣 」发表观点
2024-01-29

谢邀。

Python是一门上手快,易学习的编程语言。自学只要有毅力,掌握是没有问题的。引出内容并不太需要过多的数学知识,题主提到了英语水平,其实跟英语水平关系也不大,毕竟都是一些固定的词语。

Python是一种高级编程语言,其更像自然语言,因此并没有什么太难的地方,掌握其中的关键语法,加上灵活应用,而且Python第三方库非常强大,基本上可以写一些简单的工具,比如像记事本,音乐播放器,论坛,聊天工具(仿微信),都是可能的。

现在网络上有很多免费的教学资源,视频也有,书记资料也有,可以为题主提供学习,同时也有各种题库,用来检验题主学习成果,也是对自己所学内容的一个及时反馈,指引题主下一步该怎么样学习。

网友「阿新000 」发表观点
2024-02-04

在家蒙头从零开始的话,难度太大了,100个人,成功未必有一个。看书型学习效果不大。必须参与一个具体的项目。另外,上班8小时学习是不够的。起码要2,3年,每天下班后再专研2,4小时,才能吃这行的饭。码农的学习成本相当大。不像很多行业,即使没有实操经验,看的多了,也能侃侃而谈。码农,上机,立即无所遁形。

网友「geyall 」发表观点
2024-01-31

精通不可能,熟练掌握没问题。精通需要你有完整的知识结构,编程不是只会一门语言就行的。网络,数据库,数据结构等等这些东西都有用。

半年时间足够你学一门语言,加上一些其他知识了。先学学python,数据库,数据结构吧。买一本书,网上再看看视频教程,多动手写写,定个计划,每天学多少,坚持下来,是可以学会的。

网友「桓艺恒 」发表观点
2024-02-01

零基础到精通是一个不断学习积累的过程,需要从实战项目中不断的挑战总结,而且还要刻苦钻研的精神,所以我建议先开始一个零基础到入门阶段的过程

自信和兴趣是学习技术的动力

你喜欢互联网技术,那么你仔细的想想,你到底是喜欢互联网的哪个方向技术,也就是说你感觉京东,淘宝的商城很炫酷,想学习做UI,前端设计呢,还是想学习他的后台的功能实现逻辑。首先确定自己想要学习的方向,那么学习起来就会事半功倍

学习的方法步骤

这一点其实网上有很多的资料,基本上都是大同小异,学习起来的过程就是跟学习语文,学习英语一个道理,因为本身Python就是一门语言。那么学习语言的基础都是通用的

学习语言 基本语法知识,这一块的内容比较枯燥,但是是你以后学习成长的基石。那么基本的知识就是语言的基本数据类型(数字,字符串),基本数据结构(列表,字典,元组等) ,基本的流程控制(if判断,for循环)

有了基础知识的了解之后,相当于学习语言背会了单词,背会单词之后,那么就可以造句子了,用基础的语法知识可以编写一些小的功能函数。比如可以利用for循环,字符串打印出来九九乘法表

对函数有了基本的认识之后,那么可以进阶到类这个概念上,可以简单的将类当做一些功能函数的集合。了解类和函数,就可以练习写一些工具了,比如可以实现一个随机验证码的工具

做事情持之以恒

当你把基本知识掌握了以后,算是基本的一个入门了,这个时候还需要通过实战的项目不断的强化自己,可以阅读一些优质的开源社区的项目源码,通过学习优秀项目来拓展自己的思维和视野,那么你也可以阅读一些国外软件官方的说明文档,正好可以通过阅读英文的文档来增强自己的英语水平,前期借助翻译工具进行一个个的单词对照,慢慢的,你会自己适应起来阅读英文的文档。

总之,坚持就是胜利,每天坚持学习,相信会有不错的收获

网友「黒子55032286 」发表观点
2024-02-04

其实零基础没关系,大家都是从基础过来的,都有一个成长的时间。英语和数学方面,需要你在学习的过程中多下功夫,多练习,熟能生巧。我是学习这方面的,有很多英语知识也是新学的。自学没问题,但是我觉得半年精通python,有些困难了,你得补充英语知识,得补充数学知识,还要搜集系统的课程,遇到问题也要自己解决,这都是需要时间的。这过程中对体力,脑力,还有耐心,毅力都是非常大的考验。而且我看你说的,是计划就业呢,那学习的东西肯定要全面,并且结合岗位需求,网上那么多免费课程,不是每个都有这个标准的。喜欢这个技术,总是要试试的。如果还没有入门,我推荐你去看看北京尚学堂高淇Python400集,免费的教程,特别适合初学者入门,讲的很细,而且是面向就业的,400集的内容足够你对自己的学习做个规划了。这是我看过的教程,确实不错,推荐给你,这大概只是全部内容的四分之一,你结合自己的学习情况,看看怎么学习更适合自己,再做计划。

网友「我是双鱼座2020 」发表观点
2024-01-28

其实零基础没关系,大家都是从基础过来的,都有一个成长的时间。英语和数学方面,需要你在学习的过程中多下功夫,多练习,熟能生巧。我是学习这方面的,有很多英语知识也是新学的。自学没问题,但是我觉得半年精通python,有些困难了,你得补充英语知识,得补充数学知识,还要搜集系统的课程,遇到问题也要自己解决,这都是需要时间的。这过程中对体力,脑力,还有耐心,毅力都是非常大的考验。而且我看你说的,是计划就业呢,那学习的东西肯定要全面,并且结合岗位需求,网上那么多免费课程,不是每个都有这个标准的。喜欢这个技术,总是要试试的。如果还没有入门,我推荐你去看看北京尚学堂高淇Python400集,免费的教程,特别适合初学者入门,讲的很细,而且是面向就业的,400集的内容足够你对自己的学习做个规划了。这是我看过的教程,确实不错,推荐给你,这大概只是全部内容的四分之一,你结合自己的学习情况,看看怎么学习更适合自己,再做计划。

网友评论(0)

暂无网友评论