【python简单介绍】

2023-11-12

1.Python起源与定义
Python 是由荷兰人吉多·罗萨姆于 1989 年发布的。Python 的第一个公开发行版发行于 1991 年。Python 的官方定义:Python 是一种解释型的、面向对象的、带有动态语义的高级程序设计语言。通俗来讲,Python 是一种少有的、既简单又功能强大的编程语言,它注重的是如何解决问题而不是编程语言的语法和结构。

2.Python的应用范围
Python 在通用应用程序、自动化插件、网站、网络爬虫、数值分析、科学计算、云计算、大数据和网络编程等领域有着极为广泛的应用,像 OpenStack 这样的云平台就是由 Python 实现的,许多平台即服务(PaaS)产品都支持 Python 作为开发语言。近年来,随着 AlphaGo 几番战胜人类顶级棋手,深度学习为人工智能指明了方向。Python 语言简单针对深度学习的算法,以及独特的深度学习框架,将在人工智能领域编程语言中占重要地位。

3.Python的版本
Python前期主要有两大主要支流(2.x,3.x)。从 Python2 到 Python3 是一个大版本升级,有很多不向下兼容的差异,导致很多 Python2 的代码不能被 Python3 解释器运行,2020 年开始,Python 官方停止对 Python2 的维护,所有老代码都会超过保质期。所以,大概可能Python2.x凉凉了;Python3.x将成为Python学习的主流版本。

4.Python的优缺点
(1)优点
1.语言简洁

Python 是一种代表简单主义思想的语言。吉多·罗萨姆对 Python 的定位是“优雅,明确,简单”。Python 拒绝了“花俏”的语法,而选择明确的没有或者很少有歧义的语法,着重解决问题。

2.丰富的库(基础代码库)

