Python,到底是什么?
- 编程
- 2023-01-24
学习 Python 语言,它能干什么?
为什么要学习编程语言?
随着大数据,人工智能盒区块链技术的不断发展和应用,很多领域的创新需要借助一些前沿技术,而软件创建由需要借助编程语言,编程语言是创新与产品之间的桥桥梁,所以创新与编程语言是相辅相成的,人们借助编程语言完成产品的落地。
为什选择 Python 语言?
语言在不断的发展和进化,有些语言已经淡出了人们的视线,有些语言则顺应时代发展,每一个语言都有其诞生的使命和孕育它的历史背景。
Python 作为一种全场景编程语言,广受好评。什么是全场景呢?
办公自动化
可以辅助 Word,Excel, PowerPoint 办公软件,把很多重复性的工作变成自动化。
运维领域
现在企业招聘都会附带一句,熟悉 Python 语言,运维工程师可以使用 Python 语言快速开发一些解决运维痛点的小工具。
自动化测试
Python 有成熟自动化测试框架
网络爬虫
数据采集好帮手
大数据分析
从前一提到大数据,我们理解的大数据是,首先按照数据仓库思想建模,接着使用ETL技术从生产数据库中采集数据,然后将数据保存到大数据平台,最后用数据仓库思维做数据挖掘,例如切片,切块,钻取等等。
所用技术无非是 hadoop、hbase、hive、spark、flink
如今的大数据分析,并不仅仅是有规则的关系型数据分析(来自数据库),而是来源渠道复杂非常复杂的综合数据分析。例如:网页、PDF文档、Execl文档、图片、音频,视频。
传统Java体系并不适合这些场景,Python 更适合,并且数据分析人员可以聚焦业务需求,而不是编程语言。
举几个例子:
分析客流量,使用摄像头采集商超人流,然后使用人脸识别技术分析客户流量情况。语音分析,从视频中提取音频,音频再提取为文本,对文本再进行分词,最后分析出现的词汇。从PDF文档中提取数据,再做数据分析现实的场景很可能是,通过爬虫爬网页,下载PDF,MP3,视频,最后还要结合生产数据库,做综合数据分析。
人工智能领域
机器学习,人脸识别,语音识别,语音合成,光学字符识别等等领域 Python 资料非常全。
物联网
Python 在 IoT 领域也是热度不减。
Python 是最好的备胎语言
现在已经不是一个人掌握一门语言,凭借熟练程度,干一辈子的时代。例如,雷军那个时代,你只需要学一门C++语言,可以干一辈子。
如今的程序猿必须掌握两门语言,一门编译语言,一门脚本语言,Python 无意是最适合学习的脚本语言。
Python 可以让你从专注语言到专注产品
在20年前很多大学生从C/C++转向Java,他们学习编程语言是为了完成论文,将他们的想法落地,如果使用C++实现代码可能要在语言上花掉80%的时间,剩下20%时间验证他的想法。如果换成Java语言,他们只需在语言花掉20%的时间,剩下80%充足的时间来完成他们的想法。
一时间,诞生了很多优秀的Java项目,例如Hadoop,Hive 等等,另一些人则坚持使用C++ 例如Hypertable 却知之甚少。
如今 Python 就如同当年的 Java 现象,使用 Python 实现你的想法,花在语言的时间只需要5%~10%,更多的时间聚焦你的产品实现上。学C++需要三年,学Java需要两年,学 Python 只需半年。
如何快速高效的学习Python语言?
学习编程的目的是什么?
学习编程的目的要明确,解决工作中遇到的痛点
很多公司是怎么死的?
很多老板创业,他的想法是先生产产品,然后再找销路,这时发现市场根本不需要他们生产的产品,最后一个都卖不出去,工厂就倒闭了。
学习也是一样,不要想着,我先学,等我学会了,在去找对口工作,结果你会发现可能等你学会了,企业已经不需要这种技术了,或者学的人特别多,竞争非常激烈,很多人抢一个岗位。
所以我们应该是以解决工作痛点为出发点,去学习编程。员工的工资取决于岗位的稀缺性和不可替代性以及为公司创造的价值。我们学习编程,就是为了在该岗位上为公司创造价值,增加岗位竞争力,从而提高工资收入。
学习定位问题?
编程是个很宽泛的说法,在编程界分成很多领域,两个领域的程序员相互都不会对方领域的知识。例如开发显卡驱动的跟H5前端程序员是两个隔行如隔山的领域。
小白怎么入门呢?
对于没有经验的人,怎么学习编程?其实学习语言很简单,可能最大的阻力是你心理上的,你从心里上否定了你学不会,学习难……
儿童都能学习,你为什么学不了呢?
所谓编程,就是流程控制,我们将现实中的流程搬到电脑上,让电脑替代人去完成。所以就必须用电脑能理解的语言去描述工作流程,这就叫编程。
从入门到放弃
为什么很多人学了一半最终放弃了?
答案是,没有应用场景。没有应用场景就等于你在学习屠龙术,在消耗你时间和生命。
我们为什么去学一门编程语言?提高自身涵养吗?修身养性吗?我们学习语言的目的非常明确,解决工作中遇到的问题啊,提高自己职场竞争力,升职加薪,为了以后可以不工作,为了实现财务自由。其他全TMD扯淡。
为什么学不会?
学不会真的不是你的问题,是教的人有问题。我们中国的教育是畸形的,在这种畸形教育下培养出来的老师,会让这种教育方式继续在你的身上延续。
我举一个例子,学电脑,第一周会教你什么?计算机原理,认识计算机,然后学习打字,学习操作系统,在学习办公软件,我当年学了三年,毕业的。话说以前用步话机都需要学习,还要培训一个月,就一个按钮的机器,他会叫你通信原理,使用手册,通联用语等等,你很难想想,就如同电话手机,让你先学一周的通信原理,基站原理,手机使用注意事项…… 这就是我们的教育,教你十几年的英语,还是学不会。
现在是否发现,手机是不需要学习,就能使用的,你只需要买一部手机,差一张SIM卡,就可以打电话。上面APP你也从来没有上过什么培训班去学吧?
看书还是看视频教程
看书这是70后和80后的学习方法,因为他们是读纸质书长大的,他们不是玩电子产品长大的。
你仔细观察,80后,90后,00后。80后使用键盘和鼠标,90后使用触屏,00后使用Siri。这是习惯问题,玩电子产品长大的90,00对电子产品有他们自己的理解,声音可以做笔记,声音可以转文本的。
80后几乎不开弹幕,而90后00后能在飞快的弹幕中找到有价值的内容。这些是70,80后老人不具备的。
90后学Python应该以看视频为主,你需要首先先建立知识体系框架,然后再通过看视频来完成知识体系拼图,最终成为完整的知识体系。
如果你没有知识体系框架,只能获得支离破碎的知识「点」,无法形成「线」和「面」以及最终的「体」。
如何快速高效的学习一门语言?
任何一门语言都是由下面几部分组成的:
数据类型、数据结构逻辑判断,循环类、函数自带库第三方库对于没有经验的人来说,1,2,3 可以需要花点时间,1~3个月足以。
对于有经验的人(之前使用过其他语言),1,2,3 只需要一周时间。
接下来重点就是类库和函数的学习,你能否熟练写程序就取决于对各种开发库的熟悉程度。新手需要不停的翻越手册,查看每个函数和参数,用过了再知道怎么使用。
我在学习Python 的时候,用了3天快速翻阅,掌握Python基本的数据类型,数据结构和语法。然后直奔开发库,从手册中找出我需要干活用到的函数,对着手册,用了一周就开发出高质量的程序,解决了工作中的实际问题。
记住在职场上,薪资的高低永远取决于所在岗位的稀缺性和不可替代性以及一位公司创造的价值。能找到公司的痛点,并解决掉,这样的员工才有价值。所以我在公司专挑骨头啃,没挑战的活我不干。
职场上从来没有「没有功劳,也有苦劳」一说,升职加薪也不会给干苦活的人。
我第一个Python程序,就涉及了多线程,进程间通信,TCP Socket,本应该使用 C 来完成的程序,使用C语言写估计要搞上半个月到一个月,我用Python 只用了一周完成。爽爆了!!!
我也用这种学习方法去学习 Go 语言,当时做区块链项目,Hyperledger Fabric 的智能合约需要用 Go 语言编写,用了不到一周就把智能合约写完。
后来又有一个项目用到了 EOS 区块链,需要使用 C++ 写智能合约,我也如法炮制。
碎片化学习
我会说这样的学习方法,缺点是不扎实,但解决实际问题。扎实与否取决于后面你是否能坚持不懈的学习。
这种学习方式非常适合非职业程序猿或者晋升到管理层脱落一线的程序猿。即我们必须解决工作中遇到的问题,我们又不是天天都在写程序。当然前提是你需要有一个好的基础,至少在此前你做过多年的程序猿。
没有经验的程序猿,首先要掌握前面所说的 1,2,3 三个步骤,只要突破了这三个阶段学习,后面如履平地。