搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
花生_TL007
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
盲人出行新助手:无障碍技术的进步
2
开源资产管理软件-GLPI(9.13)操作手册
3
活动报名|音频AIGC开源平台,音频生成开源工具包Amphion的歌声转换指南
4
java手机问卷调查系统(开题+源码)_调研系统java源码
5
MongoDB基础_linux查看mongo数据库名称
6
#飞特STS3215舵机测试与使用记录--附带基础样例-记录笔记-第一章_sts3215 通信协议
7
git怎么合并两个分支_两个分支合并
8
利用iReasoning MIB Browser测试DELLEMC Storage Center SC9000 SNMPv3功能_ireasoning mib browser不支持snmpv3
9
Figure 01 全尺寸人形机器人 研究_figure- 01采用的惯性传感器
10
Windows下select模型_win select
当前位置:
article
> 正文
Python由来以及用途_python出现的意义和作用
作者:花生_TL007 | 2024-04-28 07:38:45
赞
踩
python出现的意义和作用
1python由来
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆(龟叔)于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, [2] 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。 [3]
Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。 Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。
2.Python语言的发展
Python从诞生一直更新到现在,经历了多个版本。截止到目前,官网仍然保留的版本主要是基于Python2.x和Python3.x系列,具体如表所示
Python2.7是Python 2.x系列的最后一个版本,已经停止开发,计划在2020年终止支持。Guido决定清理Python2.x系列,并将所有最新标准库的更新改进体现在Python 3.x系列中。Python3.x系列的一个最大改变就是使用UTF-8作为默认编码,从此,Python3.x系列中就可以直接编写中文程序了。
另外,Python3.x系列比Python2.x系列更规范统一,其中去掉了某些不必要的关键字与语句。由于Python3.x系列支持的库越来越多,开源项目支持Python3.x的比例已大大提高。鉴于以上理由,本书推荐读者直接学习Python3.x系列。
3.Python语言的优缺点
1). 简单
Python是一种代表简单主义思想的语言,阅读一段Python程序就像在阅读一篇文章,这使开发者能够专注于解决问题而不是去搞明白语言本身。
2). 易学
Python有极其简单的语法,如果开发同样的功能,使用其他语言可能需要上百行代码,而Python只需几十行代码就可以轻松搞定。
3). 免费、开源
Python是FLOSS(自由/开放源码软件)之一,使用者可以自由地发布这个软件的拷贝、阅读它的源代码并对它进行修改,这也是Python如此优秀的原因之一。
4). 可移植性
由于其开源本质,Python已经被移植在许多平台上,例如Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE等。
5)解释性
C/C++语言在执行时需要经过编译,生成机器码后才能执行。Python是直接由解释器执行。由于不再需要担心如何编译程序、如何确保连接转载正确的库等,所有这一切使得Python的使用更加简单。
6) 面向对象
Python从设计之初就已经是一门面向对象的语言。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。
7) 可扩展性
假如用户需要一段关键代码运行得更快或者希望某些算法不公开,可以把部分程序用C或C++语言编写,然后在Python程序中使用它们。
8)可嵌入性
用户可以把Python嵌入到C/C++程序,从而向程序提供脚本功能。
9)丰富的库
Python提供丰富的标准库,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI、Tk以及其他与系统相关的库除了上面提到的各种优点,Python 也是有缺点的。
Python缺点
1) 运行速度慢
运行速度慢是解释型语言的通病,Python 也不例外。
Python 速度慢不仅仅是因为一边运行一边“翻译”源代码,还因为 Python 是高级语言,屏蔽了很多底层细节。这个代价也是很大的,Python 要多做很多工作,有些工作是很消耗资源的,比如管理内存。
Python 的运行速度几乎是最慢的,不但远远慢于 C/C++,还慢于 Java。
但是速度慢的缺点往往也不会带来什么大问题。首先是计算机的硬件速度运来越快,多花钱就可以堆出高性能的硬件,硬件性能的提升可以弥补软件性能的不足。
其次是有些应用场景可以容忍速度慢,比如网站,用户打开一个网页的大部分时间是在等待网络请求,而不是等待服务器执行网页程序。服务器花 1ms 执行程序,和花 20ms 执行程序,对用户来说是毫无感觉的,因为网络连接时间往往需要 500ms 甚至 2000ms。
2) 代码加密困难
不像编译型语言那样,源代码会被编译成可执行程序(这个编译过程就相当于对源码加密),对于 Python 来说是直接运行源代码,因此对源码加密是比较困难的。
4.Python语言的用途
1)Web开发
Python经常被用于Web开发。例如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调HTTP服务器与基于Python的Web程序之间的通信。一些Web框架,如Django、TurboGears、web2py、Zope等,可以让程序员轻松地开发和管理复杂的Web程序。
2)网络爬虫
Python语言提供了大量网络模块用于对网页内容进行读取和处理,如urllib、cookielib、httplib、scrapy等。同时,这些模块结合多线程编程以及其他有关模块可以快速开发网页爬虫之类的应用程序。
网络爬虫是一种用来自动浏览万维网的网络机器人。其目的一般为编纂网络索引。网络搜索引擎等站点通过爬虫软件更新自身的网站内容或其对其他网站的索引。网络爬虫可以将自己所访问的页面保存下来,以便搜索引擎事后生成索引供用户搜索。
3)科学计算与数据可视化
Python语言提供了大量模块用于科学计算与数据可视化,如NumPy、SciPy、SymPy、Matplotlib、Traits、TraitsUI、Chaco、TVTK、Mayavi、VPython、OpenCV等,这些模块涉及的应用领域包括数值计算、符号计算、二维图表、三维数据可视化、三维动画演示、图像处理以及界面设计等。
此外,Python语言在系统编程、GUI编程、数据库应用、游戏、图像处理、人工智能等领域被广泛应用。
4)游戏
很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单,体积更小;而Python则支持更多的特性和数据类型
游戏开发人员经常需要动态创建和更新对象。
因此,Python 允许非常灵活的面向对象。因此,Python 开发人员无需编写太多代码即可轻松创建新对象和修改现有对象。
灵活的面向对象通过给出对象质量或特征(属性)的类或类型来操作。从它们生成的任何类别都继承了这些特征。
5)人工智能
其实Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,开始时是用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。而人工智能通俗讲就是人为的通过嵌入式技术把程序写入机器中使其实现智能化。显然人工智能和Python是两个不同的概念。
人工智能和Python的渊源在于就像我们统计数据或选择用excel制作表格时,因为在需要用到加减乘除或者、函数等时,只需要套用公司就可以。因为SUM、AVERAGE等这样的函数运行的背后,是C++/C#等语言已经编写好了代码,所以Excel只是工具和展现形式并不是它做计算。同理在学习人工智能时Python只是用来操作深度学习框架的工具,实际负责运算的主要模块并不依靠Python,真正起作用的是也是一大堆复杂的C++ / CUDA程序。
深度学习人工智能时,自己计算太复杂,还要写C++代码操作,这时程序员就想要不搞一套类似复杂的Excel配置表,直接搭建神经网络、填参数、导入数据,一点按钮就直接开始训练模型、得出结果。这个方法简单实用可是神经网络搭建起来太复杂,需要填写的参数太多,各种五花八门的选项也很难做成直观的图形工具。只能用一个类似Python的相对好用的语言,通过简化的程序代码来搭建神经网络、填写参数、导入数据,并调用执行函数进行训练。通过这种语言来描述模型、传递参数、转换好输入数据,然后扔到复杂的深度学习框架里面去计算。那么为什么会选择Python?
科学家们很早就喜欢用Python实验算法,也善于使用numpy做科学计算,用pyplot画数据图。恰好Google内部用Python也非常多,所以采用Python也是必然的。除Python外,实际上TensorFlow框架还支持JavaScript、c++、Java、GO、等语言。按说人工智能算法用这些也可以。但是官方说了,除Python之外的语言不一定承诺API稳定性。所以人工智能和Python就密不可分了。
龟叔给python的定位是“优雅”,“简单”,“明确”,“易懂”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来可以深入下去,可以编写那些非常非常复杂的程序。
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
【wpsshop博客】
推荐阅读
article
Python
NLP教程之
知识
图谱
,
从
文本
构建
知识
,
实现
从
文本
或在线文章中提取
知识
库的管道(教程含源...
要尽早了解最终输出将是什么
,
请尝试这个HuggingFaceSpace上的演示。以下是
从
20篇关于“Google”的新闻...
赞
踩
article
python
神经网络
工具_
python
神经网络
工具箱...
盘点·GitHub最著名的20个Python机器学习项目我们分析了GitHub上的前20名Python机器学习项目,发现...
赞
踩
article
python
文件加密使用
pyarmor
加密...
pyarmor
好用的加密,并能设置license过期日期_
pyarmor
pyarmor
...
赞
踩
article
PyArmor
实现对
Python
脚本
终极
加密
模式_
pyarmor
加密
代码还原...
PyArmor
是一个
Python
脚本
加密
工具,在 v.7.0.1 中,提供了
终极
加密
模式,能够对
Python
脚本
进...
赞
踩
article
【
Python
】
PyArmor
使用案例:
保护
您
的
Python
代码
,
Python
代码
混淆...
假设我们有一个简单
的
Python
脚本
,
它读取配置文件中
的
密码信息。这是一个常见
的
操作
,
但如果您
的
代码
泄露
,
它可能会暴...
赞
踩
article
pyarmor
,
一个超级厉害
的
Python
库!...
Python
PyArmor 库为开发人员提供了一种可靠
的
解决方案
,
用于保护其
Python
代码
的
安全性和机密性。通过...
赞
踩
article
【
Python
】【
Pyarmor
】代码加密
打包
_
pyarmor
打包
...
【代码】【
Python
】【
Pyarmor
】代码加密
打包
。_
pyarmor
打包
pyarmor
打包
...
赞
踩
article
C++
比
Python
快50倍?如何让
C++
和
Python
优势互补?(
Boost
::
Python
)_b...
国外有测试指出在相同复杂度算法中,
C++
约比
Python
快50倍左右。因此
Python
适合上层应用;
C++
则适合底层控制...
赞
踩
article
Boost
(9):使用
Boost
.
Python
实现
C++
和
Python
混合编程_
boost
/...
本文章描述如何使用
Boost
.
Python
库在
C++
代码中嵌入
Python
程序_
boost
/
python
.
hpp
boos...
赞
踩
article
Python
(
乱学
)...
只有__init__.py文件存在于文件夹当中,那么这个文件夹就是python包,否则就是一个普通的文件夹。父类拥有部分...
赞
踩
article
python
modbus
-
tk
实现
三菱
FX5U
modbus
-
tcp
从站通讯_
三菱
fx5umo...
python
struct
modbus
tcp
FX5U
modbus
-
tk
_
三菱
fx5u
modbus
tcp
通讯程序三...
赞
踩
article
PYTHON
PyMuPDF
库
常见
方法及
使用
...
PYTHON
PyMuPDF
常见
方法和
使用
场景_pymupdfpymupdf ...
赞
踩
article
代码随想录算法训练营
Day25
|
216
.
组合
总和
III
、
17
.
电话号码
的字母
组合
| Pytho...
回溯算法:
216
.
组合
总和
III
、
17
.
电话号码
的字母
组合
。代码随想录算法训练营
Day25
|
216
.
组合
总和
III
、...
赞
踩
article
Python
二叉树
的
创建
与遍历...
在
Python
中
创建
二叉树
并进行遍历,我们首先需要定义一个
二叉树
节点类,然后
创建
二叉树
,最后实现几种基本的遍历方法:前序...
赞
踩
article
python
——算法(
冒泡
排序
,选择
排序
,
分治
,
顺序
查找
,
二分
查找
)
_
python
用
冒泡
排序
实现
顺序
...
冒泡
排序
def bubbleSort(a): for i in range(len(a)-1): flag=True ...
赞
踩
article
【
python
】
flask
中
蓝图
使用
方法
详细解析...
随着
flask
程序越来越复杂,我们需要对程序进行模块化的处理,之前学习过django的子应用管理,
flask
程序进行可以...
赞
踩
article
python
flask
高级编程_
Python
Flask
高级编程...
1-1 开宗明义1-2 课程维护与提问2-1 鱼书是一个什么样的产品2-2 准备工作2-3 使用官方推荐的pipenv创...
赞
踩
article
mac
安装
多
版本
python
并切换_
mac
python
多
版本
...
mac
安装
多
个
版本
的
python
_
mac
python
多
版本
mac
python
多
版本
17...
赞
踩
article
Mac 中修改默认
Python
版本
- 同时保留
python
2 和
python
3
_
mac
上...
记录日常小问题,如有雷同纯属巧合_
mac
上有
python
2
和
python
3
,默认
版本
mac
上有
python
2
和pytho...
赞
踩
article
Mac
下修改默认
Python
路径
_
mac
python
路径
设置...
Mac
下修改
Python
安装和读取
路径
。_
mac
python
路径
设置
mac
python
路径
设置 ...
赞
踩
相关标签
知识图谱
自然语言处理
python
python 神经网络工具
加密
开发语言
c++
算法
boost
tcp/ip
pdf
数据结构