你必须了解的第一个python程序

来源:互联网 发布:java jdk版本查看 编辑:程序博客网 时间:2024/05/01 10:16
学习一门语言,最开始需要了解的一个程序是hello world,而我们迫不及待需要完成一个程序,仅仅用print一个还是感觉啥都不知道,但是下面这个实现hello的程序通过完成的书写,可以让你对python的基本情况有一个了解,其中涉及:
  • 注释
  • 编码
  • 文件的说明
  • 模块的调用
  • 函数的书写
  • print函数
  • 循环语句
  • 语句书写规范
  • 如何调用你书写的这个hello.py模块

这里是以内建的sys模块为例,编写的一个hello的模块:

  • #!/usr/bin/env python
  • # -*- coding: utf-8 -*-
  • #注释是使用#号的
  • #python是一个对空格要求很严格的语句,语句的区分不是使用;而是用缩进,缩进一致的表示是同一级的语句,注意冒号在函数的定义,if语句中别忘记
  • ' a test module for hello'

  • __author__ = 'Michael Liao'

  • import sys

  • def test():
  •     args = sys.argv
  • #if elif else 循环语句要用:作为语句区分
  •     if len(args)==1:
  •         print 'Hello, world!'
  •     elif len(args)==2:
  •         print 'Hello, %s!' % args[1]  #print中可以不使用(),%+print中引用的变量名作为参数引用
  •     else:
  •         print 'Too many arguments!'

  • if __name__=='__main__':
  •     test()
以上就是Python模块的标准文件模板,当然也可以全部删掉不写,但是,按标准办事肯定没错
  1. 第1行和第2行是标准注释,第1行注释可以让这个hello.py文件直接在Unix/Linux/Mac上运行,第2行注释表示.py文件本身使用标准UTF-8编码
  2. 第4行是一个字符串,表示模块的文档注释,任何模块代码的第一个字符串都被视为模块的文档注释;
  3. 第6行使用__author__变量把作者写进去,这样当你公开源代码后别人就可以瞻仰你的大名;
  4. 使用sys模块的第一步,就是导入该模块:import sys
  5. 导入sys模块后,我们就有了变量sys指向该模块,利用sys这个变量,就可以访问sys模块的所有功能。
  6. sys模块有一个argv变量,用list存储了命令行的所有参数。argv至少有一个元素,因为第一个参数永远是该.py文件的名称,例如:
    1. 运行python hello.py获得的sys.argv就是['hello.py'];
    2. 运行python hello.py Michael获得的sys.argv就是['hello.py', 'Michael]。
  7. 最后,注意到这两行代码:
    • if __name__=='__main__':
    •     test()
    • 当我们命令行运行hello模块文件时,Python解释器把一个特殊变量__name__置为__main__,而如果在其他地方导入该hello模块时,if判断将失败,因此,这种if测试可以让一个模块通过命令行运行时执行一些额外的代码,最常见的就是运行测试。

我们可以用命令行运行hello.py看看效果:

  • $ python hello.py
  • Hello, world!
  • $ python hello.py Michael
  • Hello, Michael!
如果启动Python交互环境(命令行),再导入hello模块:

  • $ python
  • Python 2.7.5 (default, Aug 25 2013, 00:04:04) 
  • [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
  • Type "help", "copyright", "credits" or "license" for more information.
  • >>> import hello
  • >>>
导入时,没有打印Hello, word!,因为没有执行test()函数。

调用hello.test()时,才能打印出Hello, word!:

  • >>> hello.test()
  • Hello, world!
0 0
原创粉丝点击