简介

Python的交互控制台(也叫做Python解释器,或是Python Shell)为程序员提供了"运行指令"和"不创建文件测试测试代码"的快速途径。

交互控制台可以调用所有的Python内置函数和任何已安装的模块、命令行历史、和自动补全。它为"探索Python语言"和"写好代码后粘贴入文件"提供了便利。

这个教程中我们将介绍如何使用Python的交互控制台,以及促使它成为你的得力编程工具。

进入交互控制台

从"本地电脑"或者"安装了Python的服务器"都可以进入Python交互控制台。

进入你默认版本Python交互控制台的常规命令是:

python

如果你已经有设置好的编程环境,你可以进入那个环境,去使用你在那个环境里安装的Python版本和模块。进入环境可以通过以下命令:

cd environments

. my_env/bin/activate

接下来输入Python命令:

python

在这个情况下,默认的Python版本是Python 3.5.2,版本信息在你输入指令之后会自动显示。与版本信息同时显示的还有一些版权信息,以及一些可以获得更多信息的命令:

OutputPython 3.5.2 (default, Nov 17 2016, 17:05:23)

[GCC 5.4.0 20160609] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>>

主界面中的下一行将是三个大于号(>>>):

如果你想使用某一特定版本的Python,你可以在Python命令后面直接加上版本号(没有额外的空格):

python2.7OutputPython 2.7.12 (default, Nov 19 2016, 06:48:10)

[GCC 5.4.0 20160609] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>>

此处我们得知Python 2.7.2将被使用。如果我们Python2的默认版本是2.7.2, 那么我们可以在命令行里简略成python2。

若你想进入Python3,那么应当使用下面的命令:

python3OutputPython 3.5.2 (default, Nov 17 2016, 17:05:23)

[GCC 5.4.0 20160609] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>>

我们同样可以在交互控制台中输入python3.5得到同样的结果。

Python交互控制台在成功运行之后,我们可以继续学习使用Python的Shell环境。

使用Python交互控制台

Python的交互解释器会接收Python的句法,你需要在>>>前缀之后进行输入。

比如,我们可以给变量赋值:

birth_year = 1868

当我们给birth_year这个变量赋值为1868之后,我们按下回车键会得到新的一行,这一行同样会有>>>的前缀:

birth_year = 1868

我们可以继续赋值变量,然后进行数学运算去得到计算结果:

>>> birth_year = 1868

>>> death_year = 1921

>>> age_at_death = death_year - birth_year

>>> print(age_at_death)

53

>>>

如上脚本所示,我们给变量赋值,用一个变量减去另一个变量,让控制台打印出两者的差值。

正如Python的其他形式一样,你同样可以将控制台直接作为计算器使用:

>>> 203 / 20

10.15

>>>

此处我们将两个整数203和20进行相除,得到结果10.15。

多行

当我们想写出多行Python命令式,解释器将有另一个提示符去表示新的连续行,三个点 (...)。

去分开连续的行,你将需要按两次回车键ENTER。

我们可以通过下吗的例子去看到这个句法是什么样的。给两个变量赋值,然后用一个条件语句决定在控制台中打印什么:

>>> sammy = 'Sammy'

>>> shark = 'Shark'

>>> if len(sammy) > len(shark):

... print('Sammy codes in Java.')

... else:

... print('Sammy codes in Python.')

...

Sammy codes in Python.

>>>

在这个例子中两个字符串的长度相等,因此else语句将进行打印。

请注意你需要用"四个连续的空格"去将Python代码进行缩进,否则你将得到以下错误:

>>> if len(sammy) > len(shark):

... print('Sammy codes in Java.')

File "", line 2

print('Sammy codes in Java.')

^

IndentationError: expected an indented block

>>>

你不但可以在Python控制台中试验多行代码,而且可以导入模块。

导入模块

Python解释器提供快捷的方法能让你去测试一个模块在一个特定的编程环境中是否可用。你可以通过import语句进行测试:

>>> import matplotlib

Traceback (most recent call last):

File "", line 1, in

ImportError: No module named 'matplotlib'

在上面的例子中,matplotlib模块在当前的编程环境中不可用。

若想安装这个模块,你需要退出交互控制台,然后用pip的常规方法去安装:

pip install matplotlibOutputCollecting matplotlib

Downloading matplotlib-2.0.2-cp35-cp35m-manylinux1_x86_64.whl (14.6MB)

...

Installing collected packages: pyparsing, cycler, python-dateutil, numpy, pytz, matplotlib

Successfully installed cycler-0.10.0 matplotlib-2.0.2 numpy-1.13.0 pyparsing-2.2.0 python-dateutil-2.6.0 pytz-2017.2

当matplotlib和他的依赖包都安装好之后,你可以重新进入交互解释器:

pythonimport matplotlib

现在就不会有报错了,这个安装好的模块将可以在文件或命令行中自由使用。

退出Python交互控制台

退出Python交互控制台有两种方法:使用快捷键,或是一个Python函数。

在"类*nix"(Mac,Unix,Linux)系统中使用快捷键CTRL + D,或是在Windows系统中使用快捷键CTRL + Z,之后再次键入一次CTRL将终结Python控制台,并退出到你原来的命令行环境:

...

>>> age_at_death = death_year - birth_year

>>> print(age_at_death)

53

>>>

sammy@ubuntu:~/environments$

另一种选择是使用Python的函数quit(),同样会结束Python控制台,退出到你原来的命令行环境:

>>> octopus = 'Ollie'

>>> quit()

sammy@PythonUbuntu:~/environments$

当你使用quit()后,它将会被记录在你的历史文件中。但键盘的快捷键CTRL + D则不会:

