Python 3.8.0 教程 —— 2. 使用Python解释器

2.1. 调用(Invoking) 解释器

Python解释器通常安装在系统的/usr/local/bin/python3.8位置; 通过将/usr/local/bin 放在Unix shell的搜索路径(search path)中,就可以通过在Shell窗口中输入以下命令来启动它:

python3.8

1 由于选择解释器所在的目录是一个安装选项,所以可以在其他地方安装; 请与您的本地 Python专家或系统管理员联系。(例如,/usr/local/python 是一个流行的替代位置。)

你已经下载安装来自Microsoft Store微软商店的Python在Windows机器上,python3.8 命令将是可用的。如果你安装了py.exe launcher 启动程序,可以使用 py 命令。请参见:Excursus: Setting environment variables 来设置其他方式启动Python。

在主提示符位置输入一个EOF文件结束符 (即 Unix上的Control-D,Windows上的 Control-Z ) 将退出解释器,并返回退出状态码 0。如果不起作用的话,可以通过藏尸使用 quit()命令退出解释器

解释器的行编辑特性包括交互式编辑、历史替换和支持GNU Readline库的系统的代码补全。要查看是否支持命令行编辑,最快的方法可能是在得到的第一个Python提示符后键入Control-P。如果它发出嘟嘟响,你有命令行编辑(command line editing)功能; 有关键的介绍,请参阅附录Interactive Input Editing and History Substitution。如果什么都没有发生,或者^P 被回显,命令行编辑是不可用的; 你只能使用backspace退格来删除当前行的字符。

解释器的操作有点像Unix shell: 当使用连接到tty设备的标准输入调用它时,它以交互方式读取和执行命令; 当使用文件名参数或将文件作为标准输入调用时,它将从该文件中读取并执行其中的脚本

启动解释器的第二种方法是python -c command [arg] ...命令,它在命令中执行语句,类似于shell的-c选项。由于Python语句通常包含空格或其他对shell来说特殊的字符,因此通常建议使用单引号来对命令进行整体引用。

一些Python模块作为脚本也很有用。这些可以使用 python -m module [arg] ...来调用,该命令将执行模块源文件就好像您在命令行中拼出了它的全名一样。

当使用脚本文件时,有时能够运行脚本并在之后进入交互模式是很有用的。这可以通过在脚本之前传递-i来实现。所有命令行选项被描述在Command line and environment

2.1.1. 传递参数

当解释器知道后,脚本名和其他参数随后被转换成字符串list列表,并分配给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读取命令时,解释器处于交互模式 (interactive mode)。在这种模式下,它用主提示符提示下一个命令,通常是三个大于号(>>>); 对续行它用辅助提示符提示,默认情况下是三个点(...)。在显示第一个提示符之前,解释器会显示一条包含有版本号和版权声明的欢迎消息:

$ python3.8
Python 3.8 (default, Sep 16 2015, 09:25:04)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

在输入多行结构体时需要延续行。举个例子,看看这个 if 语句:

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

有关交互模式的更多信息,请参阅 Interactive Mode.

2.2. 解释器及其环境

2.2.1. 编码源代码

默认情况下,Python源文件被视为用UTF-8编码的。在这种编码中,世界上大多数语言的字符可以同时用于字符串文字、标识符和注释——尽管标准库只使用ASCII字符作为标识符,这是任何可移植代码都应该遵循的约定。要正确显示所有字符,您的编辑器必须接收文件是UTF-8编码的,并且必须使用支持文件中所有字符的字体。

要声明一个编码而不是默认编码,应该在文件的第一行添加一个特殊的注释行。语法如下:

# -*- coding: encoding -*-

其中编码是Python支持的一种有效的codecs编解码器。

例如,要声明使用Windows-1252编码,你的源代码文件的第一行应该是:

# -*- coding: cp1252 -*-

第一行规则的一个例外是,源代码从UNIX “shebang” line行开始。在这种情况下,应该将编码声明添加到文件的第二行。例如:

#!/usr/bin/env python3
# -*- coding: cp1252 -*-

脚注:

1

在Unix上,Python 3.x解释器默认是没有安装名为python的可执行文件,因此它不会与同时安装的Python 2.x发生冲突。

原文地址:https://www.cnblogs.com/ljd0429/p/12051210.html

时间: 2024-10-10 13:07:53

Python 3.8.0 教程 —— 2. 使用Python解释器的相关文章

Python爬虫框架Scrapy教程(1)—入门

