• 零基础学习python_模块(50-52课)


      今天学了下模块,那什么是模块呢?其实我们写的以py结尾的一个文件就是一个模块,模块也就是程序

    还记得我们之前学过容器、函数、类吧

    • 容器    ->    数据的封装
    • 函数    ->    语句的封装
    • 类        ->    方法和属性的封装
    • 模块     ->   模块就是程序

    像import random,就是导入random模块,但是如果你要生成随机数,你就需要用random.randint,为啥不能直接用randint呢,这就有个命名空间的问题了,所以你得先告诉别人你要引用哪里的方法,如下图所示:

    导入模块有几种方式:

    • import  模块名
    • from  模块名 import 函数名
    • import 模块名  as   新名字

    __name__ == "__main__"的作用:

    __name__属性指的是在调用该模块的时候调用的函数名称,方便在模块的被调用的时候,模块内部被调用的函数不会被运行。当模块作为主程序运行的时候,__name__属性的值是“__main__”,当该模块被调用导入到另一个模块的时候,"__name__"属性值为模块名称。如果我们是直接执行某个.py文件的时候,该文件中那么”__name__ == '__main__'“是True,但是我们如果从另外一个.py文件通过import导入该文件的时候,这时__name__的值就是我们这个py文件的名字而不是__main__。

    举个例子:

    class Test:
    
        def __init__(self):pass
    
        def f(self):
            print 'Hello, World!'
    
    if __name__ == '__main__':
    
        Test().f()    

    直接在cmd中输入:C:>python Test.py

    Hello, World!

    说明:"__name__ == '__main__'"是成立的

    接着如果再在cmd中输入:

    C:>python

    >>>import Test

    >>>Test.__name__                #Test模块的__name__

    'Test'

    >>>__name__                       #当前程序的__name__

    '__main__'

    无论怎样,Test.py中的"__name__ == '__main__'"都不会成立的!

    如果我们要创建一个的话,记得在文件夹下创建一个__init__.py文件(python规定的,告诉python将此文件夹当成一个包,可以为空文件)。

  • 相关阅读:
    在不同浏览器都实用的各窗口大小获取方法
    line-height,vertical-align及图片居中对齐问题根源解析
    浅谈语义化
    有关于界面设计的技巧
    图片无缝滚动
    office 所有后缀对应的 content-type
    原生js删除增加修改class属性
    使用 colgroup 和 col 实现响应式表格
    js 监控浏览器关闭事件
    document.documentElement.scrollTop(获取滚动条位置)
  • 原文地址:https://www.cnblogs.com/leixiaobai/p/8267827.html
Copyright © 2020-2023  润新知