Python 篇章(一)

Python 起源

一般代码量的对比下 PythonJava1/5,所以说 人生苦短,我用 Python

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

说来Python的诞生也是很奇葩,1989年圣诞节🎅,阿姆斯特丹,为了打发无聊的圣诞时间,年青人Guido决定开发一个新的编程语言。之所以取名为Python(大蟒蛇),是因为他是Monty Python喜剧团体的爱好者。

1、1989 年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的解释程序,作为 ABC 语言的一种继承(感觉下什么叫牛人)

2、ABC 是由吉多参加设计的一种教学语言,就吉多本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是 ABC 语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在 Python 中避免这一错误,并获取了非常好的效果

3、之所以选中 Python(蟒蛇) 作为程序的名字,是因为他是 BBC 电视剧——蒙提·派森的飞行马戏团(Monty Python's Flying Circus)的爱好者

4、1991 年,第一个 Python 解释器 诞生,它是用 C 语言实现的,并能够调用 C 语言的库文件

Python 的优缺点

优点

1、Python的语法非常接近英语,风格统一,非常优美,而且内置了很多高效的工具。打个比方,同样一项工作,C语言要1000行,Java要100行,Python可能只要10行。

2、开发效率高,Python 有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python 官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。

缺点

1、速度慢,因为是解释型语言,Python 的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些,因此这也是很多所谓的大牛不屑于使用Python的主要原因。

2、线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。

Python 能干什么

1)网站后端程序员:使用它单间网站,后台服务比较容易维护。

2)自动化运维:自动化处理大量的运维任务

3)数据分析师:快速开发快速验证,分析数据得到结果

4)游戏开发者:一般是作为游戏脚本内嵌在游戏中

5)自动化测试:编写为简单的实现脚本,运用在Selenium/lr中,实现自动化。

6)网站开发:借助django,flask框架自己搭建网站。

7)爬虫获取或处理大量信息:批量下载美剧、运行投资策略、爬合适房源、系统管理员的脚本任务等。

Python 解释器

解释器(科普)

计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器

编译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译时间点的不同。当编译器以解释方式运行的时候,也称之为解释器

编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如 C、C++

解释型语言:解释型语言编写的程序不进行预先编译,以文本方式存储程序代码,会将代码一句一句直接运行。在发布程序时,看起来省了道编译工序,但是在运行程序的时候,必须先解释再运行

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

速度 —— 编译型语言比解释型语言执行速度快。

跨平台性 —— 解释型语言比编译型语言跨平台性好。

介绍

当我们编写Python代码时,我们得到的是一个包含Python代码的以 .py 为扩展名的文本文件。要运行代码,就需要Python解释器去执行 .py 文件。

由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。

CPython

当我们从Python官方网站下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。

CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。

IPython

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。

CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

PyPy

PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。

Jython

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython

IronPython和Jython类似, 只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

小结

Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或Net平台交互,最好的办法不是用Jython 或 IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

Python解释器的安装

打开官网 https://www.python.org/downloads/windows/ 下载中心

下载完毕后打开进行安装,勾选(all users),然后点击(customize installation)自定义安装

之后进入该界面,这是一些可选的项,全部默认勾选进行下一步

该界面是选择安装路径,最好是自己创建一个新的路径方便查找,勾选项默认

完成以上步骤之后,就开始进行安装了

安装完成之后,进行环境变量的设置,控制面板 --- 系统和安全 --- 系统 --- 高级系统设置 --- 环境变量 --- 在系统变量中找到 path 双击 --- 新建路径 Python解释器和 script

好了以上就是安装python解释器的步骤,恭喜入坑,使用win键 + r 命令行输入python 验证是否安装成功

第一个 Python 程序

1. 第一个 Python 程序

1.1 Python 源程序的基本概念

  • Python 源程序就是一个特殊格式的文本文件,可以使用任意文本编辑软件做 Python 的开发

  • Python 程序的 文件扩展名 通常都是 .py

1.2 交互式运行 Python 程序

  • 使用 win键 + r 进入 python 环境
>>> print("hello world")
hello world

执行 python 程序的方式

1. 解释器 —— python / python3

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

2. 交互式 —— ipython

  • IPython 中 的 I 代表 交互 interactive

特点

  • IPython 是一个 python 的 交互式 shell,比默认的 python shell 好用得多
    • 支持自动补全
    • 自动缩进
    • 支持 bash shell 命令
    • 内置了许多很有用的功能和函数

版本

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

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

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

    • 直接输入 exit
    • 按热键 ctrl + d
  • IPython 的安装

bash $ sudo apt install ipython

3 集成开发环境 —— PyCharm

3.1 集成开发环境(IDE)

集成开发环境(IDE,Integrated Development Environment)—— 集成了开发软件需要的所有工具,一般包括以下工具:

  • 图形用户界面
  • 代码编辑器(支持 代码补全自动缩进
  • 编译器/解释器
  • 调试器(断点单步执行
  • ……
3.2 PyCharm 介绍
  • PyCharm 是 Python 的一款非常优秀的集成开发环境
  • PyCharm 除了具有一般 IDE 所必备功能外,还可以在 Windows、Linux、macOS 下使用 PyCharm
  • 适合开发大型项目
    • 一个项目通常会包含 很多源文件
    • 每个 源文件 的代码行数是有限的,通常在几百行之内
    • 每个 源文件 各司其职,共同完成复杂的业务功能

posted @   ArMinLi  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示