“上课!起立!”
“老师好~”
“同学们好~请坐~”
好,今天我们来学习第一课:输入与输出
在开始之前,我们先讲一讲Python的两种模式:
命令交互模式
在Windows下,按Win徽标键+R,输入cmd,回车,打开命令提示符。
在你看到 C:\Users\你的用户名> 的时候,输入 py -3 即可进入Python命令行。
Python的官方解释器(也叫做CPython)使用 >>> 作为交互环境的提示符。此时输入Python语句,按下回车键,将会立即执行所输入的语句。
输入下面的语句,退出Python交互式命令行:
exit()
在Arch linux中,你可以直接输入 python 进入此模式。
在其他的大多数Linux发行版、Mac OS X中,你可以输入 python3 进入此模式。
在这个模式中,你可以很方便的检验Python语句的正确性。学习Python的时候,打开一个Python交互命令窗口会对你很有帮助。
听说大小写错误的话,电脑会爆掉的(~ ̄▽ ̄)~
本教程后面的代码,如果开头有 >>> 则表示在命令模式中执行。
脚本文件模式
你可以把 Python 代码全都写在一个文件中,然后使用 Python 解释器执行它。
使用Linux、Unix、Mac OS X
在书写Python代码之前,建议加上这两行:
#!/usr/bin/env python3
#conding:utf-8
第一行是Unix系统的Hashbang(也叫作Shebang),表示此脚本使用 #! 后面指定的程序执行。
它的格式是这样子的:
#! interpreter [optional-arg]
在Arch Linux中,由于默认的Python解释器为Python3,你应该去掉末尾的3。
这样,当你在Linux/Unix/Mac OS X中执行这个Python脚本的时候,只需要输入:
$ ./文件名.py
就可以啦。(\$表示当前权限,请不要输入\$)
你也可以不写,使用下面的命令来运行:
$ python3 ./文件名.py
第二行表示此文件使用UTF-8编码。
像这样子写都是可以的:
# coding=编码名
# -*- coding: 编码名 -*-
# coding: 编码名
# vim: set fileencoding=编码名 :
注意,它只能出现在第一行或者第二行。否则……嗯,你写了个注释。
使用Windows
Windows系统本身没有Hashbang。
不过,如果你使用Python3.3引入的 py 启动器的话,你可以这么写:
#! python
这表示使用Python2执行(如果你有的话)。
#! python2.7
这表示使用Python2.7执行。
#! python2.6
你一定看得懂!
#! python3
这会使用Python3.x的解释器执行。
你也可以通过Windows文件关联,双击一个Python脚本文件,直接启动。使用的解释器版本取决于你的Windows设置。如果你安装了Python3.3以上的版本,默认的文件关联下,#!是有效果的。
有效的扩展名如下:
- .py:Python脚本文件
- .pyw:Python窗体脚本文件,不会出现大黑框
- .pyc:编译成字节码的Python脚本文件
- .pyo:编译并优化过后的Python脚本文件
这是一个供参考的文件头:
#! python3
#coding:utf-8
输入
只有输出不好玩?好的,我们可以给程序加入一个功能,让用户可以输入数据。
使用input()函数来获取用户的输入:
input('提示信息')
input()函数将会返回用户所输入的文本信息。你需要使用一个变量来存储用户输入的文本。
请进入Python命令模式,输入 >>> 后面的代码:
>>> a = input('type something:')
此时你会看到 type something: 的提示,随意输入一些文字,然后按下回车。
然后输入下面的代码:
>>> a
你将会看到刚才输入的文本。如下图:
输出
使用print()函数可以在指定设备上输出文字。
在上两节课中,我们曾经写过一个 Hello World 程序:
print('你好,世界')
它会输出'你好,世界'字样,然后换行。我们可以查询print()函数的用法:
>>> help(print)
得到的信息如下:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
我们只需要关注这些内容:
print(要输出的内容, ... ,要输出的内容, sep='两个内容之间的间隔符', end='输出结束后输出的字符')
如果你想输出不换行的文本,可以试试:
>>> print('你好~', end='')
来,让我们来写一个完整的程序,请打开文本编辑器,写入下面的内容:
#! python3
#conding:utf-8
名字 = input('请输入您的尊姓大名:')
print('爱与正义的魔法少女', 名字, ',闪亮登场!', sep='')
input() # Windows中直接双击运行时,可以用它来暂停查看结果
请将文件保存为UTF-8编码,文件名为hello.py,然后双击它。
如果你使用Linux、Unix或Mac OS X,根据刚才讲过的内容,相信你已经知道该怎么做了。
运行结果如下:
噗……
好,这节课就上到这里,同学们,下课!
“哦~~!放学啦!放学啦!”