本文来自:入门指南
开胃菜参考:开胃菜

目录:

  • 目录:
  • 使用python解释器

使用python解释器

2.1. 调用 Python 解释器

Python 解释器通常被安装在目标机器的 /usr/local/bin/python3.5 目录下。将 /usr/local/bin 目录包含进 Unix shell 的搜索路径里,以确保可以通过输入:

python3.5

命令来启动他。[1] 由于 Python 解释器的安装路径是可选的,这也可能是其它路径,你可以联系安装 Python 的用户或系统管理员确认(例如,/usr/local/python 就是一个常见的选择)。

在 Windows 机器上,Python 通常安装在 C:\Python35 位置,当然你可以在运行安装向导时修改此值。要想把此目录添加到你的 PATH 环境变量中,你可以在 DOS 窗口中输入以下命令:

set path=%path%;C:\python35

通常你可以在主窗口输入一个文件结束符(Unix 系统是 Control-D,Windows 系统是 Control-Z)让解释器以 0 状态码退出。如果那没有作用,你可以通过输入 quit() 命令退出解释器。

Python 解释器具有简单的行编辑功能。在 Unix 系统上,任何 Python 解释器都可能已经添加了 GNU readline 库支持,这样就具备了精巧的交互编辑和历史记录等功能。在 Python 主窗口中输入 Control-P 可能是检查是否支持命令行编辑的最简单的方法。如果发出嘟嘟声(计算机扬声器),则说明你可以使用命令行编辑功能;更多快捷键的介绍请参考 交互式输入行编辑历史回溯。如果没有任何声音,或者显示 ^P 字符,则说明命令行编辑功能不可用;你只能通过退格键从当前行删除已键入的字符并重新输入。

Python 解释器有些操作类似 Unix shell:当使用终端设备(tty)作为标准输入调用时,它交互的解释并执行命令;当使用文件名参数或以文件作为标准输入调用时,它读取文件并将文件作为 脚本 执行。

第二种启动 Python 解释器的方法是 python -c command [arg] …,这种方法可以在 命令行 执行 Python 语句,类似于 shell 中的 -c 选项。由于 Python 语句通常会包含空格或其他特殊 shell 字符,一般建议将 命令 用单引号包裹起来。

有一些 Python 模块也可以当作脚本使用。你可以使用 python -m module [arg] … 命令调用它们,这类似在命令行中键入完整的路径名执行 模块 源文件一样。

使用脚本文件时,经常会运行脚本然后进入交互模式。这也可以通过在脚本之前加上 -i 参数来实现。
2.1.1. 参数传递

调用解释器时,脚本名和附加参数传入一个名为 sys.argv 的字符串列表。你能够获取这个列表通过执行 import sys,列表的长度大于等于1;没有给定脚本和参数时,它至少也有一个元素:sys.argv[0] 此时为空字符串。脚本名指定为 ‘-’ (表示标准输入)时, sys.argv[0] 被设定为 ‘-‘,使用 -c 指令 时,sys.argv[0] 被设定为 ‘-c’。使用 -m 模块 参数时,sys.argv[0] 被设定为指定模块的全名。-c 指令 或者 -m 模块 之后的参数不会被 Python 解释器的选项处理机制所截获,而是留在 sys.argv 中,供脚本命令操作。
2.1.2. 交互模式

从 tty 读取命令时,我们称解释器工作于 交互模式。这种模式下它根据主提示符来执行,主提示符通常标识为三个大于号(>>>);继续的部分被称为 从属提示符,由三个点标识(…)。在第一行之前,解释器打印欢迎信息、版本号和授权提示:

$ python3.5
Python 3.5.2 (default, Mar 16 2014, 09:25:04)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

输入多行结构时需要从属提示符了,例如,下面这个 if 语句:

>>> the_world_is_flat = 1
>>> if the_world_is_flat:
...     print("Be careful not to fall off!")
...
Be careful not to fall off!

关于交互模式更多的内容,请参见 交互模式。
2.2. 解释器及其环境
2.2.1. 源程序编码

默认情况下,Python 源文件是 UTF-8 编码。在此编码下,全世界大多数语言的字符可以同时用在字符串、标识符和注释中 — 尽管 Python 标准库仅使用 ASCII 字符做为标识符,这只是任何可移植代码应该遵守的约定。如果要正确的显示所有的字符,你的编辑器必须能识别出文件是 UTF-8 编码,并且它使用的字体能支持文件中所有的字符。

你也可以为源文件指定不同的字符编码。为此,在 #! 行(首行)后插入至少一行特殊的注释行来定义源文件的编码:

# -*- coding: encoding -*-

通过此声明,源文件中所有的东西都会被当做用 encoding 指代的 UTF-8 编码对待。在 Python 库参考手册 codecs 一节中你可以找到一张可用的编码列表。

例如,如果你的编辑器不支持 UTF-8 编码的文件,但支持像 Windows-1252 的其他一些编码,你可以定义:

