【Python基础】_1 Python简介
1 Python简介
Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
1.1 Python的发展史
1989年圣诞节,荷兰人吉多·范罗苏姆 (Guido van Rossum),为打发节日无趣,开发新脚本解释程序,作为ABC语言的一种继承,Python(大蟒蛇)取自英国20世纪70年代首播的电视喜剧《蒙提.派森的飞行马戏团》(Monty Python's Flying Circus)。
1991年,公开发行Python第一个版本。
2000年10月16日,发布Python 2,稳定版本是Python 2.7,自从2004年后,Python的使用率呈线性增长。
2008年12月3日,公开发行Python 3.0,这是一次重大的升级,为了避免引入历史包袱,不完全兼容Python 2,导致很长时间以来Python 2的用户不愿意升级到Python 3.0这种割裂一度影响了Python的应用。
2009年6月,Python 发布了 3.1 版本。
2011年1月,Python被TIOBE编程语言排行榜评为2010年度语言。Python 己经迅速上升到第 4 位,仅次于 Java、C、C++。Java 占据了世界上绝大部分电商、金融、通信等服务端应用开发,而 C、C++ 占据了世界上绝大部分贴近操作系统的硬件编程,这三门语言的地位太难动摇了。
2011年2月,Python 发布了 3.2 版本。
2012年9月,Python 发布了 3.3 版本。
2014年3月,Python 发布了 3.4 版本。
2015年9月,Python 发布了 3.5 版本。
2016年12月,Python 发布了 3.6 版本。
2018年3月,该语言作者在邮件列表上宣布Python 2.7将于2020年1月1日终止支持。用户若想继续得到与Python 2.7有关的支持,需要付费给商业供应商。
目前Python已被广泛应用于大数据、人工智能(AI)、教授程序设计课程、计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK、NumPy、SciPy、matplotlib、工程技术、科研人员处理实验数据、制作图表、开发科学计算应用程序等
1.2 编程语言的区别
(1)解释型语言: Python与PHP
优点:可移植性较好,只要有解释环境,可在不同操作系统上运行;
缺点:运行需要解释环境,运行起来比编译的要慢,占用资源多,代码效率低,代码修改后就可运行,维护方便快捷;
(2)编译型语言:C、C++、Java
优点:运行速度快、代码效率高、编译后的程序不可修改、保密性较好;
缺点:代码需要经过编译方可运行、可移植性差、只能在兼容的操作系统上运行;
1.3 Python语言特点
(1)易于学习:Python有相对较少的关键字(33个),结构简单,往往“只用一种最好的方法来做事”,摒弃了C、C++的指针等复杂的算法(如:用Java需要100行代码,但用Python可能只需要20行代码)
(2)面向对象:函数、模块、数字、字符串都是对象(C、C++是面向过程)。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。
(3)可扩展性:
①语法清晰:它甚至不是一种格式自由的语言(如:它要求 if 语句的下一行必须向右缩进,否则不能通过编译)
②内置模块:Python 具有脚本语言中最丰富和强大的类库(这些类库被形象地称为“batteries included ,内置电池”),这些类库覆盖了文件 I/O、GUI、网络编程、数据库访问、文本操作等绝大部分应用场景。
③程序调用:如果需要运行一段很快的关键代码 或者是想要编写一些不愿开放的算法 你可以用C或者C++完成那部分程序 然后从程序中调用。
(4)跨平台:Python 作为一门解释型的语言,它天生具有跨平台的特征,只要为平台提供了相应的 Python 解释器,Python 就可以在该平台上运行。(解释型语言几乎天然是跨平台的。在Windows、Unix以及Linux上都有很好的兼容性)
(5)易于维护:编译与运行整合在一起,源代码可修改后直接运行
(6)数据库:Python提供所有主要的商业数据库的接口
(7)GUI编程:图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口) 是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。支持非常丰富的图形开发界面(pyqt,tkinter,pygame)
(8)轻松移植:只要有解释环境,可在不同操作系统上运行(Linux、Windows、Mac)
(9)交互式:操作人员和系统之间存在交互作用的信息处理方式。操作人员通过终端设备(见输入输出系统)输入信息和操作命令,系统接到后立即处理,并通过终端设备显示处理结果。print(“hello python”)
(10)开源许可:Python源代码遵循GPL(GNU General Public License)协议(通用性公开许可证)
(11)Python缺点:
①速度慢:Python程序比Java、C、C++等程序的运行效率都慢(计算机硬件速度越来越快,软件工程往往更关注开发过程效率,而不是运行效率,另外关键模块可用C/C++写代码,Python调用即可)
②源代码加密难:不像编译型语言的源程序会被编译成目标程序,Python 直接运行源程序,因此对源代码加密比较困难。(现在软件行业的大势本来就是开源,就像 Java 程序同样很容易反编译,但丝毫不会影响它的流行)
1.4 Python安装环境
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。
环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
(1)官网:https://www.python.org
(2)Python两个版本:Python3.6与Python2.7
①异同:只有0.3%是不相同的,print( )与print ””
②注意:2.7与3.6语法上有一点点区别,可用工具将2.7升级为3.6
(3)环境变量配置:Python在安装时要将Python的配置加入到环境变量里,这样在终端里打开默认就为3.6如果想使用默认为 2.7 那么将Python2.7的路径加到系统的环境变量里 把系统环境变量最后加上一个分号 然后在把路径赋值进去。
(4)Python的编辑器:
①PyCharm:是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
②Vim:Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。 VIM是自由软件。
Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs在文本编辑方面都是非常优秀的。
③Eclipse with PyDev:
④Sublime Text:是一个代码编辑器(Sublime Text 2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。
Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。
(5)软件安装(Python3.6为例)
①Python3.6安装(解释器)https://www.python.org:
- 勾选Add Python 3.6 to PAHT将解释器的路径添加到环境变量里,以此可以实现在终端输入命令并执行出结果;
- 点击Install Now开始安装直至安装成功
②PyCharm安装(编辑器)http://www.jetbrains.com/pycharm/
- 点击DOWNLOAD
- 选择对应的操作系统(Windows、macOS、Linux)
- 选择对应版本(Professional专业版、Community社区版),这里选专业版(专业版自带很多模块,方便使用)
- 运行安装包,安装目录建议装在其他盘(C盘会卡)
- 勾选32-bit launcher和.py,后直接安装(默认即可)
- 选择不导入之前的配置I do not have a previous version of PyCharm or I do not want to import my settings
- 进入产品激活界面,选择License server,输入激活地址http://im.js.cn:8888或者http://idea.java.sx/或者http://xidea.online点击Activate 就激活了,编辑器就可以正常使用了
1.5 Python的应用方向
(1)Linux运维
Linux运维必须而且一定要掌握Python语言,Python是一门非常NB的编程语言,它可以满足Linux工程师的工作需求提升效率,从而提升自己能力,运维工程师需要自己独立开发一个完整的自动化系统时,这个时候才是真正价值的体现。
(2)Python Web网站工程师
Web一直都是不可忽视的存在,我们离不开网络,离不开Web
(3)Python自动化测试
Python语言对测试的帮助是非常大的,自动化测试中Python语言的用途很广,可以说Python太强大,掌握和熟悉自动化的流程、方法和我们使用的各个模块
(4)数据分析
目前大数据已经来临,数据可以说明一切问题的原因,现在很多做数据分析的不是原来那么简单,Python语言成为了做数据分析的首选,它同时可以给工作带来很大的效率提升
(5)人工智能
谷歌制作出了机器人,战胜了围棋大师,这个就是目前刚出头的人工智能,当然我们的人工智能时代还没有到来,如果这天来了,生活和世界将会发生翻天覆地的变化,而且现在发展这么快,人工智能的时代不会太远。
【Python基础】_1 Python简介的更多相关文章
- 二十一. Python基础(21)--Python基础(21)
二十一. Python基础(21)--Python基础(21) 1 ● 类的命名空间 #对于类的静态属性: #类.属性: 调用的就是类中的属性 #对象.属性: 先从自己的内存空间里找名 ...
- python基础1 ---python简介
python基础 一.python前言 1.什么是编程语言 编程语言是程序员与计算机之间沟通的介质. 2.编程语言的分类 机器语言:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集 ...
- python基础知识1——简介与入门
什么是Python:Python能做什么:安装与更新:第一个Python程序:变量:pyc字节码:编码:条件和循环:Python运算符:算数,比较,赋值,位,逻辑::::::::::::::::::: ...
- Python基础之语言简介
python是什么 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言,其设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特 ...
- Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程
[保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...
- python基础实践 -python是一门动态解释性的强类型定义语言
python是一门动态解释性的强类型定义语言 Python能做什么? Python是一门综合性的语言,你几乎能在计算机上通过Python做任何事情,以下是Python应该最广泛的几个方面: 1.网络应 ...
- python基础-初识Python和不同语言之间的区别
一.Python的创始人谁? Python之父:吉多·范罗苏姆GuidovanRossum 吉多·范罗苏姆是一名荷兰计算机程序员,他作为Python程序设计语言的作者而为人们熟知.在Python社区, ...
- python基础7 ---python函数
python基础知识 一.闭包函数 1.闭包函数的定义:在一个内部函数中,在对外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包. 2.闭包函数的特点:自带作用域和延迟计算 补 ...
- Python基础-1 python由来 Python安装入门 注释 pyc文件 python变量 获取用户输入 流程控制if while
1.Python由来 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚 ...
- [Python基础]001.Python准备
Python准备 Python简介 使用版本 环境安装 编写第一个Python文件 编辑器选择 Python简介 Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,能简单而有效 ...
随机推荐
- 数据可视化--> numpy
一.NumPy 1.简介: 官网链接:http://www.numpy.org/ NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库 ...
- 在vue组件中使用vuex的state状态对象的5种方式
下面是store文件夹下的state.js和index.js内容 //state.js const state = { headerBgOpacity:0, loginStatus:0, count: ...
- StyleBundle打包问题—— /* 未能缩小。正在返回未缩小的内容。
问题--查看打包发布的结果,类似下面的这样的 /* 未能缩小.正在返回未缩小的内容. (1567,65): run-time error CSS1054: JavaScript error in ex ...
- js-弹框倒计时三秒后,自动关闭???
效果: js: //弹出窗,三秒倒计时 countdown(){ //点击发布按钮后,三秒倒计时开始 $(".btn-pub").click(function(){ var cou ...
- 关于 ATL 中 CComControl 的构造
分享一篇 C++语言 & ATL 的高阶解读笔记,你需要在C++语言特性中上串下跳,应该算篇有质量的文章. class ATL_NO_VTABLE CHello : // ... public ...
- springboot 集成apollo,根据不同环境加载配置
- 代码检测docker-sonarqube
gitlab-ce + gitlab-runner + sonarqube,在提交代码时对代码质量进行检测,对不符合要求的代码不允许提交到gitlab version: '3.1' services: ...
- Linux培训教程 linux中nl命令使用介绍
nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...
- POJ 3275 Ranking the cows ( Floyd求解传递闭包 && Bitset优化 )
题意 : 给出 N 头牛,以及 M 个某些牛之间的大小关系,问你最少还要确定多少对牛的关系才能将所有的牛按照一定顺序排序起来 分析 : 这些给出的关系想一下就知道是满足传递性的 例如 A > B ...
- vue-cli 构建的 Vue 项目用 localhost 加 端口 能访问,但是切换到 ip 加 端口 就不能访问
问题出在 webpack 的配置 在 config 文件夹下, 找到 index.js 目录, 找到如下代码 host: 'localhost', // can be overwritten by p ...