• [No0000120]Python教程3/9-第一个Python程序


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

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

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

    >>> 100+200
    300
    

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

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

    >>> print('hello, world')
    hello, world
    

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

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

    命令行模式和Python交互模式

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

    看到类似C:>是在Windows提供的命令行模式:

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

    看到>>>是在Python交互式环境下:

    在Python交互式环境下,只能输入Python代码并立刻执行。

    此外,在命令行模式运行.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交互式命令行下,可以直接输入代码,然后执行,并立刻得到结果。

    使用文本编辑器

    在Python的交互式命令行写程序,好处是一下就能得到结果,坏处是没法保存,下次还想运行的时候,还得再敲一遍。

    所以,实际开发的时候,我们总是使用一个文本编辑器来写代码,写完了,保存为一个文件,这样,程序就可以反复运行了。

    现在,我们就把上次的'hello, world'程序用文本编辑器写出来,保存下来。

    那么问题来了:文本编辑器到底哪家强?

    推荐两款文本编辑器:

    一个是Sublime Text,免费使用,但是不付费会弹出提示框:

    注意:为了防止后期中文等其他语言有bug,建议保存为utf-8格式文件

    一个是Notepad++,免费使用,有中文界面:

    请注意,用哪个都行,但是绝对不能用Word和Windows自带的记事本。Word保存的不是纯文本文件,而记事本会自作聪明地在文件开始的地方加上几个特殊字符(UTF-8 BOM),结果会导致程序运行出现莫名其妙的错误。

    安装好文本编辑器后,输入以下代码:

    print('hello, world')
    

    注意print前面不要有任何空格。然后,选择一个目录,例如C:work,把文件保存为hello.py,就可以打开命令行窗口,把当前目录切换到hello.py所在目录,就可以运行这个程序了:

    C:work>python hello.py
    hello, world
    

    如果print前面要有任何空格,在执行时保存如下:

    也可以保存为别的名字,比如first.py,但是必须要以.py结尾,其他的都不行。此外,文件名只能是英文字母、数字和下划线的组合。

    如果当前目录下没有hello.py这个文件,运行python hello.py就会报错:

    C:UsersIEUser>python hello.py
    python: can't open file 'hello.py': [Errno 2] No such file or directory

     报错的意思就是,无法打开hello.py这个文件,因为文件不存在。这个时候,就要检查一下当前目录下是否有这个文件了。如果hello.py存放在另外一个目录下,要首先用cd命令切换当前目录。

    如果hello.py这个文件所在路径有空格字符存在,会报错如下,解决办法,用“”把路径括起来:

    直接运行py文件

    有同学问,能不能像.exe文件那样直接运行.py文件呢?在Windows上是不行的(虽然打开方式关联了python,但是运行一闪而过,没看完结果,程序就退出了。),但是,在Mac和Linux上是可以的,方法是在.py文件的第一行加上一个特殊的注释:

    #!/usr/bin/env python3
    
    print('hello, world')
    

    然后,通过命令给hello.py以执行权限:

    $ chmod a+x hello.py
    

    就可以直接运行hello.py了,比如在Mac下运行:

    小结

    用文本编辑器写Python程序,然后保存为后缀为.py的文件,就可以用Python直接运行这个程序了。

    Python的交互模式和直接运行.py文件有什么区别呢?

    直接输入python进入交互模式,相当于启动了Python解释器,但是等待你一行一行地输入源代码,每输入一行就执行一行。

    直接运行.py文件相当于启动了Python解释器,然后一次性把.py文件的源代码给执行了,你是没有机会以交互的方式输入源代码的。

    用Python开发程序,完全可以一边在文本编辑器里写代码,一边开一个交互式命令窗口,在写代码的过程中,把部分代码粘到命令行去验证,事半功倍!前提是得有个27'的超大显示器!

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    print('Hello, world')
  • 相关阅读:
    _purecall函数
    RaiseFailFastException函数
    windows系统的快速失败机制---fastfail
    悲伤的 C++ throw(…)
    STATUS_STACK_BUFFER_OVERRUN不一定是栈缓冲区溢出
    Windows是如何将64位Ntdll映射到32位进程的---转自简书
    学会springboot多环境配置方案不用5分钟
    优雅的使用springboot集成任务调度
    springboot-使用OpenAPI之后我再也没有写过接口文档
    我是如何做到springboot自动配置原理解析
  • 原文地址:https://www.cnblogs.com/Chary/p/No0000120.html
Copyright © 2020-2023  润新知