【跟小嘉学习Python 程序设计】第一章 开发环境搭建

系列文章目录

【跟小嘉学习Python 程序设计】第一章 开发环境搭建

前言

在当今的环境下,Python 是一门热门语言,而且其本身有着近30年的发展历史,在全世界的范围内,许多学校都使用 Python 作为基础语言的教程,同时在数据的分析领域以及人工智能领域。本章节讲解 Python开发环境、Python领域、Python的哲学、如何学习Python、Python如何进行多版本共存;


一、Python是什么

在当今的环境下,Python 是一门热门语言,而且其本身有着近30年的发展历史,在全世界的范围内,许多学校都使用 Python 作为基础语言的教程,同时在数据的分析领域以及人工智能领域。

Python 语言最大的特点:简单、容易学习、功能强大的程序设计语言;

Python是一门完整的计算机编程语言,基于C语言开发实现,并可以调用C语言所提供的函数库;Python在最初时候被设计为自动化脚本编写语言,但是随着版本的更新,Python的支持也更加丰富,尤其在大数据时代,Python被广泛应用在数据分析与人工智能开发领域。

在系统开发运维过程之中,往往会编写大量的 Shell 脚本,Python 希望可以解决 这些 Shell 编程所带来的困难,在运维领域里面许多的运维工程师实际上都需要进行Python 的学习。

Google 对 Python 的 推广起到了非常大的作用,而且在 Google 的开发语言里面,Python 排到了第三位。

二、为什么是Python

2.1、Python之禅(哲学)

我们可以在 Python shell 里面使用 import this 来显示。
Python之禅

1.优美胜于丑陋
2.明了胜于晦涩
3.简单胜于复杂
4.复杂胜于杂乱
5.扁平胜于嵌套
6.间隔胜于紧凑
7.可读性很重要
8.特例不足以特殊到违背这些原则
9.不要忽视错误,除非程序需要这样做
10.面对模棱两可,拒绝猜测
11.解决问题最直接的方法应该有一种,最好只有一种
12.可能这种方法一开始不够直接,因为你不是范罗苏姆
13.做也许好过不做,但不想就做还不如不做
14.如果方案难以描述明白,那么一定是个糟糕的方案
15.如果容易描述,那么可能是个好方案
16.命名空间是一种绝妙的理念,多加利用

2.1、特点

2.1.1、语法简单灵活

Python的语法结构是非常简单的,例如 C、C++、Java、C#等这些语言的语法形式是非常接近的;Python 在进行相同代码体包裹的时候只需要通过缩进就可以解决,而其他语言是依靠 {} 来进行定义的。

对于一些访问的支持,实际上也是非常的容易,同时也提供有良好的支持

2.1.2、规范化代码

因为代码简单,所以阅读起来非常的容易,而且语法的结果相对固定。

2.1.3、Python上是一个开源项目

Python 底层实现代码是公开的,所有的爱好者都可以根据自己的喜好进行 Python 源代码的重新开发,并且也可以将自己修改后的源代码进行公布,方便更多人去使用,并且有着广泛的开发支持,所以 Python 中提供的功能模块是非常多的,像最流行的深度学习、数据分析、人工智能就是因为这些第三方模块给予支持。

2.1.4、Python是一门面向对象语言

IBM推出的 SmallTalk 是最早的面向对象编程语言,随后的面向对象语言就是C++、再之后就是Java与C#时代了,再后来许多的编程语言也开始推出了自己的面向对象编程语言。

随着 Python 的不断加强,对于面向对象的支持也更加的丰富。

2.1.5、Python具有强大的可移植性

现在的操作系统实际上是非常多的,可以把世界上现有的操作系统分为

  • Windows 系统: Win7 win10等
  • 类 unix 系统:Centos、RedHat、Ubuntu、Macos、Linux、unix

Python 只需要有自己的运行环境,就可以在任意的操作系统之间的移植。

2.1.6、Python 属于解释型编程语言

只需要将源代码的定义在程序开发环境之中就可以直接执行了,少了编译缓解,省略了所谓的字节码

2.1.7、Python 是一个胶水语言

Python 可以非常方便的与C、C++、Java的程序进行连接

2.1.8、Python 拥有良好的并发处理支持

Python支持多进程的并发访问、多线程并发访问(假的)、多协程开发

2.1.9、Python的缺点

  • Python的执行速度较慢,虽然 Python 什么样的开发都可以胜任,但是对于一些高并发的支持,Python不如Java、CPP;
  • Python 的开发版本不兼容:Python2.x 与 Python3.x d 差别是很大的
  • GIL(全局解释锁)限制并发:Python 对多处理器的系统支持度不高,所有的并发访问会受到锁的限制
  • Python 的源代码并没有加密,都是采用明文的形式进行发布的;

2.2、Python的版本

目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的。由于做Linux运维使用2.x版本最多。但我认为Python 3.x版是一个趋势。所以我们采用Python2.7.13与Python3.5.3两个版本共存的方案。

目前Python 3.x 已经成为现在的主流

2.3、Python的应用领域

