Python3的介绍、安装和命令行的认识

PYTHON3介绍

Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。

Python就为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteries included)”。用Python开发,许多功能不必从零编写,直接使用现成的即可。

除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。
许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包

Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。

龟叔给Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。

总的来说,Python的哲学就是简单优雅,尽量写容易看明白的代码,尽量写少的代码。

另外,在网上看到的大部分文章几乎都是在说Java是跨平台的,我们Python也是跨平台的。发布这样的言论的人要么是个老古董,要么就是随波逐流。纵观各种编程语言,还有哪几个不是跨平台的,几乎在不同的平台上都有自己的编译器。假设现在你开发出一种语言,不能够跨平台,你看看还会有人用吗。所以说,跨平台这种观念已经不能再当做事来说了。

PYTHON更适合开发哪些类型的应用

  • 首选是网络应用,包括网站、后台服务等等;
  • 其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等;
  • 另外就是把其他语言开发的程序再包装起来,方便使用。

Python的优点

1、python非常简单

Python程序读起来就像一篇英文文章一样,你不需要搞明白语言本身。你只需要知道这个方法是做什么的即可。Python的这种伪代码本质是它最大的优点之一。

2、易学

Python使用C编写,但是他却巧妙的避开C中指针等一些列晦涩难懂的概念。所以在开发中你不必去关注语言的特性,可以全身心的去考虑业务逻辑。

3、可移植性

由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这个个优点说的也不过就是Python的跨平台特性。

4、Python既支持面向过程的函数编程也支持面向对象的抽象编程。

在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。

5、可扩展性和可嵌入性

如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。因此Python被称为‘粘合剂’。

6、规范的代码

Python标准库确实很庞大。python有可定义的第三方库可以使用。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。

Python的缺点

世间的万事万物都不是完美的,都有其欠缺的一面,人都要三七开,更何况由人编写出来的计算机语言呢。

无论是优点还是缺点这种评价性质的东西,永远没有定数,不可能罗列出每一种情况,因此我主要介绍以下几种不足之处:

1、运行速度慢

和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。
但是大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。例如开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1秒,你想,用户能感觉到1.001秒和1.1秒的区别吗?

2、代码不能加密

如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。

Python的安装

要开始学习Python编程,首先就得把Python安装到你的电脑里。安装后,你会得到Python解释器(就是负责运行Python程序的),一个命令行交互环境,还有一个简单的集成开发环境。

Windows下安装原生Python

首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载Python 3.6.x。

https://www.python.org/downloads/

双击Python的.exe安装程序, 勾选Install launcher for all users和Add Python 3.6 to PATH,,并选择自定义安装(Customize installation)

这里是选择要安装的组件,可以根据自己的需要选择,最好,都选中。

选择安装位置,勾选前五个选项,再下一步。

点击Disable path length limit允许环境变量超过260字符,完成安装

安装成功后,打开命令提示符窗口,敲入python后,会出现以下情况就说明安装成功了!

你看到提示符>>>就表示我们已经在Python交互式环境中了,可以输入任何Python代码,回车后会立刻得到执行结果。现在,输入exit()并回车,就可以退出Python交互式环境(直接关掉命令行窗口也可以)。

如果得到一个错误:‘python’ 不是内部或外部命令,也不是可运行的程序或批处理文件。

这是因为Windows会根据一个Path的环境变量设定的路径去查找python.exe,如果没找到,就会报错。如果在安装时漏掉了勾选Add Python 3.6 to PATH,那就要手动把python.exe所在的路径添加到Path中。

如果你不知道怎么修改环境变量,建议把Python安装程序重新运行一遍,务必记得勾上Add Python 3.6 to PATH。

Linux下安装原生Python(以centos7为例)

1、以root权限打开终端,进入安装包的存放路径,解压安装包:

[root@localhost ~]# tar -xzvf Python-3.6.4.tgz 

 2、进入解压好的安装包路径:

[root@localhost ~]# cd Python-3.6.4

3、编译安装包,指定安装路径,并执行安装命令: 
注意:prefix参数用于指定将Python安装在新目录,防止覆盖系统默认安装的python

[root@localhost Python-3.6.4]# ./configure --prefix=/usr/local/python36 --enable-shared CFLAGS=-fPIC
[root@localhost Python-3.6.4]# make && make install

4、修改系统默认的Python路径,因为在终端中输入Python命令时默认是指向Python2.6.6

[root@localhost Python-3.6.4]# mv /usr/bin/python /usr/bin/python-2.6.6  

5、建立新的软连接,指向Python-3.6.0: 
注:这里的python36是第4步指定的安装路径,python3.6是Python包里的可执行程序

[root@localhost Python-3.6.4]# ln -s /usr/local/python36/bin/python3.6 /usr/bin/python

6、因为yum是依赖python的,所以这里我们修改了默认的python,就要修改yum,让其运行指向旧的版本:

[root@localhost Python-3.6.4]# vi /usr/bin/yum  

将第一行中的“#!/usr/bin/python”
修改为“#!/usr/bin/python-2.6.6”,保存即可
7、如果顺利的话,通过以上过程Python的安装就基本完成了,可以打开一个新的终端,通过python命令进入python环境,

Python的交互环境的使用

当你安装成功Python后,在cmd或者是powershell中输入python并回车后,看到的终端状态就是Python的交互式环境,交互式环境中可以执行任何的Python代码,并实时的输出相应的结果。我们经常在研发过程中,使用它做一些简单的代码测试,相比于运行一个py文件要来的方便、直接、快捷。

首先我们在交互式环境中执行一些简单的代码,让我们先把左脚迈进Python的大门。

输出

python的输出方法是print(),该方法实现的效果就是在控制台(也就是我们当前所看到的命令行)输出我们指定的内容。

使用方法:在print()括号中添加字符串即可向屏幕打印指定的文字。

>>> print('Hello World')
Hello World

print()函数也可以接受多个参数,用逗号“,”隔开,就可以连成一串输出:

>>> print('Hello', 'World')
Hello World

由以上的两个示例可以看出,该函数的输出是将所有的参数都打印出来,并以空格隔开。

print()也可以打印整数,或者计算结果

>>> print(100)
100
>>> print(100 + 50)
150
>>> print('100 + 50 =', 100 + 50)
100 + 50 = 150

输入

有输出当然就要有输入,Python的输入也很简单使用的是input()方法,可以让用户在控制台输入一个字符串并存储到变量中(现在,我们不必关注变量是什么,你只需要知道变量能存储我们输入的数据即可)。

示例:

>>> name = input()
KevinBruce
>>> name = input()
'KevinBruce'

我在控制台中输入name = input()这行代码并回车后,光标会停留在下方等待你输入一些内容,我输入了KevinBruce后并回车,什么都没有了,此时我们将我们输入的字符串存储到name变量中了。我们直接数据变量名,就可以看到变量中的值了,果然是我们刚刚在控制台输入的内容。

但是,此时你会发现,输入input()方法回车后,什么都没有提示,只是光标停止在了那里,不知道的人还以为电脑卡死了呢,这样友好性就不是很好。那么,我们在输入之前有一些提示信息呢?答案是:当然可以了。

input()函数也可以传递参数作为提示内容。

>>> name = input('please input your name:')
please input your name:KevinBruce
>>> print(name)
KevinBruce

这样是不是就更加人性化,更加友好了。我们上一个案例中直接使用name变量输出的内容,那么在这个案例中我们使用之前学过的print()方法将变量打印出来,自行了解他们的区别。

input()返回的数据类型是str,因为str不能直接和整数比较,所以必须先把str转换成整数才能计算。

可以使用int()方法,将数字型的字符串转换成整型

>>> input_age = input('please input your age:')
please input your age:18
>>> age = input_age + 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: must be str, not int
>>> age = int(input_age) + 1
>>> age
19

上面的例子可以看出,我们尝试着将输入的一个年龄,进行+1操作,但是在我直接进行加的时候,抛出了一个错误,说input_age是一个str,而不是int。因此,我们使用int()方法将其转化成int类型,在进行+1操作时,就正确了。

好,本期的内容就到这里。我会不断的去更新和修改我的文档。我们下一期的内容是Python3之ipython的介绍与使用“,如果您看到我的文章,希望您给出一些评价和指点,我会进行修改学习。

猜你喜欢

转载自my.oschina.net/epoch/blog/1787262