# -*- coding: cp-1252 -*-

这样就可以在源文件中使用 Windows-1252 字符集中的所有字符了。这个特殊的编码注释必须在文件中的 第一或第二 行定义。

Footnotes
[1] 在 Unix 系统上,Python 3.X 解释器默认未被安装成名为 python 的命令,所以它不会与同时安装在系统中的 Python 2.x 命令冲突。

Python学习:使用Python解释器相关推荐

  1. python爬虫原理-python学习之python爬虫原理

    原标题:python学习之python爬虫原理 今天我们要向大家详细解说python爬虫原理,什么是python爬虫,python爬虫工作的基本流程是什么等内容,希望对这正在进行python爬虫学习的 ...

  2. 深圳Python学习:Python几大问,你想知道的答案都在这里!-千锋

    深圳Python学习:Python几大问,你想知道的答案都在这里!-千锋 人们为什么使用Python? 之所以选择Python的主要因素有以下几个方面: 软件质量:在很大程度上,Python更注重可读 ...

  3. 视频教程-爬虫微课5小时 Python学习路线-Python

    爬虫微课5小时 Python学习路线 十多年的Java和大数据开发和培训,精通Hadoop.Spark和Android开发,对于数据分析和挖掘有比较深的研究.曾在公司独立开发O2O项目e小时.网店项目 ...

  4. 菜菜的Python学习日记 | Python类实验代码分享

    系列索引:菜菜的Python学习日记 | Python从入门到入土详解 Python类实验代码分享 编写程序,实现以下功能. (1)创建员工类Employee,属性有姓名name.能力值ability ...

  5. Python学习之Python软件安装教程

    Python学习之Python软件安装教程 Python学习之Python软件安装教程

  6. Python 学习 02 —— Python如何爬取数据

    文章目录 系列文章 二.Python 爬 虫 1.任务介绍 2.简介 3.基本流程 3.1.准备工作 3.1.1.分析页面 3.1.2.编码规范 3.1.3.导入模块 3.1.4.程序流程 3.2.获 ...

  7. python源码学习_【Python学习】Python源码阅读(一)

    最近想读读Python源码,任何东西学习方法基本都是一样的,先从总体框架进行了解,再从自己侧重的方面逐步深入. 1. Python总体架构 左边是Python提供的大量的模块.库以及用户自定义的模块. ...

  8. python学习手册-Python学习手册

    Python学习手册第4 版将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者.本书是易于掌握和自学的教程,根据作者Python专家Mark Lutz的著名培训课程编写而成 ...

  9. Python学习笔记 - Python数据类型

    前言 在Python语言中,所有的数据类型都是类,每一个变量都是类的"实例".没有基本数据类型的概念,所以整数.浮点数和字符串也都是类. Python有6种标准数据类型:数字.字符 ...

  10. Python学习笔记——Python和基础知识

    Python优缺点 优点 简单----Python是一种代表简单主义思想的语言.阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的 ...

最新文章

  1. Windows Phone开发者注册秘籍
  2. linux驱动由浅入深系列:高通sensor架构实例分析之一
  3. 如果一栋楼起火谁赔偿_南昌一居民楼起火,短短几分钟里三四十人上演“救火大合唱”...
  4. Rails开发细节《七》ActiveRecord Associations关联
  5. NSMutableString可变字符串
  6. 赵明晒荣耀20青春版三色真机图:哪款会是你的菜?
  7. 〖Linux〗Ubuntu设定Proxy及忽略Proxy
  8. 【Android】实例 忐忑的精灵
  9. Java开发者值得关注的十个技术博客
  10. 毕业论文计算机设计,计算机设计毕业论文
  11. adb 查看浏览器内核
  12. 2023南昌大学计算机考研信息汇总
  13. 什么是AppleSpell,为什么它可以在Mac上运行?
  14. JAVA获取CKplayer真是地址,ckplayer的使用问题
  15. 【答题游戏】最强王者--小游戏开发解析
  16. vscode试图写入的管道不存在
  17. 查看pcie总线上的设备ID以及带宽计算
  18. 谈谈 2020 年程序员收入报告
  19. 根证书,解决win7 sp1 64位系统在线安装VS2017 或VS2019的失败
  20. FFT快速傅里叶变换C语言实现信号处理 对振动信号进行实现时域到频域的转换

热门文章

  1. should not buy processed foods on the street
  2. 每个人都应该知道的25个大数据术语 1
  3. POJ1741:Tree——题解+树分治简要讲解
  4. web服务之Tomcat
  5. The server time zone value
  6. iptables 范例
  7. 如何让 zend studio 10 识别 Phalcon语法并且进行语法提示
  8. web developer tips (74):在 Visual Studio 2008设计器里添加或移除AJAX Extenders
  9. Windows下rsync软件配置和使用【数据同步】
  10. POJ 3069 Saruman's Army(贪心)