分享

使用模块--python

 融水公子 2018-09-15
#!/usr/bin/env python3    #第1行注释可以让这个hello.py文件直接在Unix/Linux/Mac上运行
# -*- coding: utf-8 -*-   #表示.py文件本身使用标准UTF-8编码

' a test module '  #是一个字符串,表示模块的文档注释,任何模块代码的第一个字符串都被视为模块的文档注释

__author__ = 'Michael Liao'  #使用__author__变量把作者写进去,这样当你公开源代码后别人就可以瞻仰你的大名
import sys  #导入该sys模块
#变量sys指向该模块,利用sys这个变量,就可以访问sys模块的所有功能
def test():
    args = sys.argv
    if len(args)==1:
        print('Hello, world!')
    elif len(args)==2:
        print('Hello, %s!' % args[1])
    else:
        print('Too many arguments!')

if __name__=='__main__':   #标准测试  给命令行铺垫
    test()
    
    
    
-----------------------------------------------------------------------
sys模块有一个argv变量,用list存储了命令行的所有参数。argv至少有一个元素,
因为第一个参数永远是该.py文件的名称,例如:
运行python3 hello.py获得的sys.argv就是['hello.py'];
运行python3 hello.py Michael获得的sys.argv就是['hello.py', 'Michael]。

$ python3 hello.py
Hello, world!
$ python hello.py Michael
Hello, Michael!

启动Python交互环境,再导入hello模块:
$ python3
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import hello
>>>hello.test()
Hello, world!

当我们在命令行运行hello模块文件时,Python解释器把一个特殊变量__name__置为__main__,而如果在其他地方导入该hello模块时,if判断将失败,因此,
这种if测试可以让一个模块通过命令行运行时执行一些额外的代码,最常见的就是运行测试。






分享知识,分享快乐!希望中国站在编程之巅!

               ----

公众微信号:rsgz520

360图书馆馆号:rsgz002.360doc.com 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多