Python 基础系列-- 初识【1】

知了一笑 2019-05-13 17:47:53 ⋅ 699 阅读

人生苦短,我用 Python

       —— Life is short, you need Python

01. Python 的起源

Python 的创始人为吉多·范罗苏姆(Guido van Rossum)

Python之父是荷兰人Guido van Rossum,被誉为历史上最伟大的12名程序员[1]之一。

1.1989 年的圣诞节期间,吉多·范罗苏姆开发一个新的解释程序,作为 ABC 语言的一种继承;2.ABC 是由吉多参加设计的一种教学语言,就吉多本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是 ABC 语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在 Python 中避免这一错误,并获取了非常好的效果3.之所以选中 Python(蟒蛇) 作为程序的名字,是因为他是 BBC 电视剧——蒙提·派森的飞行马戏团(Monty Python's Flying Circus)的爱好者4.1991 年,第一个 Python 解释器 诞生,它是用 C 语言实现的,并能够调用 C 语言的库文件

1.1 解释器

       计算机只能理解并执行机器语言,将其他语言翻译成机器语言的工具,被称为编译器

       编译器翻译的方式有两种:编译与解释
那也就分为两中语言,如下图:

编译型语言:先预编译,再解释执行;程序执行效率高,依赖编译器,跨平台性差些。如 C、C++解释型语言:没有预编译,直接一行行翻译;

编译型语言和解释型语言对比

速度 —— 编译型语言比解释型语言执行速度快跨平台性 —— 解释型语言比编译型语言跨平台性好


1.2 Python 的设计目标

1999 年,吉多·范罗苏姆向 DARPA 提交了一条名为 “Computer Programming for Everybody” 的资金申请,并在后来说明了他对 Python 的目标:

一门简单直观的语言并与主要竞争者一样强大开源,以便任何人都可以为它做贡献代码像纯英语那样容易理解适用于短期开发的日常任务

这些想法中的基本都已经成为现实,Python 已经成为一门流行的编程语言

1.3 Python 的设计哲学

 为什么选择 Python?

代码量少03. Python 特点

Python 是完全面向对象的语言

函数模块数字字符串都是对象,在 Python 中一切皆对象完全支持继承、重载、多重继承支持重载运算符,也支持泛型设计

Python 拥有一个强大的标准库,Python 语言的核心只包含 数字字符串列表字典文件 等常见类型和函数,而由 Python 标准库提供了 系统管理网络通信文本处理数据库接口图形系统XML 处理 等额外的功能Python 社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖 科学计算人工智能机器学习Web 开发数据库接口图形系统 多个领域


面向对象的思维方式

面向对象 是一种 思维方式,也是一门 程序设计技术要解决一个问题前,首先考虑 由谁 来做,怎么做事情是  的职责,最后把事情做好就行!

对象 就是 

要解决复杂的问题,就可以找多个不同的对象各司其职,共同实现,最终完成需求


04. Python 的优缺点

4.1 优点

简单、易学免费、开源面向对象丰富的库可扩展性

如果需要一段关键代码运行得更快或者希望某些算法不公开,可以把这部分程序用 C 或 C++ 编写,然后在 Python 程序中使用它们

……


4.2 缺点

运行速度国内市场较小中文资料匮乏

01. Python 2.x 与 3.x 版本简介

目前市场上有两个 Python 的版本并存着,分别是 Python 2.x 和 Python 3.x

新的 Python 程序建议使用 Python 3.0 版本的语法

Python 2.x 是 过去的版本

解释器名称是 python

Python 3.x 是 现在和未来 主流的版本

解释器名称是 python3相对于 Python 的早期版本,这是一个 较大的升级为了不带入过多的累赘,Python 3.0 在设计的时候 没有考虑向下兼容

许多早期 Python 版本设计的程序都无法在 Python 3.0 上正常执行

Python 3.0 发布于 2008 年到目前为止,Python 3.0 的稳定版本已经有很多年了

Python 3.3 发布于 2012Python 3.4 发布于 2014Python 3.5 发布于 2015Python 3.6 发布于 2016




为了照顾现有的程序,官方提供了一个过渡版本 —— Python 2.6

基本使用了 Python 2.x 的语法和库同时考虑了向 Python 3.0 的迁移,允许使用部分 Python 3.0 的语法与函数2010 年中推出的 Python 2.7 被确定为 最后一个Python 2.x 版本



提示:如果开发时,无法立即使用 Python 3.0(还有极少的第三方库不支持 3.0 的语法),建议

先使用 Python 3.0 版本进行开发然后使用 Python 2.6Python 2.7 来执行,并且做一些兼容性的处理

03. 执行 Python 程序的三种方式


解释器 —— python / python3交互式 —— ipython集成开发环境 —— PyCharm / VsCode


3.1. 解释器 python / python3

Python 的解释器


# 使用 python 2.x 解释器$ python xxx.py
# 使用 python 3.x 解释器$ python3 xxx.py


其他解释器

Python 的解释器 如今有多个语言的实现,包括:

CPython —— 官方版本的 C 语言实现Jython —— 可以运行在 Java 平台IronPython —— 可以运行在 .NET 和 Mono 平台PyPy —— Python 实现的,支持 JIT 即时编译

3.2. 交互式运行 Python 程序

直接在终端中运行解释器,而不输入要执行的文件名在 Python 的 Shell 中直接输入 Python 的代码,会立即看到程序执行结果

1) 交互式运行 Python 的优缺点

优点

适合于学习/验证 Python 语法或者局部代码

缺点

代码不能保存不适合运行太大的程序

2) 退出 官方的解释器