2.3.1、电信基础设施 (Twilio)

2.3.2、支付系统 (PayPal, Balanced Payments)

2.3.3、神经科学和心理学

2.3.4、数值分析和工程 (numpy, numba)

2.3.5、动画(LucasArts, Disney, Dreamworks)

2.3.6、游戏后台 (Eve Online, Second Life…)

2.3.7、Email 基础设施 (Mailman, Mailgun)

2.3.8、媒体存储和处理 (YouTube, Dropbox)

2.3.9、操作和系统管理 (Rackspace, OpenStack)

2.3.10、自然语言处理(NLTK)

2.3.11、机器学习和计算机版本 (scikit-learn, Orange)

2.3.12、安全性和渗透性测试 ( eBay/PayPal )

2.3.13、大数据 (Disco, Hadoop support)

2.3.14、搜索系统 (ITA, Ultraseek, 还有 Google)

2.3.15、Internet 基础设施 (DNS) (BIND 10)

三、Python2.7.13开发环境的搭建

3.1、在Windows上安装Python

首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载Python 2.7对应的64位安装程序或32位安装程序(网速慢的同学请移步国内镜像),然后运行下载的EXE安装包(建议软件从官方渠道获得):

下载1
下载2
下载3

3.2、版本号的各个含义

名称:python-2.7.12-amd64.exe
1、主版本号,第一位的变化是不向前兼容的(比如很多 Python 3 的代码不能在 Python 2 上运行,反之亦然)
2、次版本号,第二位表示有新特性,但是不破坏向前兼容性(比如 Python 3.2 的代码(理论上)在 Python 3.3 上是可以完好地运行的,反过来不一定,因为可能用到了新引入的特性)。
3、修正版本号:第三位表明有 bug 被修正,不引入新的特性而只修 bug,所以只要不遇到 bug,代码是可以在第三位不同的情况下正确运行的。

3.3、安装

安装1
安装2
:一定要选择添加路径,这样在dos界面,可以执行使用python命令

选择盘符
下一步,然后会从网上下资源,然后点击finish即可

3.4、测试Python环境

按windows键+R
打开命令提示符
输入cmd回车
执行python可以弹出下图,说明你已经安装成Python
测试

四 多版本共存的解决方案

4.1、解决方案一

这里写图片描述
我们把python27里面的pythonw.exe和python.exe 改成pythonw2、python2.exe这样,我们就解决了共存的问题。

我们回到cmd窗口
这里写图片描述
此时已经完成了多版本共存了,后续我们要需要需用pip来安装相应的模块,我们来看看如何使用Python2.7的 PIP。
这里写图片描述
另外右键的原来的 python2的idle无法打开了,这时候我们去修改下注册表
HKEY_CLASSES_ROOT\Python.File\shell\Edit with IDLE\command
修改注册表
修改注册表
此时右键菜单可以打开3.5与2.7的idle了

4.2、解决方案二

我们可以使用 Pyenv等虚拟环境来实现

题外化:通常为了解决安装第三库的问题,通常我还是推荐Anaconda和Ubuntu下使用。因为windows会有奇奇怪怪的问题。解决起来比较麻烦。

五、Python 虚拟机

虚拟机是由软件和硬件技术模拟出来的一台虚拟电脑,这台电脑只能进行程序的运行环境的技术,虚拟机技术是许多编程语言的首选设计方案,因为牵扯到程序的可移植性,很多语言因为其受限平台使用的问题,所以可能不会被广泛的出现在开发领域里面,虚拟机不变仅方便,而且编写代码简单,可以帮助开发者隐藏一些操作系统底层的细节问题,现在的开发基本上都是编写着的虚拟机代码(这些代码不是原始的代码,而是虚拟机可以读取的代码)。

在解释型语言里面,只需要将源代码直接部署到运行的环境里面就可以直接执行了,不被需要任何的操作,只需要有正确的源代码提供。Python 语言是最为典型的解释型的编程语言。

所有的编写源代码的最终目的不是放在那里,而是需要进行执行的,但是在执行的过程之中,必须将源代码编译为计算机可以读懂的底层代码(字节码与程序链接),那么这一个过程会由 Python 自己帮助用户完成。

Python 中代码是需要进行编译,只不过这个编译过程不再需要用户手工完成,而是由 Python 运行环境自动完成。

hello.py 自动编译为-> hello,pyc

Python 在开发时尊处了 ANSI C 标准编写的程序,所以设计之初就充分考虑了Python程序的可移植性问题,只需要Python虚拟机的支持相同,那么Python可以任意在不同的操作系统之间移植。

六、How to Learn Python

中国大学MOOC网易云课堂慕课网Python Document哔哩哔哩、、Udemy、Coursera、廖雪峰的博客等资料供你使用(排名不分先后)。

https://thenewboston.com/
https://pythonprogramming.net/
http://automatetheboringstuff.com
https://morvanzhou.github.io/tutorials/machine-learning/ML-practice/RL-build-arm-from-scratch1/
https://thenewboston.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小嘉丶学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值