最近实验室的项目中有一个需求是这样的,需要爬取若干个(数目不小)网站发布的文章元数据(标题.时间.正文等).问题是这些网站都很老旧和小众,当然也不可能遵守 Microdata这类标准.这时候所有网页共用一套默认规则无法保证正确抓取到信息,而每个网页写一份spider代码也不切实际. 这时候,我迫切地希望能有一个框架可以通过只写一份spider代码和维护多个网站的爬取规则,就能自动抓取这些网站的信息,很庆幸 Scrapy 可以做到这点.鉴于国内外关于这方面资料太少,所以我将这段时间来的经验和代码分

[学习笔记] Python标准库简明教程 [转]

1 操作系统接口 os 模块提供了一系列与系统交互的模块: >>> os.getcwd() # Return the current working directory '/home/minix/Documents/Note/Programming/python/lib1' >>> os.chdir('~/python') # Change current working directory Traceback (most recent call last): File

Python+Django+SAE系列教程11-----request/pose/get/表单

表单request,post,get 首先我们来看看Request对象,在这个对象中包含了一些有用的信息,学过B/S开发的人来说这并不陌生,我们来看看在Django中是如何实现的: 属性/方法 说明 举例 request.path 除域名以外的请求路径,以正斜杠开头 "/hello/" request.get_host() 主机名(比如,通常所说的域名) "127.0.0.1:8000" or"www.example.com" request.g

Python并发编程实例教程

有关Python中的并发编程实例,主要是对Threading模块的应用,文中自定义了一个Threading类库. 一.简介 我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态.打开文件列表.追踪指令执行情况的程序指针以及一个保存局部变量的调用栈.通常情况下,一个进程依照一个单序列控制流顺序执行,这个控制流被称为该进程的主线程.在任何给定的时刻,一个程序只做一件事情. 一个程序可以通过Python库函数中的os或subprocess模块创建新进程(例如os.fork()或

Python+Django+SAE系列教程17-----authauth (认证与授权)系统1

通过session,我们可以在多次浏览器请求中保持数据,接下来的部分就是用session来处理用户登录了. 当然,不能仅凭用户的一面之词,我们就相信,所以我们需要认证. 当然了,Django 也提供了工具来处理这样的常见任务(就像其他常见任务一样). Django 用户认证系统处理用户帐号,组,权限以及基于cookie的用户会话.这个系统一般被称为 auth/auth (认证与授权)系统. 这个系统的名称同时也表明了用户常见的两步处理. 我们需要: 1.     验证 (认证) 用户是否是他所宣

appium===Python+Appium环境部署教程

*前提是你已经安装好python,以及python的pip工具 *安装python请自行百度教程~ 1.安装安卓sdk 安装包:http://tools.android-studio.org/index.php/sdk *如果不需要虚拟机,则不需要安装这一步! 你需要科学上网,或者查找到国内的 Android 镜像,安装一个版本的Android虚拟机.你可以根据自己的喜好选择安装 Android 5.0 /5.1 /6.0 /7.0 版本. 这里推荐一个网站:http://www.android

Python+Django+SAE系列教程12-----配置MySQL数据库

因为SAE上支持的是Mysql,首先我们要在本地配置一个Mysql的环境 ,我在网上找到MySQL-python-1.2.4b4.win32-py2.7.exe,并双击 安装 选择典型安装 安装结束后,会弹出配置数据库的界面 : 然后输数据管理员密码: 最后是运行服务. 这个过程并不复杂,安装完成Mysql以后,系统会启动数据库服务,由于Mysql是用命令行控制的,想我这样懒的 人还是需要借助一个可视化 工具来管理,我选择MySQL-Front. 在网上找到MySQL_Front_Setup.1

python Django Wbe框架教程

python  Django Wbe框架教程 一.简介 Django 中提供了开发网站经常用到的模块,常见的代码都为你写好了,通过减少重复的代码,Django 使你能够专注于 web 应用上有 趣的关键性的东西.为了达到这个目标,Django 提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为“如何解决问题”提供了清晰明了的约定.Django的理念是DRY(Don't Repeat Yourself)来鼓励快速开发! 让我们一览 Django 全貌 urls.py

python之scrapy入门教程

看这篇文章的人,我假设你们都已经学会了python(派森),然后下面的知识都是python的扩展(框架). 在这篇入门教程中,我们假定你已经安装了Scrapy.如果你还没有安装,那么请参考安装指南. 我们将使用开放目录项目(dmoz)作为抓取的例子. 这篇入门教程将引导你完成如下任务: 创建一个新的Scrapy项目 定义提取的Item 写一个Spider用来爬行站点,并提取Items 写一个Item Pipeline用来存储提取出的Items Scrapy是由Python编写的.如果你是Pyth