文章目录
-
- 概述
- 输出和输入
- 写Python程序的方式
- 运行Python程序的注意事项
-
- [运行 Python 程序的 Python 解释器路径查找规则](#运行 Python 程序的 Python 解释器路径查找规则)
- [Python 程序文件关联的可执行程序](#Python 程序文件关联的可执行程序)
- 注意事项
- 先把输入当作字符串处理
- 总结
概述
会写代码只是第一步,还要知道数据从哪里来、结果到哪里去,以及脚本到底由谁启动。
本篇从最基本的输入和输出讲起,并比较交互式控制台、文本编辑器和 PyCharm 三种编写方式。读完后,你不仅能写出第一个交互程序,还能看懂脚本路径、解释器路径与执行命令之间的关系。
本篇知识路线
text
用户输入 ──► input() ──► Python 程序 ──► print() ──► 屏幕输出
│
└── 由解释器逐行执行
输出和输入
输出和输入操作是我们学习任何编程语言开始,下面我们就使用 Python 提供的输出函数 print,把伟大的 "Hello World" 输出到显示器上,然后我们再学习如何用程序接收用户键盘上的输入。
输出
用 print 函数加上单引号或双引号或三个单引号括起来的字符串,就可以向屏幕上输出指定的字符,注意 print 函数要用小括号括起来,而 Python2 用不用小括号都可以。
python
print ('Hello World')
print ("Hello World")
print ('''Hello World''')
用 print 函数也可以输出多个字符串,如:print("Hello 老鸟Python", "I am studying python") , print 会依次打印每个字符串,遇到逗号,会输出一个空格。其实这条语句等价于:print("Hello 老鸟Python I am studying python")。
我们也可以输出其它类型的数据,比如输出整数:print(250),也可输出计算表达式,如:print(300 - 50)。print 会自动计算表达式的结果,然后输出到屏幕。
我们也可以用 print 一次性输出类型不同的数据,如:print("300 - 50 =", 300 - 50)。
输入
Python 3 提供了一个 input 函数,可以让用户输入数据,并存放到一个变量里,比如输入你喜爱的编程语言,然后输出到屏幕上。
python
language = input()
print(language)
我们也可以让用户输入数据的同时,给出提示信息。
python
language = input("请输入你喜欢的编程语言:")
print(language)
python 3 的 input 函数会把你所有的输入转为字符串,比如你输入数字也会转为字符串类型。
python
language = input("请输入数字:")
print(type(language)) # type 函数返回变量的类型
在编程语言中,我们把输入称作 Input,输出称作 Output。因此,我们把输入输出统称为 Input/Output,或者简写为 IO。
写Python程序的方式
虽然我们后面一般都采用 Pycharm 写程序,但是首先我们也需要了解一下控制台下写程序和用文本文件写程序的方式。
控制台下写程序
在控制台下写 Python 程序,好处是一下就能得到结果,不需要考虑代码存放路径问题。
python
>>>print("hello world")
"hello world"
坏处是没法保存,因为代码没有存放在磁盘文件上,所以下次还要重写一遍代码,比如我们想让程序再次输出 hello world,就需要重新输入一遍代码。
python
>>>print("hello world")
"hello world"
>>>print("hello world")
"hello world"
文本编辑器下写程序
用记事本编写 Python 程序,要注意一点的是,在保存文件为 UTF-8 时,记事本会在文件开始的地方加上几个特殊字符(UTF-8 BOM),结果有可能会导致程序运行出现莫名其妙的错误。
Notepad++ 是一款功能强大的编辑器,我们要养成一个好习惯,用 Notepad++ 做文本编辑,比如写 Python 程序。 Notepad++官网下载地址,打开官网根据自己爱好选择 32 位或 64 位版本,点击 DOWNLOAD 下载。
我们打开 Notepad++ 输入代码print("hello world"),点击菜单栏的编码---》转为 UTF-8 编码,然后在保存文件命名为 hello.py,一般我们保存文件的后缀名为 py 格式。

打开控制台进入刚刚我们保存的文件目录下,输入python myfirst.py,敲回车。

Pycharm下写程序
首先要在 Pycharm 中关联好对应的 Python 解释器(参考上一篇文章),公司的其它项目需求,可能会安装 Python 的其它版本等等。
在Pycharm中编辑好代码,可以通过在编辑界面右键,点击 Run'文件名' 的形式运行,也可以通过菜单栏的run来运行,还可以通过快捷键 Ctrl + Shift + F10 来运行。

运行Python程序的注意事项
我们在调用 Python 解释器执行写好的 Python 程序时,一定要显示指定 python 关键字,如果不指定的话会出现什么情况,下面我们就来学习一下 Python 解释器的查找规则。
运行 Python 程序的 Python 解释器路径查找规则
查找规则为:当前路径下 Python 解释器 > 环境变量路径下 Python 解释器。比如我们在文件所在目录 e:\python_one\ 下调用 Python 解释器运行 hello.py 文件,系统会先在文件所在目录 e:\python_one\ 下找 Python 解释器,找不到的话再去环境变量配置的 Python 解释器,再找不到就会报错。 大家可以试试把 Python 解释器拷贝到文件所在目录 e:\python_one\ 下,然后修改 hello.py 代码如下,在控制台下进入文件所在目录 e:\python_one\ 下执行代码 python hello.py 试一试看看结果。
python
import sys
print('调用的 Python 解释器所在路径:')
print(sys.executable)
如果创建虚拟环境并激活虚拟环境,查找规则为:当前路径下 Python 解释器 > 虚拟环境所在路径下 Python解释器 > 环境变量路径下 Python 解释器。我在后面章节讲虚拟环境。
Python 程序文件关联的可执行程序
如果我们运行 python 程序文件,不显式带上 python 关键字,系统则会调用该文件的默认打开方式执行该文件,无论该 python 程序文件后缀名是什么。
大家可以试试把 hello.py 文件的默认打开方式改为记事本或其它,然后在控制台下进入该文件所在路径,执行代码 hello.py 看看结果。
大家可以试试把 hello.py 文件名改为 hello.bmp 既修改了后缀名,然后修改它的默认打开方式为 python 解释器,在控制台下进入该文件所在路径,执行代码 hello.bmp 看看结果。
注意事项
我们要养成一个好习惯,执行 python 程序的时候,要显式带上 python 关键字以免引起不必要的错误,比如执行命令 python hello.py, 而不要写成 hello.py。
先把输入当作字符串处理
input() 得到的内容默认是字符串。需要做数值运算时,应先转换类型,并对转换失败的情况进行处理。文件名也尽量避免与标准库模块同名,否则导入模块时容易发生名称冲突。
总结
- 使用
print()输出文字、数字和表达式;使用input()接收用户输入。input()的返回值始终是字符串,参与数值运算前需要用int()或float()转换,并考虑输入无法转换的情况。 - 可以在交互式控制台即时试验代码,也可以用文本编辑器保存为脚本,或在 PyCharm 中编写和运行。交互式输入方便尝试,保存为文件则便于反复运行。
- 在终端中进入脚本所在目录后,可用
python hello.py运行;在其他目录中,可用python E:\python_one\hello.py这样的路径指定脚本。PyCharm 也需要配置好 Python 解释器。 python命令调用哪个解释器取决于当前环境;可以运行import sys和print(sys.executable)查看实际使用的解释器。直接输入文件名则受系统的文件关联影响,因此运行脚本时应显式调用 Python。
可以用一个简单的 hello.py 验证这些区别:分别在脚本所在目录和其他目录运行它,尝试直接输入文件名,并在 PyCharm 中查看运行结果。还可以把脚本改成其他扩展名,再用 python 加文件路径运行,观察解释器和文件关联各自起什么作用。