File: /home/sammy/.python_history...

age_at_death = death_year - birth_year

print(age_at_death)

octopus = 'Ollie'

quit()

退出Python解释器的两种方式可自由选择,取决你觉得哪个对你的"工作流程和记录历史"的需求更合适。

获取历史

Python解释器提供的有用功能之一,是你可以看到你所有的命令历史。这些历史在"类*nix"系统中被存储在.python_history文件中,你可以用像nano这类的文本编辑器去查看:

nano ~/.python_history

当你用文本编辑器打开它之后,你的Python历史文件看上去类似于下面的格式,并包含有你自己的命令历史:

File: /home/sammy/.python_historyimport pygame

quit()

if 10 > 5:

print("hello, world")

else:

print("nope")

sammy = 'Sammy'

shark = 'Shark'

...

当你用好文件之后,你可以使用CTRL + X退出nano。

通过记录所有的Python历史,你将可以获得你之前试验过的所有指令。你可以复制、粘贴到这些代码到Python文件中,或是Jupyter Notebook中,去修改并使用这些之前的命令行代码。

总结

Python的交互控制台提供了一个可以试验Python代码的空间。你可以用它进行测试,设计出逻辑方法等等。

若想在Python文件里debug,你可以使用Python的code模块去用交互控制台打开一个文件。这里是更加具体的指南如何用交互控制台debug Python.

python 调用控制台_如何使用Python的交互控制台相关推荐

  1. python调用可执行文件_如何从Python脚本调用可执行文件?

    I need to execute this script from my Python script. Is it possible? The script generate some output ...

  2. Extending Python with C (Python 调用 C) - A Simple Example - Python list

    Extending Python with C (Python 调用 C) - A Simple Example - Python list 原文阅读于极客学院 http://www.jikexuey ...

  3. python tkinter 安装_详解python tkinter模块安装过程

    引言: 在Python3下运行Matplotlib之时,碰到了"No module named _tkinter"的问题,花费数小时进行研究解决,这里讲整个过程记录下来,并尝试分析 ...

  4. python md5加密_如何用python“优雅”的调用有道翻译?

    前言 其实在以前就盯上有道翻译了的,但是由于时间问题一直没有研究(我的骚操作还在后面,记得关注),本文主要讲解如何用python调用有道翻译,讲解这个爬虫与有道翻译的js"斗争"的 ...

  5. 课程设计python调用摄像头_教你如何利用python调用摄像头

    导读 这篇文章主要介绍了python调用摄像头的示例代码,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 一.打开摄像头 import cv2 import numpy as np de ...

  6. python mkl使用_直接从python调用intel的mkl时,请使用多个线程

    我从python调用intel的数学内核库.根据linux的top命令,到目前为止,它只使用一个cpu,而不是全部12个cpu.如何使它使用全部12个cpu?在 我尝试过将三个环境变量(OMP_NUM ...

  7. python如何调用字典_如何访问python字典里的值?(实例解析)

    今天这篇文章中我们来了解一下python之中的字典,在这文章之中我会对python字典访问进行说明,以及python使用.访问字典的实例分析.好了废话不多说,我们开始进入文章吧. 访问字典里面的值 把 ...

  8. python len函数_知识清单Python必备的69个函数,你掌握了吗?

    本文纲要 Python 作为一门高级编程语言,为我们提供了许多方便易用的内置函数,节省了不少开发应用的时间.目前,Python 3.7 共有 69 个内置函数,一些是我们耳熟能详的函数,另一些却不是很 ...

  9. python递归函数例题_递归案例python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 而对应的中文翻译 "递归" 却表达了两个意思:"递 ...

最新文章

  1. 【c语言】扶老奶奶过街
  2. 用C#语言构造蜘蛛程序
  3. 仿ios便签软件_手机便签软件误删怎么恢复?
  4. php declare 作用,php declare用法详解
  5. 【Java架构师面试题】设计模式面试专题(共35题含答案)
  6. mysql 1053错误,无法启动的解决方法
  7. 计算机cpu天体图,认识一下电脑的CPU,附2019最新CPU天梯图
  8. 完美解决excel科学计数法导入数据库处理方法
  9. oracle共享池使用率,oracle调优之--共享池使用问题(摘自文平书)
  10. java计算为0_Java中除数为0时计算报错的问题
  11. php 分布式事务 DTM (TCC模式和Saga模式的区别)
  12. 计算机多窗口显示桌面,怎么同时电脑桌面打开多个excel窗口
  13. 关于teamviewer不能进行局域网连接的问题
  14. 【Pigeon源码阅读】服务注册发布流程(四)
  15. python 抓网卡数据包 解析wifi_某高校校园网WIFI嗅探用户名密码实践
  16. Python 英文电影中参演人员名单一般以某种方式进行排版显示
  17. Material Design学习总结
  18. 【附源码】计算机毕业设计SSM社区生鲜电商平台
  19. iOS 快速接入腾讯虚拟人特效 Avatar
  20. 角谷定理。输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1。经过如此有限次运算后,总可以得到自然数值1。求经过多少次可得到自然数1。

热门文章

  1. docker搭建Redis的主从集群
  2. js实现关于分页的一种实现方式
  3. android studio 中使用lambda表达式
  4. 基于JAVA+SpringMVC+MYSQL的家政服务平台
  5. 扩展欧几里得,解线性同余方程 逆元 poj1845
  6. java输出当前文件所在路径
  7. 关于redis的几点思考
  8. JMeter使用总结
  9. 我为什么不无偿加班,你也不应该
  10. 2012年6月份第4周51Aspx源码发布详情