想自学Python,请问有人指点一二吗?

千年小白


python 自学就可以 没必要报学习班。多测试,练习,多读源码,github上面有很多 开放的小项目。python 比较流行的框架 flask django。可以从实现一个小网站或者智能识别照片 一个简单的小需求 来驱动学习。人工智能有很多框架 tensorflow 是主要核心,但是机器学习要求比较高,微积分,概率,导数,这些要学好。如果不会这些,建议往web应用上面走,django + mysql 还是很好学的。


小黑同学


看你想学多深。

最简单的是语法,这个网上到处都是。甚至可以直接跟着python官网的入门教程走一遍。而且官网看的都是最新版。(python不同版本还是有些差别的,有些旧版的写法新版未必适用)如果觉得看文字类的现在视频网课也很多。特别提示,这一步请重点记住里面的概念和名称。这些东西不影响你写代码但不熟悉的话后续一些教程看起来吃力。

语法基本了解后可以按自己的兴趣找些开源代码。代码中会涉及一些资源工具包。有些是自带的有些是三方的。(面向对象的魅力之一就是这些包,实现很多功能未必要自己写。调用其中功能就好。)这类功能很多,看自己兴趣在哪里多看看别人的。熟悉这些包后可以自己实现一些简单功能。

接下来可以按自己的喜好了解一些框架或api。比如人脸识别,你可以用google的tf框架实现,也可以直接调用阿里的api。用这些东西可以简单实现些比较复杂的功能。具体哪种方式好自己多试试比较。至此,大部分功能性的东西都能做了。多写写多看看积累经验。

接下来功夫在诗外了,首先是软件工程和算法设计。把上述内容比喻成积木的话了解各自拼搭的设计原则和总体优劣。然后是数学功底,一般比较常用的是线性代数和离散数学。


跬步求索


你好,老修来分享一下你的问题。

老修是去年自学的Python,刚刚开始选择的方向是自动化运维,不过现在主要用它来爬一些数据,自己做拍视频用,为此我特意写了三篇关于自学的文章(12个月,零基础自学Python语言心得分享-上篇(内含建议和方法)),你可以参考一下;

那这里我们谈谈你说的这个人工智能,这个是有一定门槛的,具体的就不谈了,说说如果自学可能性大吗?可能性比较低,可以很肯定的和你说,我们先来看看它的线路:


学完Python基础以后,是数据模块,它需要学些什么呢?首先需要大专以上,本科这样的数学基础,大概有:线性代数,微积分,代数,概率统计学,只是基础,也没真让我们去用它来算;后面对人工智能的Python算法,需要做好几个模块,比如Numpy等;那里边还有有神经网络,这里又有两个派系,所以需要学的很多,想通过自学,可能性很小,学会了,人家也不一定敢要你。


粗粗的我们就谈这些,希望我的回答能帮到你。


纪老修


1. 明确学习目标,了解学习语言的发展背景

学习要有目的性,盲目的学习只能说是浪费精力与时间。

许多初学者在选定编程语言后,会在网上收集一堆网课或是书籍资料,一存就是几个GB的百度网盘,反正越多越好,越多心里就会有一种越踏实的错觉感。但是你会慢慢的发现,存了这么多视频,根本没有那么多时间全部看完,大部分的视频仅仅是占坑罢了!

也有一些同学自律性比较高,挑出某些系列视频网课,看个前几章,然后看着看着,就坚持不下去了,学到的只是视频前奏的皮毛知识点,自己动手编程的时候,还是一脸懵逼,最终放弃了编程。就像上面提到的观点一样,盲目学习只会浪费自己的精力与时间。

首先做的事是去了解了 Python 的发展背景。就像负责的网课老师在开头正式讲课之前,会讲语言的发展历史。创始人是谁?名字的由来?迄今为止有多少年的存活历史了?对应的社区活跃度高不高?到现在最新的版本是多少?涉及的领域有哪些?(说白了就是,能用它干什么事情?)

Python 到底可以来干什么的?这些问题应是在学习一门编程语言前调研清楚的,古语云:“知己知彼,才能百战百胜” 都是一个道理。拿 Python 的版本来说,假设你没有调研,你知道要学习它的 Python2 还是 Python3 吗?网上的视频资料都是有时效性的,依然一些视频采用的还是 Python2 讲解。Python2 系列在去年官方就已经放出,将在 2020 年停止维护的通知,既然这样,那学习 Python2 还有必要吗?肯定是强烈推荐学习 Python3 了呀,就不要浪费精力和时间在一个即将停止维护的版本上了。

