第一篇:python简介
前言:作为对于python小白而言,我们需要知道什么是python,为什么学习python而不是其他编程语言,它相比于其他语言有什么优势,同时了解python 的执行操作过程又是怎么样的,它有哪些分类?接下来开始走进python的世界。
一、Python的定义:
什么是python呢?python是著名的‘龟叔Guido van Rossum在1989年圣诞节,为了打发无聊的圣诞节而开发的一门编程语言(脚本解释程序)。
根据20017年12月的Tiobe排行榜--编程语言流行度,Python赶超C#、PHP名列第四。
并且一直以来,Python整体呈上升的趋势,越来越多的人使用Python这门编程语言,逐渐更为广泛的得到行业的认可。
2、python的特点:
那么Python如此迅速的发展,其本身有什么特点呢?
先说说其优点吧:--->’优雅、明确、简单’。
a、极佳的可读性。-->由于Python采用强制缩进的方式使得代码具有极佳的可读性。
b、简单。-->非常适合学习,类似用一定的规则去写英语文章,并且使你可以专注的使用语言去解决问题而不是纠结于语言本身。
c、开源。-->简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。
d、可移植性。 -->由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、QNX、VMS、、Windows CE等甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台!
e、既支持面向过程编程也支持面向对象编程。-->在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。而类似Java、c++等很难实现。
f、丰富的库。-->python有可定义的第三方库可以使用。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
g、可扩展性和可嵌入性。-->如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。你也可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
当然,Python也有其缺点:
1、运行速度相对于其他语言而言较慢。--》由于其运行时要求边编译边执行的过程,故相对于C、Java、PHP等较慢。
2、python的开源性使得Python语言不能加密。--》但是目前国内市场纯粹靠编写软件卖给客户的越来越少,网站和移动应用不需要给客户源代码,所以这个问题就是问题了。国随着时间的推移,很多国内软件公司,尤其是游戏公司,也开始规模使用他。
那么相对于C、Java、PHP其他编程语言,Python的优劣在哪?
C语言:首先我们要知道Python是有C语言实现的。
C语言为编译型语言--》代码编译得到机器码,机器码在CPU上直接执行。故其运行速度快。
Python为编译型还是解释型并不明确,姑且为解释型。---》代码编译得到字节码,再通过虚拟机执行字节码转换成机器码,最后由CPU执行。
与Java、PHP、c#等相比:
PHP类:适用于写网页,其局限性十分明显。
Python和Java:既可以写网页,也可以写后台功能,这两者比较--》前者开发效率高、执行效率较低,或者开发效率较低,执行效率较高。
3、Python的种类:
- Cpython
Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。 - Jyhton
Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。 - IronPython
Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似) - PyPy(特殊)
Python实现的Python,将Python的字节码字节码再编译成机器码。 - RubyPython、Brython ..
4、Python的应用领域:
- 系统编程
Python语言在操作系统的内置接口,被称为Shell工具。Python程序可以搜索文件和目录树、可以运行其他的应有程序或是用进程或线程进行并行处理。Python标准库绑定了POSIX 以及其他常规操作系统工具。所以环境变量、管道、进程、多线程、文件、套接字、python正则表达式模式匹配、命令行参数、标准流接口、Shell 命令启动器、file扩展等。除此之外很多Python 的系统工具设计时都考虑了其可移植性。
- 网络爬虫
由于Python的网络方面的功能非常强大,常用来实现网络爬虫。常用框架有:
grab – 网络爬虫框架(基于pycurl/multicur)。
scrapy – 网络爬虫框架(基于twisted),不支持Python3。
pyspider – 一个强大的爬虫系统。
cola – 一个分布式爬虫框架。
portia – 基于Scrapy的可视化爬虫。
restkit – Python的HTTP资源工具包。它可以让你轻松地访问HTTP资源,并围绕它建立的对象。
demiurge – 基于PyQuery的爬虫微框架。
- 人工智能、科学计算
科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
- WEB开发
Python有众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣等等 典型WEB框架有Django、Flask等,享学课堂就是使用Django开发的。
- 系统运维
Python已经成为,运维人员必备语言,尤其是在Linux运维方面,基本上是自动化运维。
- 大数据、云计算
Python是大数据、云计算最火的语言, 典型应用OpenStack
- 金融方面
量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很厉害,生产效率远远高于c,c++,java,尤其擅长策略回测。
- 图形界面方面
PyQT, WxPython,TkInter
- 企业和网站的案例方面
谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发
CIA: 美国中情局网站就是用Python开发的
NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算
YouTube:世界上最大的视频网站YouTube就是用Python开发的
Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发
Facebook:大量的基础库均通过Python实现的
Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
豆瓣: 公司几乎所有的业务均是通过Python开发的
知乎: 国内最大的问答社区,通过Python开发(国外Quora)
等等。
4、python的安装
还有便是关于Python的安装方面的知识,
Windows上python的安装--》可参考 https://jingyan.baidu.com/article/574c52197b9fbc6c8c9dc170.html##1
Linux下python3.x的安装可跟根据以下流程进行安装:
#下载python3.x的安装包
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
#准备工作
yum install gcc-* glibc-* -y
#切换至安装包所在目录,并且解包
tar -xvf Python-3.6.5.tgz
#切换至解包的目录下,运行configure脚本,添加编译参数
./configure --prefix=/usr/local/python3.6
#编译
make
#安装
make install
添加环境变量:
#找到python3.x安装的位置,修改配置文件
vim /etc/profile
#将python3.x的安装目录添加至PATH后面
PATH =/usr/local/bin:/usr/bin/.......:/usr/local/python 3.6
export PATH
而关于python2.安装---》Linux下默认安装是为python2.X可直接运行。
第一篇:python简介的更多相关文章
- python学习第一讲,python简介
目录 python学习第一讲,python简介 一丶python简介 1.解释型语言与编译型语言 2.python的特点 3.python的优缺点 二丶第一个python程序 1.python源程序概 ...
- SAP-ABAP系列 第一篇SAP简介
第一篇 SAP简介 SAP全名为System Application and Products in Data Processing.SAP目前是全世界排名第一的RP软件,号称“全球最大的企业管理解决 ...
- 第一章----python简介
1.python简介 定义:python是一种计算机程序设计语言,是一种相当高级的语言,是用来编写应用程序的高级编程语言: 特点:优势:简单易用:提供了非常完善的基础代码库:优雅,明确,简单.劣势 : ...
- 第一章python 简介
python语言是目前最流行的编程语言之一,在笔者写这篇文章的前一周,2018年的IEEE的编程语言排行出来了,python又雄踞第一. Python 强势霸榜第一名!排名第二的 C++ 得分是 98 ...
- Python开发 第一篇 python的前世今生
Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...
- 第一篇 Python图片处理模块PIL(pillow)
本篇包含:一.Image类的属性:1.Format 2.Mode 3.Size 4.Palette 5.Info 二.类的函数:1.New ...
- 第一篇:python基础
python基础 python基础 本节内容 python起源 python的发展史 为什么选择python3 第一个python程序 变量定义 表达式和运算符 用户输入 流程控制 判断 流程控制 ...
- python第一篇-------python介绍
一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,Guido开始写Python语言的编译器.Python这个名字,来自Guido所 ...
- Python第一部分--Python简介+第一个程序+Python2和Python3介绍 001-016
一.Python起源 1.1 解释器(科普) 1.2Python的设计目标 1.3 Python的设计哲学 02.为什么学Python? 代码量少 同一样问题,不用的语言解决,代码量差距还是很多的,一 ...
- Python基础第一篇-------python的介绍
一.python的介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本 ...
随机推荐
- PAT 甲级 1073 Scientific Notation (20 分) (根据科学计数法写出数)
1073 Scientific Notation (20 分) Scientific notation is the way that scientists easily handle very ...
- Swift4.0复习循环
1.for-in循环: 2.while循环: 3.repeat-while循环: repeat { // 循环体中的一条或多条执行语句 } while condition 4.标签语句: if_lab ...
- 【kubernetes 自带监控】 container级别cadvisor+kubelet,集群级别apiserver
apiserver https://feisky.gitbooks.io/kubernetes/components/apiserver.html kube-apiserver 支持同时提供 http ...
- spring boot如何打印mybatis的执行sql
方案一 application.properties配置: logging.level.com,后面的路径指的是mybatis对应的方法接口所在的包.并不是mapper.xml所在的包. 1. log ...
- Andrew Ng机器学习课程10补充
Andrew Ng机器学习课程10补充 VC dimension 讲到了如果通过最小化训练误差,使用一个具有d个参数的hypothesis class进行学习,为了学习好,一般需要参数d的线性关系个训 ...
- EscaperWrapper 转义和反转义
System.out.println("转义HTML,注意汉字:"+StringEscapeUtils.escapeHtml4("<font>chen磊 x ...
- Extjs locked无效,使用enableLocking即可
一.前言 在使用 extjs 做表格时,由于表格的列太多,我们需要设置一些固定列来查看数据,所以我们需要用到 locked 属性.普通加载 columns 的列是有效的,如果是动态加载的话,使用 lo ...
- 在ensp上配置通过Telent登录系统
本实验模拟公司网络场景,路由器R1是公司机房的一台设备,公司员工的办公区 与机房不在同一个楼层,路由器R2和R3模拟员工主机,通过交换机S1与机房设备相 连.为了方便用户的管理,现需要在路由器R1上配 ...
- [转帖]实时流处理系统反压机制(BackPressure)综述
实时流处理系统反压机制(BackPressure)综述 https://blog.csdn.net/qq_21125183/article/details/80708142 2018-06-15 19 ...
- ES-IK分词器
一.安装 https://www.cnblogs.com/wudequn/p/11001382.html https://github.com/medcl/elasticsearch-analysis ...