• 第一个Python程序
  • 2025-12-25 16:07:52
  • 廖雪峰

    资深软件开发工程师,业余马拉松选手。

    在正式编写第一个Python程序前,我们先复习一下什么是命令行模式和Python交互模式。

    命令行模式

    在Windows开始菜单选择“Terminal”,就进入到PowerShell命令行模式,它的提示符类似PS C:\>:

    ┌─────────────────────────────────────────────────────────┐

    │Windows PowerShell - □ x │

    ├─────────────────────────────────────────────────────────┤

    │Windows PowerShell │

    │Copyright (C) Microsoft Corporation. All rights reserved.│

    │ │

    │PS C:\Users\liaoxuefeng> │

    │ │

    └─────────────────────────────────────────────────────────┘

    Python交互模式

    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>。

    ┌─────────────────────────────────────────────────────────┐

    │Windows PowerShell - □ x │

    ├─────────────────────────────────────────────────────────┤

    │Windows PowerShell │

    │Copyright (C) Microsoft Corporation. All rights reserved.│

    │ │

    │PS C:\Users\liaoxuefeng> python │

    │Python 3.x ... on win32 │

    │Type "help", ... for more information. │

    │>>> _ │

    │ │

    └─────────────────────────────────────────────────────────┘

    在Python交互模式下输入exit()并回车,就退出了Python交互模式,并回到命令行模式:

    ┌─────────────────────────────────────────────────────────┐

    │Windows PowerShell - □ x │

    ├─────────────────────────────────────────────────────────┤

    │Windows PowerShell │

    │Copyright (C) Microsoft Corporation. All rights reserved.│

    │ │

    │PS C:\Users\liaoxuefeng> python │

    │Python 3.x ... on win32 │

    │Type "help", ... for more information. │

    │>>> exit() │

    │ │

    │PS C:\Users\liaoxuefeng> │

    └─────────────────────────────────────────────────────────┘

    也可以直接通过开始菜单选择Python (command line)菜单项,直接进入Python交互模式,但是输入exit()后窗口会直接关闭,不会回到命令行模式。

    了解了如何启动和退出Python的交互模式,我们就可以正式开始编写Python代码了。

    在写代码之前,请千万不要用“复制”-“粘贴”把代码从页面粘贴到你自己的电脑上。写程序也讲究一个感觉,你需要一个字母一个字母地把代码自己敲进去,在敲代码的过程中,初学者经常会敲错代码:拼写不对,大小写不对,混用中英文标点,混用空格和Tab键,所以,你需要仔细地检查、对照,才能以最快的速度掌握如何写程序。

    在交互模式的提示符>>>下,直接输入代码,按回车,就可以立刻得到代码执行结果。现在,试试输入100+200,看看计算结果是不是300:

    >>> 100+200

    300

    很简单吧,任何有效的数学计算都可以算出来。

    如果要让Python打印出指定的文字,可以用print()函数,然后把希望打印的文字用单引号或者双引号括起来,但不能混用单引号和双引号:

    >>> print('hello, world')

    hello, world

    这种用单引号或者双引号括起来的文本在程序中叫字符串,今后我们还会经常遇到。

    最后,用exit()退出Python,我们的第一个Python程序完成!唯一的缺憾是没有保存下来,下次运行时还要再输入一遍代码。

    命令行模式和Python交互模式

    请注意区分命令行模式和Python交互模式。

    在命令行模式下,可以执行python进入Python交互式环境,也可以执行python hello.py运行一个.py文件。

    执行一个.py文件只能在命令行模式执行。如果敲一个命令python hello.py,看到如下错误:

    ┌─────────────────────────────────────────────────────────┐

    │Windows PowerShell - □ x │

    ├─────────────────────────────────────────────────────────┤

    │Windows PowerShell │

    │Copyright (C) Microsoft Corporation. All rights reserved.│

    │ │

    │PS C:\Users\liaoxuefeng> python hello.py │

    │python: can't open file 'hello.py': [Errno 2] No such │

    │file or directory │

    │ │

    └─────────────────────────────────────────────────────────┘

    错误提示No such file or directory说明这个hello.py在当前目录下找不到,必须先把当前目录切换到hello.py所在的目录下,才能正常执行:

    ┌─────────────────────────────────────────────────────────┐

    │Windows PowerShell - □ x │

    ├─────────────────────────────────────────────────────────┤

    │Windows PowerShell │

    │Copyright (C) Microsoft Corporation. All rights reserved.│

    │ │

    │PS C:\Users\liaoxuefeng> cd work │

    │PS C:\Users\liaoxuefengwork> python hello.py │

    │Hello, world! │

    │ │

    └─────────────────────────────────────────────────────────┘

    上述命令假定hello.py存储在work目录下。如果你的hello.py存储在其他目录,例如,test目录,则使用cd test,或者使用绝对路径cd \Users\who_am_i\learn\sample。

    在Windows下,如果要切换到其他盘符,例如切换到D:盘,需要输入D::

    ┌─────────────────────────────────────────────────────────┐

    │Windows PowerShell - □ x │

    ├─────────────────────────────────────────────────────────┤

    │Windows PowerShell │

    │Copyright (C) Microsoft Corporation. All rights reserved.│

    │PS C:\Users\liaoxuefeng> D: │

    │PS D:\> cd work │

    │PS D:\work> │

    │ │

    └─────────────────────────────────────────────────────────┘

    在D:\提示符下,再继续用cd命令切换到包含文件hello.py的work目录,就可以正常执行python hello.py了。

    此外,在命令行模式运行.py文件和在Python交互式环境下直接运行Python代码有所不同。Python交互式环境会把每一行Python代码的结果自动打印出来,但是,直接运行Python代码却不会。

    例如,在Python交互式环境下,输入:

    >>> 100 + 200 + 300

    600

    直接可以看到结果600。

    但是,写一个calc.py的文件,内容如下:

    100 + 200 + 300

    然后在命令行模式下执行:

    C:\work>python calc.py

    发现什么输出都没有。

    这是正常的。想要输出结果,必须自己用print()打印出来。把calc.py改造一下:

    print(100 + 200 + 300)

    再执行,就可以看到结果:

    C:\work>python calc.py

    600

    最后,Python交互模式的代码是输入一行,执行一行,而命令行模式下直接运行.py文件是一次性执行该文件内的所有代码。可见,Python交互模式主要是为了调试Python代码用的,也便于初学者学习,它不是正式运行Python代码的环境!

    在Python交互模式下输入 2**10 你会得到:

    20

    210

    2**10

    1024

    Submit Correct Wrong

    SyntaxError

    如果遇到SyntaxError,表示输入的Python代码有语法错误,最常见的一种语法错误是使用了中文标点,例如使用了中文括号(和):

    >>> print('hello')

    File "", line 1

    print('hello')

    ^

    SyntaxError: invalid character '(' (U+FF08)

    或者使用了中文引号“和”:

    >>> print(“hello”)

    File "", line 1

    print(“hello”)

    ^

    SyntaxError: invalid character '“' (U+201C)

    出错时,务必阅读错误原因。对于上述SyntaxError,解释器会明确指出错误原因是无法识别的字符“:invalid character '“'。

    小结

    在Python交互式模式下,可以直接输入代码,然后执行,并立刻得到结果;

    在命令行模式下,可以直接运行.py文件。