2. 记笔记,画思维导图,查文档

记笔记是一门学文,试问在高中上学时候,为什么我们需要记笔记呢?就是因为知识量很大,不得不用笔记下来,等到用到的时候便于回顾。现在科学已经很进步了,笔记就不要采用传统的方式进行记录了,在学习的过程中,可以使用有道云笔记这样的工具来高效率记录。一边学习,一边整理输出自己的学习笔记。这样的过程就像计算机处理程序一样,输入 -> 思考 -> 输出。

类似下面:

如果有精力,可以下载一个 xmind 这样的工具,画出一个知识点的思维导图。看过笔者之前文章的,想必看到过思维导图的出现。思维导图与文字笔记最大的差别,就是架构分层性。

一份好的思维导图可以很醒目的将知识点分层展现出来,如正则表达式的文章中:

关于文档查看这项必备技能,写 Python 程序中必不可少。大部分时间都是在调用人家写好的方法或者函数。如何有效的,准确的了解你想要的参数,以及参数内容是什么?必须要学会查询文档去得到自己想要的,推荐官方文档,比较权威且具有时效性。后面会把个人认为权威的文档整理写出来。

3. 多动手,巩固基础

要明白一个道理“实践出真理”,往往许多初学者最大的问题就是:我看懂了,不用跟着敲肯定也没问题!

如果你抱有这种心理,请务必注意,多动手!即使你感觉你会了,相信我,那只是艾宾浩斯记忆曲线在作怪。

一个人刚学习时,信息输入大脑后,遗忘也就随之开始了。遗忘率随时间的流逝而先快后慢,特别是在刚刚识记的短时间里,遗忘最快,这就是著名的艾宾浩斯遗忘曲线。

刚开始学时,你会觉得百分之百会,你等过20分钟再试试,等过1个小时后试试!!!所以说,初学者一定要动手敲!只有敲才是王道!敲代码的过程中,伴随着大脑回顾的记忆与思考,有时即使照着敲,也是会发生错误的,此时正是反思的好机会!切记!!!

就像昨天有位读者正在练习,对着源代码敲了一遍,意识到了自己打一遍错误百出,这一出错,纠正之后,肯定收获也不小!所以动手非常重要!为了保护个人隐私,抹去头像了(别介意哈):

当你真正动手敲代码的时候,也许会觉得很浪费时间,但实际上这种学习方法大大提高了摄入知识的效率,以时间换空间的做法,何乐而不为呢?

4. 遇到问题时,合理的利用搜索引擎

在之前的文章中写过一篇,如何高效的利用搜索引擎。不妨去看看其中介绍的搜索引擎,你在初学过程中遇到的问题,肯定有不少前辈们早已经遇到过了。遇到问题时,首先想到的就是通过搜索引擎去解决,如果自己尽力了还是没有解决,再去请教别人。比如提问的网站,知乎、慕课网、CSDN等。。。


初更


首先不知道题主是有一定编程基础还是小白,如果有一定编程基础的话,可以直接跳过第一第二步。

首先第一步,寻找学习资源。现在互联网非常发达,网上的学习资源非常丰富,去找一套培训机构的系统的学习视频教程去坚持学习。

第二步,给自己制定一个完整的学习计划:我要花多长时间把这套课程学习完,能做出什么东西来。这样让自己每天带着“任务”去学习而不是三天打鱼两天晒网。自学者遇到的最大问题就是遇到困难之后很容易坚持不下去。同时要善于利用搜索引擎自己去解决问题。

第三步:任何语言,从最基本的语法开始学起,就像我们学外语,只有掌握语法才能写作文。掌握语法之后,开始尝试自己动手敲,划重点,一定要跟着敲,这也是初学者最容易犯的错误,看着感觉好像会了,但实际自己写却写不出来。所以一定要多敲,找感觉。

第四步:掌握了基本语法之后,进一步去网上找别人的代码学习(推荐全球最大男性交友社区github.com),看别人怎么用它做项目。同时自己能做出一些小应用也可以增加成就感。

第五步:前面已经开始入门了,想达到工作的水平,就需要去掌握几个流行的框架,框架能大大提高我们的开发速度。

第六步:工作了一段时间了,你不甘于当个代码搬运工,开始对代码有要求,要自己去创造代码。这时候就可以去阅读一些有名项目的源代码,学习作者优秀的设计思想。然后可以尝试着去开源社区贡献自己的代码,贡献自己的开源代码是驱动自己成长最快的方式。


一介p夫


随着大数据和人工智能的发展,目前Python语言的上升趋势比较明显,而且由于Python语言简单易学,所以不少初学者往往也会选择Python作为入门语言。

