文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

模块的使用

2023-01-31 00:48

关注

Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用

  Python模块的标准文件模板
  第一行到import语句之前是标准的模板,当然也可以全部删掉不写,但是,按标准办事肯定没错
  import开始是真正的代码部分

        #!/usr/bin/env python3      #让这个hello.py文件直接在Unix/Linux/Mac上运行
        # -*- coding: utf-8 -*-        #表示.py文件本身使用标准UTF-8编码,就是告诉解释器请使用UTF-8编码执行文件

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

        __author__ = 'Michael Liao'    #使用__author__变量把作者写进去,这样当你公开源代码后别人就可以瞻仰你的大名
                                       #模块定义的文档注释也可以用特殊变量__doc__访问

        import sys   #表示导入sys模块,代码里sys就是一个变量,该变量指向该模块,利用sys这个变量,就可以访问sys模块的所有功能

        def test():
            args = sys.argv    #sys模块有一个argv变量,用list存储了命令行的所有参数
            if len(args)==1:    
                print('Hello, world!')
            elif len(args)==2:
                print('Hello, %s!' % args[1])
            else:
                print('Too many arguments!')
                
        #在命令行运行hello模块文件时,Python解释器把一个特殊变量__name__置为__main__,而如果在其他地方导入该hello模块时,if判断将失败
        #因此,这种if测试可以让一个模块通过命令行运行时执行一些额外的代码,最常见的就是运行测试
        if __name__=='__main__':   
            test()   #里面可以写一些通过命令行运行该文件时的处理,其他模块调用该文件时这些处理是无法被执行的,只能在命令行时被执行
            
        #sys.argv至少有一个元素,因为第一个参数永远是该.py文件的名称,如:运行python 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!
        
        >>>import hello    #没有打印Hello, word!,因为没有执行test()函数
        >>>hello.test()  #输出:Hello, world!

 

作用域
  在一个模块中,可能会定义很多函数和变量
  在Python中,哪些函数和变量希望是给别人使用?哪些函数和变量是仅在模块内部使用?是通过_前缀来实现的

  公开(public)
    命名规则:xxx
    说明:正常的函数和变量名是公开的,可以被直接引用,比如:abc,x123,PI等

  特殊用途
    命名规则:__xxx__
    说明:这样的变量是有特殊用途特的殊变量,可被直接引用
       如__author__,__name__,自定义变量一般不要用这种变量名(不是不可以,只是最好不要写,用python全靠自觉)
       例如,在Python中,如果调用len()函数试图获取一个对象的长度,实际上,在len()函数内部,它自动去调用该对象的__len__()方法
       也就是说,执行len('ABC')时,其实在内部是在执行'ABC'.__len__()


  非公开(private)
    命名规则:_xxx 或者 __xxx
    说明:这样的函数或变量就是非公开的(private),不应被直接引用,比如_abc,__abc等
       Python并没有一种方法可以完全限制访问private函数或变量,因此只是从编程习惯上不应该引用private函数或变量,但不意味着不能引用

  关于公开与非公开函数及变量的使用原则:
    外部不需要引用的函数全部定义成private,只有外部需要引用的函数才定义为public

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