正经的,很久没写过课件了。可能不会那么顺畅。 望各位江湖大佬多多指点批评。正经的,很久没写过课件了。可能不会那么顺畅。 望各位江湖大佬多多指点批评。
喜欢编程的小伙伴可以加小编的Q群867067945,进群可以领取免费的学习资料哦,群里还有大佬给你解答你的问题!
Python是怎么来的?
Python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。最新的TIOBE排行榜,Python已经占据世界第三名的位置,Python崇尚优美、简单、清晰,是一个优秀并广泛使用的语言。
这里有必要说一下Python的命名问题. Python这个名字其实是来自于Guido(龟叔)所挚爱的电视剧Monty Python’s Flying Circus。老外起名字几乎都是这样,想到啥就叫啥。根本就没有什么章法,记得当初学Java的时候,有个框架叫Hibernate,本意是冬眠,还有一个Spring,本意是温泉或者春天。类似的还有很多,比如android每一代的版本名字都是食物。所以啊,名字这东西。属实没有啥章法。就像某小品里的一句台词“我叫狗剩子我找谁去了呢?败名好养活”。
Python能干啥?
这个问题问的好。学之不知其所用,白学!
python第一个擅长的就是自动化运维(运维专业必修课),曾经我的一个学生是腾讯的运维工程师, 一个人要管理3000+服务器。如果手工来搞的话,得搞死。有了python加上一些shell轻松搞定。
python擅长的第二个领域当属爬虫了。python是一门脚本语言。“简单”是其最优秀的特质。可能三言两语就可以搞定一个性能不错的小爬虫。这也是python安身立命的一个本领。
python擅长的第三个领域应该是数据分析了。传统的数据分析以tableau和excel为主,有了Python的加持,可以让数据分析全自动化。事半功倍是也。
python擅长的第四个领域就是近几年十分火热的机器学习和人工智能了。为什么人工智能的兴起会带动python呢?这就要说回人工智能的本质了。我们知道计算机的本质其实是数学,而机器学习里面需要套用大量又难搞的数学公式。早期的搞人工智能的并不是计算机专业的。更多的是数学系的大佬。那问题就来了,搞数学的,想把数学公式套用在计算机上进行试验就是个难搞的问题了。之前用MATLAB进行数学计算的数学系大佬发现这玩意貌似并不高效。于是乎他们就尝试其他编程语言来进行尝试。众所周知,python的语法是最容易上手的。再加上python众多优秀的第三方模块让这些平时搞数学的家伙尝到了甜头。顺理成章的,python就成为了人工智能领域的首选语言。
不过,这里跟给为小白白们要多说一丢丢,python虽然适合搞人工智能,但不代表其他语言无法胜任机器学习的工作。也不代表人工智能领域就非常容易。毕竟大多数人的数学成绩是不过关的。
在此我要郑重的对小白白们说一句:小白白白白白们不要上来就搞人工智能。
python擅长的最后一个领域其实有点儿牵强,不过确实算是一个领域。就是pythonweb。随着Django,Flask,Sanic等框架的问世,Python在web方向上也确实有所成就。但是,有一说一。做大型web服务,还是Java比较适合。搞过Django的应该能看出来,Django非常多的功能其实原理和思想就是来自于Java的Servlet和Hibernate。并且用起来还不如人家那个舒服。 而Flask和Sanic就不多说了。套了一个springMVC的Python框架而已。最关键的是效率还不高。你说这玩意扯不扯呢。
之所以Pythonweb有如此之多的问题,我依然把它总结成了一个重要的领域呢,因为在国内确实有些公司在使用Pythonweb来开发web应用。仅此而已。
解释型?编译型?
本来呢,我是不想说这个的。因为不论是哪种类型,对于刚入门的小白而言其实意义并不大。
首先,编程语言一般根据其运行的过程不同分为三类。
第一类:解释型
解释型:写好的代码交给解释器,由解释器逐行的进行解释运行。由于程序是运行在解释器上的,一切与操作系统的交互都交给了解释器。那针对不同的操作系统只需要提供不同的解释器就可以了。所以往往解释型语言会有良好的跨平台性。–>百度上应该都是这么说的。先看着,后面会做具体的解释。
第二类:编译型
编译型:写好的代码需要经过编译器的编译。然后拿着编译之后的结果进行执行,典型的就是我们要用的QQ,迅雷等。他们有个统一的问题,由于在写程序的使用调用了非常多的操作系统函数库,这就导致编译后的内容只能在当前这种操作系统上执行。拿到其他平台就不灵了(其他平台可能没有这些函数库)。
第三类:先编译再解释。
先编译再解释:这个就很容易了,先编译成xxx,然后拿着xxx去找解释器执行。你可以认为是结合了上面两种类型的优缺点的这么一个折中的选择
性能上的差异: 咱们首先要明白,不论哪种类型,都必须要把我们写好的代码变成01的机器码然后再交给计算机去执行的。那么问题就来了。解释型语言由于是一行一行的进行执行,也就是读一行,翻译一行,然后执行。每一行都要这样。效率可想而知。。。 而编译型,你可以认为是一次性翻译成01机器码,然后每次执行拿着翻译好的机器码就可以了,其效率必然要比解释型语言要高很多。不幸的是python是一门解释型编程语言。这就是很多大佬总说python效率低的一个重要因素。而C语言就是典型的编译型语言,所以他效率高。所以它适合做一些操作系统方面的更底层的工作。
看到这里你可能会产生疑虑,python这么慢要不要学?No! 不要有顾虑,所谓的慢也是要有对比的。比如一条程序用C来写可能执行需要0.00001秒,python慢了100倍,那也是0.001秒,0.001秒对于你而言,貌似没什么感觉吧。况且,对于某些特殊场景(爬虫)我们必须要让程序慢下来。否则很容易封IP的好吧。说这个什么意思呢?叫闻道有先后,术业有专攻。没有最好,只有最适合!
行了,第一篇就这样吧。 有编程方面的问题,随意私信或者评论。。。
喜欢编程的小伙伴可以加小编的Q群867067945,进群可以领取免费的学习资料哦,群里还有大佬给你解答你的问题!
当前位置:网站首页>Python零基础入门教程(01)
Python零基础入门教程(01)
2020-11-09 10:53:00 【python秋枫】
版权声明
本文为[python秋枫]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/chenyunhui1994/p/13946906.html
边栏推荐
- GLSB涉及负载均衡算法
- Log analysis tool - goaccess
- 再读《重构》
- A bunch of code forgot to indent? Shortcut teach you carefree!
- Mac 终端(terminal) oh-my-zsh+solarized配置
- Chrome浏览器引擎 Blink & V8
- 失业日志 11月5日
- [Python从零到壹] 五.网络爬虫之BeautifulSoup基础语法万字详解
- Commodity management system -- the search function of SPU
- Linked blocking queue based on linked list
猜你喜欢
随机推荐
range_sensor_layer
C++之异常捕获和处理
Commodity management system -- implementation of local preservation of new commodities
The difference between GDI and OpenGL
图节点分类与消息传递 - 知乎
Windows环境下如何进行线程Dump分析
1486. 数组异或操作
Start learning discrete mathematics again
A few lines of code can easily transfer traceid across systems, so you don't have to worry about losing the log!
结合阿里云 FC 谈谈我对 FaaS 的理解
When we talk about data quality, what are we talking about?
Several common playing methods of sub database and sub table and how to solve the problem of cross database query
Introduction to nmon
Finally, the python project is released as exe executable program process
日志分析工具 - GoAccess
For the first time open CSDN, this article is for the past self and what is happening to you
Do you know how the computer starts?
SaaS: another manifestation of platform commercialization capability
Deng Junhui's notes on data structure and algorithm learning - Chapter 9
A solution to the problem that color picker (palette) cannot use shortcut keys in sublime Text3 plug-in