Python语言自身的语法结构还是比较简单的,即使没有任何编程语言基础也能够学得会,而且Python语言的实验环境也比较好搭建,所以建议初学者首先尝试自学一下,这个过程也能够锻炼自己的自学能力。自学能力对于程序员来说还是非常重要的,因为程序员本身就是一个需要终身学习的职业。

自学Python可以分为以下三个阶段:

第一:基础语法学习。Python的基础语法包括两大部分,其一是函数式编程部分,其二是面向对象编程部分。函数式部分的内容还是比较简单的,包括列表、函数、字符串、流控等内容,这部分实验也比较好理解。面向对象部分则需要具备一定的抽象能力,要理解类的概念以及多态的概念。总的来说,Python的基础语法部分通常还是比较容易掌握的,初学者大概使用2到3周的时间就能初步掌握。

第二:制定发展方向。Python的应用领域包括Web开发、大数据开发、人工智能开发和嵌入式开发等,对于初学者来说,选择Web开发方向是比较常见的选择,一方面Web开发涉及到的知识结构比较全面,另一方面Web开发的技术体系也比较完善,学习案例也比较多。如果数学基础比较好,也可以选择大数据方向。

第三:编程实践。通常来说,在选定完学习方向之后就应该一边实践一边学习,在实践中学习会有一个较为快速的成长过程。实践包括两部分,一部分是验证实验,而另一部分则是岗位实习,岗位实习对于学习Python等编程语言还是比较重要的。


数字家居申先生


相信大多人在学习Python之前 肯定都自己了解过这门语言,也知道Python有很多的学习方向,比如说数据采集方向(爬虫),或者Web开发方向,也可能是最近特别火热的人工智能方向。每个方向所需要的技术都是不尽相同的,所以在我们学习完成Python的基础语法之后,一定要慎重选择自己之后的进阶方向。(推荐学习:Python视频教程)

学习Python的基础语言

就像学习其他编程语言或者是学习一门外语一样 ,我们应该从Python的基础语法开始学习 ,了解什么是Python的变量 什么是循环 什么是函数,什么是模块。类等等。总之,基础是学习以后高级开发的基石。

学习Python的文件操作

学习完基础之后,我们肯定要进行一些简单的联系。文件的操作是我们不二的选择,因为无论是文本文件。XML格式的文件还是Office办公系列的文件。我们统称之为文件操作。

我们在学习文件操作的时候,要学习文件的写入和读取 以及了解各种文件之间的读写不同知识点。相信在学习完成之后,对于文件的操作 大家一定会得心应手。

学习Python的数据库编程

在我们学习完成Python的文件操作处理之后 肯定会对于文件的不便性有一定的理解。所以这个时候我们就要学习Python的数据库编程了。数据库有Mysql数据库,Oracle数据库和Sqlite数据库。Sqlite数据库是Python自身拥有的,而其他的数据库则需要我们安装相应的操作模块。

一般,我们学习Mysql数据库的操作即可。数据库的增加数据,删除数据,以及查询数据 以及对应的SQL语句是我们学习的重点。

学习Python的网络编程

在我们这个时代 ,相信大多数是离不开互联网的,我们要学习网络编程。一般了解一下三个方面就可以了。

1.写出基本的TCP连接,知道编写TCP的各个步骤,例如创建socket、绑定port、端口复用等,对TCP稍微做了解,知道协议的每个字段,了解三次握手

2.了解基本的服务器并发模型,例如多进程、多线程、IO复

3.了解一些网络库例如twisted

更多Python相关技术


2020探索新梦想


一个非常好的问题。我是工作多年的Web应用架构师,来回答一下这个问题。欢迎关注我,了解更多IT专业知识。


Python自学入门不难,也可以尝试加入开源项目的开发,真实项目(不同于培训班),又有人指点,进步会很快。


如果关注AI技术,Python在AI领域是主流开发语言,Django是应用广泛的开源框架,在开发的一个开源项目AI人脸处理应用,基于Python + Django + Redis + ActiveMQ + Celery,和Java API服务组成一个跨平台异步任务调度系统,用到的技术栈仅供参考。


整理的Python学习练手源代码,私信“HelloPython”获取下载地址。


急速马力快de源码客


Python非常容易学,也容易写。比如:Hello World在Python里面直接写Print "hello world.!".


Charles端阳


python基础很好学的,超简单,网上很多视频。人工智能这块对数学的要求非常非常高,很多东西看起来相当的吃力。


分享到:


相關文章: