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。
双击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
上面的例子可以看出,我们尝试着将输入的一个年龄,进行+1操作,但是在我直接进行加的时候,抛出了一个错误,说input_age是一个str,而不是int。因此,我们使用int()方法将其转化成int类型,在进行+1操作时,就正确了。
总结
以上所述是小编给大家介绍的python3的介绍、安装和命令行的认识,希望对大家有所帮助