Python 具有丰富和强大的库来被调用。用 Python开发,许多功能不必从零编写,直接使用现成的即可。Python 还有一个强大的后援—PyPI(https://pypi.python.org/pypi)。PyPI 是第三方 Python 模块集中存储库,可以把它当成大型的代码仓库。当你的需求的库在内置模块中找不到时,你可以很大概率能在PyPI上找到。全世界的 Python 用户都可以上传他们的模块以供分享,可以想象它的强大。当然身为未来大佬你也可以上传你的模块供全世界使用。

3.可扩展性强

这个特性经常为 Python 爱好者津津乐道,Python 经常用于将不同语言(尤其是 C/C++)编写的程序“粘”在一起,即 Python 的很多模块或者组件都是用其他语言写的,而 Python 的一个功能就是把这些模块很轻松地联结在一起。所以,人们也常常称 Python 为“胶水语言”,“万能语言”。

4.开源

Python 是自由/开源软件,使用者可以自由地发布这个软件的副本,阅读它的源代码,对它做改动,把它的一部分用于新的自由软件中。

5.跨平台

Python 的跨平台性可总结为“一次编写,到处运行”。

6.可嵌入型
Python 可以嵌入到 C/C++程序,从而向程序用户提供脚本功能。python也因此功能被称为脚本语言。

(2)缺点
1.运行速度相对较慢(较 C、C++而言)
Python毕竟不是最接近底层语言,与最接近底层的语言的运行速度相比会慢很多。Python 是解释型语言,其代码在执行时会一行一行地翻译成计算机能理解的机器码,这个翻译过程非常耗时,所以运行速度很慢。相比较而言,C 程序(编译型语言)是在运行前直接编译成计算机能执行的机器码,所以运行速度非常快。
当然,Python 也有很多手段可以提高运行速度。例如,Python 采用 PyPy[一种使用实时(Just-In-Time,JIT)技术的 Python 编译器]和调用 C 扩展能够在很大程度上提高速度。
2.容易被反编译
Python程序发布,不能隐藏源代码,可能不适合于大型的商业项目。当然,依靠软件授权的商业模式已经不复存在,现在更多的是靠卖服务的商业模式,后一种模式不需要把源码给别人。

5.帮助文档
1.python内置函数

help(str)          # 查看关于字符串类型的帮助文档
help(str.join)     # 查看关于字符串对象的 join()方法的帮助文档
dir([object])
help()函数用于查看函数或模块用途的详细说明,而 dir()函数用于查看函数或模块内的操作方法,输出的是方法列表

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【python简单介绍】 的相关文章

  • API 端点的 Django 子域配置

    我已经建立了一个 Django 项目 它使用django rest framework提供一些 ReST 功能 网站和其他功能都运行良好 然而有一个小问题 我需要我的 API 端点指向一个不同的子域 例如 当用户访问该网站时 他 她可以根据
  • 操作数无法与形状 (128,) (0,) 错误一起广播

    我正在尝试实现面部识别登录系统 但出现错误 操作数无法与形状 128 0 一起广播 我不知道什么或如何解决它 这是我已实现的 view py 和 FaceDetector py 以及我从服务器收到的错误 errors Traceback m
  • Python Nose 导入错误

    我似乎无法理解鼻子测试框架 https nose readthedocs org en latest 识别文件结构中测试脚本下方的模块 我已经设置了演示该问题的最简单的示例 下面我会解释一下 这是包文件结构 init py foo py t
  • Python:记录垃圾收集器

    我有一个 python 应用程序 有一些性能问题 我想将垃圾收集器的事件 特别是何时调用 添加到我的日志中 是否可以 thanks http docs python org library gc html gc set debug http
  • Python 在 chroot 中运行时出现错误

    我尝试在 chroot 中运行一些 Python 程序 但出现以下错误 Could not find platform independent libraries
  • Python + PostgreSQL + 奇怪的ascii = UTF8编码错误

    我有包含字符的 ascii 字符串 x80 代表欧元符号 gt gt gt print x80 当将包含该字符的字符串数据插入数据库时 我得到 psycopg2 DataError invalid byte sequence for enc
  • 将 API 数据存储到 DataFrame 中

    我正在运行 Python 脚本来从 Interactive Brokers API 收集金融市场数据 连接到API后 终端打印出请求的历史数据 如何将数据保存到数据帧中而不是在终端中流式传输 from ibapi wrapper impor
  • conda 无法从 yml 创建环境

    我尝试运行下面的代码来从 YAML 文件创建虚拟 Python 环境 我在 Ubuntu 服务器上的命令行中运行代码 虚拟环境名为 py36 当我运行下面的代码时 我收到下面的消息 环境也没有被创建 这个问题是因为我有几个必须使用 pip
  • 如何从谷歌云存储桶读取音频文件并在datalab笔记本中使用ipd播放

    我想在数据实验室笔记本中播放我从谷歌云存储桶中读取的声音文件 这个怎么做 import numpy as np import IPython display as ipd import librosa import soundfile as
  • 使用 Scipy imsave 将 Numpy 数组保存到图像时保留未更改的数据

    使用 Scipy 保存二维 Numpy 数组 单个值 时toimage or imsave像素值与 Numpy 数组中的像素值不完全匹配 相反 在某些区域 主要是边缘 图像算法似乎使用某种插值 是否有一个选项可以停止插值并保留准确的数据 例
  • 用Python中的嵌套for循环替换重复的if语句?

    在我编写的下面的代码中 n 4 所以有五个 if 语句 所以如果我想将 n 增加到 比如说 10 那么就会有很多 if 语句 因此我的问题是 如何用更优雅的东西替换所有 if 语句 n p 4 5 number of trials prob
  • 如何使用 Python 多处理避免在分叉进程中加载​​父模块

    当您创建一个Pool使用Python的进程multiprocessing 这些进程将分叉 父进程中的全局变量将显示在子进程中 如下面的问题所述 如何限制多处理进程的范围 https stackoverflow com questions 2
  • 如何从 Python 中指定运行程序的输入文件?

    我正在编写一个外部脚本 以通过笔记本电脑上的 Python mrjob 模块 而不是在 Amazon Elastic Compute Cloud 或任何大型集群上 运行 mapreduce 作业 我读自mrjob文档 http packag
  • 如何对这个 Flask 应用程序进行单元测试?

    我有一个 Flask 应用程序 它使用 Flask Restless 来提供 API 我刚刚写了一些身份验证来检查 如果消费者主机被识别 该请求包含一个哈希值 通过加密 POST 的请求内容和 GET 的 URL 以及秘密 API 密钥来计
  • Django - 电子邮件发送两次

    每当我使用如下所示的电子邮件设置从views py调用下面的方法时 电子邮件的两份副本都会发送给收件人 并且我收到如下所示的错误 def sendEmailBasic request msg EmailMessage Request Cal
  • Matplotlib 图例不工作

    自从升级 matplotlib 以来 每当尝试创建图例时 我都会收到以下错误 usr lib pymodules python2 7 matplotlib legend py 610 UserWarning Legend does not
  • Python正则表达式从字符串中获取浮点数

    我正在使用正则表达式来解析字符串中的浮点数 re findall a zA Z d d t 是我使用的代码 这段代码有问题 如果数字和任何字符之间没有空格 则不会解析该数字 例如 0 1 2 3 4 5 6 7 8 9 的预期输出为 0 1
  • numpy.cov() 返回意外的输出

    我有一个 X 数据集 有 9 个特征和 683 行 683x9 我想获取这个 X 数据集和另一个与 X 具有相同形状的数据集的协方差矩阵 我使用np cov originalData generatedData rowvar False 代
  • 如何在C++中列出Python模块的所有函数名称?

    我有一个 C 程序 我想导入一个 Python 模块并列出该模块中的所有函数名称 我该怎么做 我使用以下代码从模块中获取字典 PyDictObject pDict PyDictObject PyModule GetDict pModule
  • 在Python中从日期时间中减去秒

    我有一个 int 变量 它实际上是秒 让我们调用这个秒数X 我需要得到当前日期和时间 以日期时间格式 减去的结果X秒 Example If X是 65 当前日期是2014 06 03 15 45 00 那么我需要得到结果2014 06 03

随机推荐

  • MySQL读写分离实战

    1 MySQL读写分离概念 MYSQL读写分离的原理其实就是让Master数据库处理事务性增加 删除 修改 更新操作 create insert update delete 而让Slave数据库处理查询 select 操作 MySQL读写分
  • Java基础--------集合框架

    参考http blog csdn net zhongkelee article details 46801449 点击打开链接 以此为模板 自己做了整理 修改 目录 一 概念 二 集合框架的体系 2 1 Collection接口 2 1 1
  • 三维人脸重建(二)——Python生成ply文件

    目录 引言 一 ply格式模型介绍 二 代码 注 引言 本文主要以做坐标点为例 我们知道python对数据的处理主要是以numpy的形式 一般三维空间坐标的矩阵在python中为 x1 y1 z1 x2 y2 z2 xn yn zn 然后可
  • Java中的栈区和堆区问题(关于数组)

    Java中创建的局部变量等是存放在栈区的 而数组是存放在堆区的 那些new出来的对象也大多存放于堆区 栈区的空间往往不大 而堆区空间就会大很多 这里我们创建一个数组 如果在idea中打印a 会得到一串符号 这个是数组在堆区首元素的地址 代表
  • 数据结构 图 part2

    文章目录 图的遍历 深度优先遍历 DFS 遍历步骤 邻接矩阵的存储 邻接表的存储 广度优先遍历 BFS 遍历步骤 非连通图的遍历 连通分量 如何遍历 生成树 图的遍历 深度优先遍历 DFS 遍历步骤 在访问图中某一起始顶点v后 由v出发 访
  • 测试开发——用例篇(如何设计一个测试用例,设计测试用例的一些具体方法)

    目录 一 测试用例的基本要素 二 设计测试用例的万能公式 在没有需求文档的情况下 1 水杯的测试用例 2 一个网站的登录测试用例 三 基于需求进行测试用例的设计 四 测试用例的具体设计方法 根据需求 1 等价类 2 边界问题 3 判定表 因
  • 阿里云云解析DNS各种概念深度剖析

    摘要 本文所设计概念有 主机记录 www 记录类型 A记录 CNAME记录 TXT记录 解析路线 isp 网络服务提供商 记录值 TTL time to live 缓存生存时间 地方DNS DNSPod 场景描述 域名解析有一个 记录数 和
  • KEIL5中点击build会全编译的解决方法

    今天在笔记本上调试STM32时 发现每次点击build 总是会对工程内所有文件进行编译 相当于是rebuild的功能 开始以为是keil5版本的问题 经过网上查找并亲自测试 现得出解决办法 在Option中C C 一栏内 添加路径包含工程内
  • 联想rd540服务器怎么装系统,联想RD540加显卡BIOS设置

    开机按F1进入BIOS设置界面 然后进入CONFIG子界面 找到Display这个子项 然后回车进入 这个是设置显示输入和显卡的地方 里面有三个项目 Boot Display Device 启动时使用的显示装置 1 保持默认Thinkpad
  • RabbitMQ修改数据目录MNESIA数据目录

    RabbitMQ修改数据目录MNESIA数据目录 一 什么情况要调整数据目录 1 1 磁盘空间不足 1 2 磁盘性能瓶颈 1 3 迁移集群的备份还原 1 4 数据分离 二 MNESIA简介 三 操作步骤 四 其他问题 4 1 重启失败 一
  • Python习题答案

    1 多选题 程序设计语言包括 和 执行两种方式 正确答案 AB A 编译 B 解释 C 脚本 D 编写 2 单选题 机器语言是一种 语言 正确答案 A A 二进制 B 八进制 C 十进制 D 十六进制 3 单选题 是将源代码转换成目标代码的
  • sqli靶场通关之less9

    sqli less9 时间盲注 结合burpsuite 1 不返回报错信息页面 无法进行基于报错信息的盲注 2 页面不存在true和false两种不同的页面 无法进行对比也就无法进行布尔盲注 一般来说 在页面没有任何回显和错误信息提示的时候
  • 【Python基础】面向对象基础和特性

    Python面向对象 面向对象基础 定义类 创建对象 添加和获取对象属性 魔法方法 对象的生命周期 私有属性和私有方法 面向对象特性 封装 封装案例演练 继承 继承的传递性 方法的重写 父类的私有属性和私有方法 多继承 新式类与经典类 多态
  • 平摊分析(Amortized analysis)

    今天我们主要讨论所谓的平摊分析 amortized analysis 它是用来分析一系列操作的平均所需要的代价 可能有人会问它利用概率论的知识 通过概率来求平均情况 答案是否定的 它并不涉及概率 在一些情况下平摊分析能够很好的帮助我们分析我
  • 三进制数位和

    1 问题描述 问题描述 给定L和R 你需要对于每一个6位三进制数 允许前导零 计算其每一个数位上的数字和 设其在十进制下为S 一个三进制数被判断为合法 当且仅当S为质数 或者S属于区间 L R 你的任务是给出合法三进制数的个数 输入格式 一
  • eclipse下创建webService服务

    本博客是记录在eclipse开发环境中将一个方法开放出去 提供一个webService接口 可以通过浏览器访问 开发环境 eclipse 下载地址 http www eclipse org downloads eclipse package
  • Linux高级专题篇详解--Mysql大全(数据库详细介绍,mysql类型,编译安装,yum安装,增删改查,权限管理,日志备份恢复,主从复制,mycat读写分离)

    Day01 一 数据库介绍 1 什么是数据库 数据库就是一个存放计算机数据的仓库 这个仓库是按照一定的数据结构 数据结构是指数据的组织形式或数据之间的联系 来对数据进行组织和存储的 可以通过数据库提供的多种方法来管理其中的数据 2 数据库的
  • android 编译时copy so文件

    因为项目只支持armeabi 而有些第三方库不支持armeabi 所以在编译时将v7 v8 so文件copy到armeabi 直接上代码build gradle中添加如下代码 afterEvaluate project gt android
  • 华为OD机试真题-数列描述-2023年OD统一考试(B卷)

    题目描述 有一个数列a N N 60 从a 0 开始 每一项都是一个数字 数列中a n 1 都是a n 的描述 其中a 0 1 规则如下 a 0 1 a 1 11 含义 其前一项a 0 1是1个1 即 11 表示a 0 从左到右 连续出现了
  • 【python简单介绍】

    1 Python起源与定义 Python 是由荷兰人吉多 罗萨姆于 1989 年发布的 Python 的第一个公开发行版发行于 1991 年 Python 的官方定义 Python 是一种解释型的 面向对象的 带有动态语义的高级程序设计语言