[Python学习笔记-基础语法]-Python3 简介
学习一门语言之前,先要了解这门语言能够解决什么问题,以及为什么要学习。
更多的资料分享,加群获取 :
<a target="_blank" href="https://qm.qq.com/cgi-bin/qm/qr?k=eYxVQXkN5fKBhyjavuRYmidMESJkreeW&jump_from=webapi"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="Python学习交流群" title="Python学习交流群"></a>
为什么要学Python
毫无疑问,Python是当下最火的语言,在2021年09月编程语言排行榜中,Python的排名第二位,下图是2021年9月份,编程语言排行榜。
下面这个图,表示排名前10的编程语言,热门程度的走势图,从这个趋势中也可以很明显的看到,Python从2018年开始,呈现成直线上涨的形式。
如果不懂Python,很容易遇到下面这样的尴尬:
程序媛: 小A,你知道Python吗?
程序员A: Python是什么?
程序媛: Python都不知道,活该单身。
Python的起源
学习一门技术,当然是要了解这门技术产生的原因,以及它所要解决的核心问题。
Python的创始人是吉多\范罗苏姆(Gudio van Rossum)。
谁说的“想变强,先变秃”? 以后不要为自己菜找借口了。
1989年圣诞节期间,吉多大神为了在阿姆斯特丹打发时间,于是决定开发一款新的脚本解释程序(旁白:大神的创作,看起来都很随意,真羡慕
),作为ABC语言的一种继承,替代使用Unix shell和C语言进行系统管理。
ABC语言,是一种指令式通用编程语言和编程环境,最初由荷兰数学和计算机科学研究学会(CWI)的里奥·格茨(Leo Geurts)、兰伯特·梅尔滕斯(Lambert Meertens)与史蒂文·彭伯顿(Steven Pemberton)开发。它是指令式、结构化的高级语言,意图用来取代BASIC、Pascal与AWK,它的设计目标是用于教学或创建原型,而非用作一种系统编程语言
于是,在1991年2月,吉多.范罗苏姆发布了最初代码(标记为0.9.0版本),且命名为Python,之所以选中Python作为程式的名字,是因为他是BBC电视剧——《蒙提·派森的飞行马戏团》(Monty Python's Flying Circus)的爱好者(旁白:取名字也有点太随意了吧
)。
Python版本发布时间轴
Python从第一个版本发布到现在,时间轴如下。
时间 | 版本描述 |
---|---|
1991年2月 | Python 的代码对外公布,此时版本为 0.9.0 |
1994年1月 | Python 1.0 正式发布 |
2000年6月 | Python 2.0 发布 |
2001年 4月 | Python 2.1 基于 Python 软件基金会协议(Python Software Foundation (PSF))发布 |
2008年12月 | Python 3.0 正式发布,Python 3 被称为 "Python 3000" 或者 "Py3K |
2019年12月 | Python3.8发布 |
2020年10月 | Python3.9发布,也是当前写这篇稳重时,目前最新的版本 |
需要注意,Python 3 与 Python 2 不兼容,不过随着这几年 Python 3 的使用率急剧上升,作为新手可以放心地从 Python 3 学起。
另外,为了照顾现有的程序,官方提供了一个过渡版本 - - Python2.6
Python的特点
Python从91年就出现了,为什么到最近才开始流行呢?
先来了解一下Python的特点,Python的设计哲学强调代码的可读性和简洁的语法,尤其是使用空格缩进划分代码块。相比于C或Java,Python让开发者能够用更少的代码表达想法,不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。
Python又被称为“胶水语言”,它能够非常方便的把C++和Java粘合在一起,虽然 JAVA 能直接调用C++,但需要通过标准接口,并改变双方的主体程序。而 Python 这种脚本语言,可以在不改变任何程序的情况下,通过外围的数据处理,让 JAVA 和 C++实现联动。
同时,Python可以用在任何企业级项目上,比如构建PC脚本程序、服务器配置管理程序、爬虫、数据分析、运维、处理数据、开发网站等,这里表现出的是Python的通用性,它可以符合各种开发需求,为开发者提供高效的解决方案和选择。
更重要的是,Python语言的学习成本非常低,学习Python并不一定需要非常专业的技术人员,普通人也能快速学习和掌握Python来解决实际工作中的问题。
除了上述的核心因素以外,Python还有以下非常突出的优势:
- Python 拥有一个健康积极且提供强力支持的社区
- Python 具备大数据处理能力,Python是数据科学中最流行的语言,它能被应用在机器学习以及AI系统中。
- Python 拥有惊人数量的库,当你正在推进大项目的时候,库可以帮助你节约时间并减少开发周期。Python 拥有可供选择的各种库。比如数据计算中使用到的 NumPy 和SciPy,以及 Web 开发的 Django。有少数的库具备高专业度,比如 scikit-learn 适用于机器学习,而 nltk 适用于自然语言处理。此外,强大的云计算服务(比如 Encoding.com)令 Python 与 C 系列的语言有非常好的兼容性。这意味着有专业的第三方工具为Python 提供的优秀的跨平台支持,这是一个巨大的优势。
- Python 是跨平台且开源的,Python可以跨平台运行,并且已经开放源代码超过20年的时间了,如果你需要代码能同时在Linux,Windows以及macOS上跑起来,Python就能满足要求。
说了这么多,Python之所以这么火,简单总结就三个词, 简单易用、 容易上手、应用广泛。
Python的应用领域
Python 的应用领域非常广,常见的领域有:
网络爬虫
Python 语言很早就用来编写网络爬虫。Google 等搜索引擎公司大量地使用 Python 语言编写网络爬虫。
从技术层面上将,Python 提供有很多服务于编写网络爬虫的工具,例如 urllib、Selenium 和 BeautifulSoup 等,还提供了一个网络爬虫框架 Scrapy。
科学计算
自 1997 年,NASA 就大量使用 Python 进行各种复杂的科学运算。
并且,和其它解释型语言(如 shell、js、PHP)相比,Python 在数据分析、可视化方面有相当完善和优秀的库,例如 NumPy、SciPy、Matplotlib、pandas 等,这可以满足 Python 程序员编写科学计算程序。
人工智能
Python 在人工智能领域内的机器学习、神经网络、深度学习等方面,都是主流的编程语言。可以这么说,基于大数据分析和深度学习发展而来的人工智能,其本质上已经无法离开 Python 的支持了,原因至少有以下几点:
- 目前世界上优秀的人工智能学习框架,比如 Google 的 TransorFlow(神经网络框架)、FaceBook 的 PyTorch(神经网络框架)以及开源社区的 Karas 神经网络库等,都是用 Python 实现的;
- 微软的 CNTK(认知工具包)也完全支持 Python,并且该公司开发的 VS Code,也已经把 Python 作为第一级语言进行支持。
- Python 擅长进行科学计算和数据分析,支持各种数学运算,可以绘制出更高质量的 2D 和 3D 图像。
自动化运维
所谓自动化运维,就是利用Python编写一些脚本来实现运维的自动化,可以很好的提升效率、减少失误、降低成本。
Python来做自动化运维,有两个方面的优势。
- 在很多操作系统中,Python是标准化的组件,大多数 Linux 发行版以及 NetBSD、OpenBSD 和 Mac OS X 都集成了 Python,可以在终端下直接运行 Python。有一些 Linux 发行版的安装器使用 Python 语言编写,例如 Ubuntu 的 Ubiquity 安装器、Red Hat Linux 和 Fedora 的 Anaconda 安装器等等。
- 在大规模使用Python进行平台开发之前,运维工程师们已经会在Linux环境下使用各种Python脚本进行批处理操作,而Python在编码过程中,会比使用Shell好很多,包括可读性、复用性、扩展性等等,
开始第一个Python程序
笔者是在Mac系统上操作,而Mac系统自带了Python,所以可以直接运行。
-
在mac的终端下运行
IDLE
指令
-
自动弹出如下窗口,这个就是python的终端。
在终端开始第一个程序.
>>> print "hello world"
hello world
>>>
从上述程式来看,如果大家学习过Shell,发现python其实和shell类似,都是非常小巧轻便的脚本语言。
脚本语言(英语:Scripting language)是为了缩短传统的“编写、编译、链接、运行”(edit-compile-link-run)过程而创建的计算机编程语言。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让程序员快速完成程序的编写工作
更多的资料分享,加群获取 :
<a target="_blank" href="https://qm.qq.com/cgi-bin/qm/qr?k=eYxVQXkN5fKBhyjavuRYmidMESJkreeW&jump_from=webapi"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="Python学习交流群" title="Python学习交流群"></a>
更多资料可以点击下面的链接获取!