1> 直接输入 exit()


>>> exit()


2> 使用热键退出

在 python 解释器中,按热键 ctrl + d 可以退出解释器

3> IPython

IPython 中 的 “I” 代表 交互 interactive

特点

IPython 是一个 python 的 交互式 shell,比默认的 python shell 好用得多

支持自动补全自动缩进支持 bash shell 命令内置了许多很有用的功能和函数

IPython 是基于 BSD 开源的


版本

Python 2.x 使用的解释器是 ipython

Python 3.x 使用的解释器是 ipython3

要退出解释器可以有以下两种方式:




1> 直接输入 exit


In [1]: exit


2> 使用热键退出

在 IPython 解释器中,按热键 ctrl + dIPython 会询问是否退出解释器

3.3 不过我选择vscode, 一个编辑器走天下!

工具顺手就行,只是为了提升开发效率,对Python的基本认识应该就到此位置了

References

[1] 最伟大的12名程序员: https://www.douban.com/group/topic/74259468/


---------------END----------------

后续的内容同样精彩

长按关注“IT实战联盟”哦




全部评论: 0

    我有话说:

    Python 3.8.6 发布

    Python 3.8.6 发布了,它是 Python 3.8 的第六个维护版本。 3.8 系列的维护版本将每两个月定期更新一次,3.8.7 计划于 2020 年 11 月中旬发布。 随着维护版本的

    Python ORM框架SQLAlchemy 1.3.20 发布

    SQLAlchemy 1.3.20 发布了。SQLAlchemy 是一个 Python 的 SQL 工具包以及数据库对象映射(ORM)框架。它包含整套企业级持久化模式,专门用于高效和高性能的数据库

    Python 基础系列--序列类型【4】

    目标 1.对序列对象有整体的认识;2.掌握list的常用操作3.掌握tuple的常用操作4.理解深浅拷贝问题 第一部分 序列对象 1. 了解序列对象 Python一切皆对象。 1.序列对象包含str

    Pyston 2.1 发布,Python 的高度兼容实现

    Pyston 2.1 发布了。Pyston 是 Python 的高度兼容实现,自称比 Python 更快。根据 Pyston 提供的宏基准测试结果,其 v2 版本比目前的 Python 3

    Python 基础系列--数字类型【2】

    一步一脚脚印,方能走的更远

    Python 基础系列--字符串类型【3】

    字符串是编程必然面临的类型,常用指数之高,不得不先了解下

    Node与配置安装(一)

    第一. JavaScript简述 1992年, 第一个客户端脚本语言ScriptEase诞生, 由Nombas公司开发;JavaScript的首秀是在1995年,JScript 的诞生成为 JavaScript 发展的一个重要里程碑,标志了动态...

    Python 3.9.1 发布,支持苹果 M1 和 macOS 11 Big Sur

    Python 3.9.1 已正式发布。Python 3.9.1Python 3.9 的第一个维护版本,也是第一个在 Apple Silicon 上原生支持 macOS 11 Big Sur 的

    Python数据计算工具 PyMiner v2.1.0 Beta 发布!LGPL协议生效!

    PyMiner 是一个类似MATLAB的,但基于python的GUI数据计算工具,通过集成ipython和工作空间、编辑器、绘图、应用插件开发系统、统计和模型相关内容,用户可以在统一的界面程序中的

    安全攻防系列一 安全基础概念

      该系列记录学习极客时间–安全攻防技能30讲相关内容 安全的本质 安全的本质就是保护数据被合法地使用。 数据:应用最核心的东西;如用户信息、订单信息等等 合法:大到法律法规、业务

    商城系统 DBShop V3.0 Beta 发布

    全新重构,首次亮相。 系统简介 DBShop企业级商城系统,使用PHP语言基于Laminas(Zendframework 3) + Doctrine 2 组合框架开发完成。可定制、多终端、多场景、多

    WebMIS 1.0.0 beta.3 发布,全栈开发基础框架

    全栈开发基础框架,包括 PHP / Python / SpringBoot / Phalcon / Flutter / NodeJS / Vue / Swoole / Redis / API 等技术

    【开源资讯】cppweb 1.0.2 发布,基于 C++ 开发的 Web 服务器

    cppweb是一个基于C++开发的 WEB 服务器,支持C/C++、Python、Java等多语言混合开发WEB应用。 cppweb同时也是一个跨平台的微服务开发框架,通过两个核心组件

    Pyston v2 发布:比 Python 快 20%

    Pyston v2 已正式发布,Pyston 是 Python 的高度兼容实现,自称比 Python 更快。根据 Pyston 提供的宏基准测试结果,其 v2 版本比目前的 Python 3.8 快

    JetLinks 物联网基础平台 1.6 RELEASE 发布

    级物联网基础平台。平台实现了物联网相关的众多基础...

    GraalVM 21.1 社区版发布:实验性支持 Java 16

    GraalVM 21.1 稳定版已发布。GraalVM 是 Oracle 打造的高性能跨语言虚拟机,支持运行 JavaScript、Python 3、Ruby

    TimescaleDB 2.1.1 发布,基于 PostgreSQL 的时序数据库

    TimescaleDB 2.1.1 现已发布,这是一个维护版本,包含了自 2.1.0 版本以来的 bugfixes,官方将其视为高度优先升级。TimescaleDB 是基于

    Hikyuu 1.1.5 发布,量化交易研究框架

    Hikyuu Quant Framework是一款基于C++/Python的开源量化交易研究框架,用于策略分析及回测。其核心思想基于当前成熟的系统化交易方法,将整个系统化交易抽象为由市场环境判断策略