Python广告,铺天盖地,小白们雾里看花,Python无限美好。作为会20几种语言(BASIC Foxbase/pro VB VC C C++ c# js typescript HTML ArduinoC Delphi VBA VB 汇编 scratch java swift python sql vbscript ...)的爱好者,我先说说如果入门python应该想好三大问题,并且在此戳穿三大谎言:

问题一 是不是兴趣?

确认你不是被短期贩卖焦虑的广告撩动的一时冲动,就像我虽然不是程序员但坚持写了二十几年程序,这不是一时兴起能坚持下来的。如果有强烈使命感,真是感兴趣,笑看本贴后,好好看我其它的文章学好编程,因为谁劝你也没用。判断标准就是你平时是否对科技类产品的爱好能长期坚持。否则请沉下心来,仔细往下看。

问题二 用来干嘛?

编程语言就是万能工具,同一种语言,同一种梦想,这是不可能的。

1. 萌懂高初中生。

考虑到中国学生的现实,如果你是高考前的学生,学习python对于纯参加高考学生的意义不大,学好python可以拿几个编程,人工智能比赛的奖是没问题的,择校和申请海外名校有一定帮助,但要投入一定的精力,高中生的逻辑思维已成形,正是形成社会型、批判性思维的关键时刻,过份的逻辑可能会形成刻板映象,可能不利于此时应该成形的社会观、世界观、人生观的形成,想靠编程促进逻辑思维是天方夜谭,收效不大。

2. 无敌的初一(二)和小学生。

此时的孩子天马行空,STEM教育反而应提前布局,通过学习Python来了解基础的语法,的确可以促进孩子扩展解题角度,提高逻辑思维,培养规则意识。有人质疑这会抹杀孩子的想象力,大错特错!中国教育太注重1+1是如何算出来的,天天做计算天天练(shit!),难道这些简单的算式题不都应该交给计算机去做么?学习编程后这些死算硬背的东西编程语言自会处理好,孩子发挥想象空间大了,她会想用这样看似简单的语句组合搭建能解决问题的系统。在此,建议注意基础的学习,应用型技术比如WEB网站,动画制作等可以凭兴趣学点即可。此时学习切不可贪多求全,因为没有必要,培训机构谎言之一:夸张的说python20年不过时!Oh my god,牛叔我学习的语言中已有一半已不复流行,微软曾经力推的vbscript当时几乎与JS二分天下,还不是泯然众人矣,但学习好基础是重点,千变万化均在其中,牛叔初看python语法就在一周内做出了商用智能仪表网站,学习成本几乎为0。

3.浪漫的大学生。

无论什么专业,咱啥也别说,分点谈恋爱的时间,学点python考个计算机二级证书,未来无限好,好处少不了。理工科、金融经济学的学生少不了数据分析,同样的论文你用excel做比用python差了不止一个档次。文科学生,用python做个语义分析、文学史比较、爬个文学网站,艺术舞蹈类以后搞自媒体学点技术美化下视频、B站、淘宝网站也没坏处。

4. 高逼格的商用系统支持与开发。

python本身就是壳语言,作为linux体系的从业人员无论是系统支持还是系统开发,均建议毫无保留的要学习,对国内微软体系的从业人员,除了纯技术的程序员,大部分倾向于咨询方向,其实学不学问题不大。

5. 时髦的手机物联网开发。

实话实说,目前python在移动前端的优势并不大,涉及后端开发api接口、网站等方面,还是简约不简单。培训机构谎言之之二:python是开发APP,大型游戏的语言,还说某宝某陌某微APP是python开发的。基本上是扯***。服务于APP和游戏的API网站是用python开发的我信,大品牌安装到手机上的APP程序真心很少用python来写,游戏的逻辑部分用python写的也有比如:文明四,网易一些网游,但核心引擎都是外采或用C语言写的以供python调用,python能开发APP不假,但由于开发,部署,功能都不太方便,很少被大厂去使用写APP。同样,物联网应用也有把python写入芯片的骚气操作,比如MicroPython。但绝大部分python还是作为测试工具、API平台的编写语言,而不直接往终端设备里写程序。 Python只是天上那一朵云,你的设备用的云,是它开发的。

6. 提升办公技能。

这就到了我们第三个谎言:python运行效率高,能瞬间处理几百个表格,我学会python后把原来十几个小时EXCEL工作量几秒就完成了。debat这个慌言这分两块:

首先从python来讲,能提升办公技能完全不假,处理数据却不是最快的,它的代码运行效率在编程语言中最差。它本身是由C语言编写也是解释性语言,因此对于运算要求高的深度神经网络和3D游戏程序需要编译或转成C语言来运行,当然它处理办公数据时这点差距并不重要,会在意那0.1秒的回眸呢?(除非是美女)python要处理word,excel需要依赖大量第三方库,由于微软的文件格式变化较多,存在大量兼容性问题,DEMO中老师给的都是优化后数据,你工作中会碰到大量问题,比如excel的97格式不认,公式读不出来,合并单元格数值不对,日期不识别……为了一个小问题你要耗一天,这种门槛老师可不会给你手把手解决(我会),开源软件的版本也多,每个版本之间的兼容性也有差别,你可能用了最新的版本,但不一定工作的很好。

第二,从办公软件方面讲。微软的办公系统已经内置了非常强大的功能,无代码化的操作已经非常方便,任何使用编程软件完成的功能,现在已经90%可以使用内置的鼠标点击及拖拉完成。EXCEL可以使用PowerPivot可以分析生成百万级数据图表,其中数据透视表可以实时的给你统计和分析内容,再搞不定可以连接sql数据库学点SQL语言才是正道;Word可以使用邮件合并功能,一次性生成几十篇请贴,也可以引入变量插入文档……学好这些内功,比使用外部工具来操纵它更能体现效率。你能想象几分钟能完成的拖拉数据视图,要用Python搞一个小时还不能用在其它类型的EXCEL表中的痛苦么。另外。微软的一系列编程工具里面,对office组件可以做到无缝支持,VBA可以完成一些自动化的功能,再复杂的C#也可以轻松编程搞定,而且很少出现各种问题。

在办公上Python优势在大数据和功能整合(胶水语言特点)方面明显,利用Python可以快速处理简单而大量的数据,类似于大数据处理,复杂的数据处理通过与数据库的连接来完成,可以迅速搭一个收集数据、处理的平台(当然微软的SharePoint也可以)。但一条原则,这是在学好Office前提下,此时估计你已经能处理99%办公上的问题。

问题三 怎么学?

靠自己,靠实践。古语有云:“耳闻之不如目见之,目见之不如足践之。” 只有自己亲身完成的事情才会在大脑中形成回路,上帝不会让你付他8.9元告诉你,怎么造世界。创造Python世界,只有你自己才可以。所谓跟着老师写代码,然后分享朋友圈,无非是给自己的心理找安慰,结合自己的体验才是真功夫。学习编程好处是写的代码可以立即实践运行给你点亮成就感,我们首先要做的就是给自己建立一个逐步深入的小任务组,在每完成一个任务后检查自己与高手的区别,并且更进一步不断循环迭代加深。

举个栗子:如果你是无敌小学生,为了占领这个世界,咱先定一个小目标:造计算器。
那么目标集合可以这么层层设计。

1、原理:在程序中进行计算 (学会了基本的计算语句)

计算原理

2、简陋计算器:用户输入算式能计算 (学会了输入输出和eval语句)
3、容错计算器:输入错误能识别(条件)
4、成品计算器:出结果后等待下次输入(循环)

5、豪华皮肤:画出计算器的界面(pygame作图)
6、激活按钮:根据鼠标点击计算器按钮显示数字(pygame事件)
7、豪华计算器:完成计算器的制作(pygame文字贴图和计算)


豪华计算器

通过上面的7个步骤,就可以在一周内制作出如上图精美的计算器,全程靠自己的知识逐步积累,学会这个任务后,才会发现python其实很简单。

小牛叔根据自身的学习经验,总结提练学习编程三步曲:

1、选好能逐步点亮成就感的小任务
2、独立网上找资料完成,不断迭代
3、读源码检查你和高手的区别

通过完成简单的任务后,你自然会知道如下几点:

1、python错误了到哪里检查错误
2、新的python知识到哪里找资料
3、我的任务python到底能不能完成
4、以后自学的方向是什么

欢迎关注小牛叔,共同探讨在学习之路的经验,避免学习的坑。

渔与鱼谁更重要?

Python入门的三大问题和三大谎言的更多相关文章

  1. Python 入门 之 面向对象的三大特性(封装 / 继承 / 多态)

    Python 入门 之 面向对象的三大特性(封装 / 继承 / 多态) 1.面向对象的三大特性: (1)继承 ​ 继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,父类又可以 ...

  2. Python 入门 之 类的三大关系(依赖 / 组合/ 继承关系)

    Python 入门 之 类的三大关系(依赖 / 组合/ 继承关系) 在面向对象的中,类与类之间存在三种关系:依赖关系.组合关系.继承关系. 1.依赖关系:将一个类的类名或对象当做参数传递给另一个函数被 ...

  3. Python学习day24-面向对象的三大特征之继承

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  4. python入门灵魂5问--python学习路线,python教程,python学哪些,python怎么学,python学到什么程度

    一.python入门简介 对于刚接触python编程或者想学习python自动化的人来说,基本都会有以下python入门灵魂5问--python学习路线,python教程,python学哪些,pyth ...

  5. day04 python入门(变量,基本数据类型)

    python入门学习 来自egon的学习套路 在每次遇到一个新事物的时候,要学三步: xxx是什么? 为什么要有xxx? ​ 大前提:python中所有出现的语法都是为了让计算机能够具有人的某一个功能 ...

  6. python入门简介

    Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...

  7. python入门学习课程推荐

    最近在学习自动化,学习过程中,越来越发现coding能力的重要性,不会coding,基本不能开展自动化测试(自动化工具只是辅助). 故:痛定思痛,先花2个星期将python基础知识学习后,再进入自动化 ...

  8. Python运算符,python入门到精通[五]

    运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运算符.赋值运 ...

  9. Python基本语法[二],python入门到精通[四]

    在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...

  10. Python基本语法,python入门到精通[二]

    在上一篇博客Windows搭建python开发环境,python入门到精通[一]我们已经在自己的windows电脑上搭建好了python的开发环境,这篇博客呢我就开始学习一下Python的基本语法.现 ...

随机推荐

  1. vue点击复制文本粘贴

    <template>  <ul>      <li> <input type="text" class="inpNone&quo ...

  2. VB.Net 正则表达式测试器

    VB.Net制作的正则表达式工具,查询结果可以导出到Excel. 界面截图: 软件下载 Regexp.rar

  3. mysql远程导出

    D:\phpStudy\PHPTutorial\MySQL\bin>mysqldump -h192.168.1.1 -u用户名 -p密码 --default-character-set=utf8 ...

  4. WEB-文件包含漏洞详解

    title date tags layout 文件包含漏洞(File Include) 2018-10-12 post 产生原因: 由于在编写代码时避免麻烦就需要把公用的一段代码写到一个单独的文件里面 ...

  5. python数据类型:字典Dictionary

    python数据类型:字典Dictionary 字典是一种可变容器模型,可以存储任意类型对象 键是唯一的,但是值不需要唯一 值可以取任何数据类型,但是键必须是不可变的,如字符串,数字,元组 创建字典: ...

  6. 收集到的技术相关网址——delphi

    1.DLL封装登录框架实现代码复用 https://www.cnblogs.com/wenwencao/articles/1333659.html

  7. Serializable 接口(序列化)

    目录 Serializable 接口(序列化) 前言 用途 如何实现 异常 serialVersionUID transient关键字 Serializable 接口(序列化) 前言 查看API文档时 ...

  8. 解决centos6系统上python3—flask模块的安装问题

    Flask 是一个使用 Python 编写的轻量级 Web 框架(所以我们前面花了那么多时间安装 Python3 呀).它被称为微型架构,因为其使用非常简单的核心以及功能丰富的扩展.虽然 Flask ...

  9. UnitTest测试框架-操作步骤

    一.UnitTest 1. TestCase 说明:测试用例 1.新建类并集成unittest.TestCase 2. TestSuite 说明:测试套件(多条用例) 方法: 1. 实例化 suite ...

  10. 点击一个ul的五个li元素,分别弹出他们的序号,怎么做?

    方法1 : for(var i=0; i<oLis.length; i++){ oLis[i].onclick = (function(j){ return function(){ alert( ...