• 导入模块 和 包


    一 模块

    模块一共三种:

        python标准库
        第三方模块
        应用程序自定义模块
      在cmd命令终端,查看命令os 来自第三方

       time模块来自第三方



    模块两种执行方式:

    1 用于启动执行

    2 用于被调用执行



    key:import module:

    将执行文件(module)的目录路径插入到sys.path的第一个位置

    import的两个过程:





    修改调用模块的名字:import logging as log

    from 模块 import 变量名
    from modname import name1[, name2[, ... nameN]]


    二 包(package)

    模块非常多,不好找,组织模块的方式:包

    在python中,包可以理解成一个文件夹,但是没一个文件夹里必须要有
    一个__init__文件

    2.1 from  包  import   模块    #格式

    但一个py文件和另一个要被引用的文件不在同级目录里,就用    from  包  import   模块 

    #logger.py文件,,被引用的文件

    import logging  #logging是第三方模块,
    #from log import func

    def get_logger():
    logger=logging.getLogger()
    fh=logging.FileHandler('log.txt')
    logger.addHandler(fh)

    return logger

    print('ok')
    get_logger()


    附上目录里面包和.py 文件的树状结构


    #bin是启动文件,要引用logger文件 ,不再同级别,就用from import 模块
    #improt logger   #直接调用,不在同级目录下,就无法引用
    #from import 模块 #引入模块
    from log import logger #要用from 这种格式引用logger模块


    logger_obj=logger.get_logger()
    logger_obj.error('error')
     再调用sc_cal 模块的方法  ,模块名+方法(函数)   sc_cal.add()
    在哪个文件里运行,哪个文件就是启动文件,就会先从这个文件开始启动


    如果bin的文件位置发生变动,就要再添加路径



    2.2 同级目录下的被调用模块之间的相互调用

    2.3 if __name__=='__main__':

    这个表示执行的是此代码所在的文件。 如果这个文件是作为模块被其他文件调用,不会执行这里面的代码。 只有执行这个文件时, if 里面的语句才会被执行。 这个功能经常可以用于进行测试

    1.python文件的后缀为.py;

    2..py文件既可以用来直接执行,就像一个小程序一样,也可以用来作为模块被导入(比如360安全卫士,就是依靠一个个功能模块来实现的,好比360安全卫士本身框架是一个桌面,而上面的图标就是快捷方式,这些快捷方式所指向的就是这一个个功能模块)

    3.在python中导入模块一般使用的是import

    好了,在确定知道以上几点之后,就可以开始解释if __name__ == "__main__":这个语句了。

    首先解释一下if,顾名思义,if就是如果的意思,在句子开始处加上if,就说明,这个句子是一个条件语句。学习if语句的使用是很简单的,当然想要真正灵活运用还需大量的实践。

    接着是 __name__,__name__作为模块的内置属性,简单点说呢,就是.py文件的调用方式。

    最后是__main__,刚才我也提过,.py文件有两种使用方式:作为模块被调用和直接使用。如果它等于"__main__"就表示是直接执行。

    总结:在if __name__ == "__main__":之后的语句作为模块被调用的时候,语句之后的代码不执行;直接使用的时候,语句之后的代码执行。通常,此语句用于模块测试中使用。


    2.4 from 包.包 import 模块
        from 包.包.模块 import 变量名字
        
    2.5 __init__文件的作用

    __init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。

    通常__init__.py 文件为空,但是我们还可以为它增加其他的功能。我们在导入一个包时,实际上是导入了它的__init__.py文件。这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。





  • 相关阅读:
    转 sql 时间转换格式 convert(varchar(10),字段名,转换格式)
    C#页面添加提交数据后跳出小弹窗的功能
    解决粘包问题
    粘包问题
    模拟ssh远程执行命令
    基于TCP协议的socket套接字编程
    Linux和git使用
    osi七层协议
    TCP协议的三次握手和四次挥手
    C/S 和 B/S架构
  • 原文地址:https://www.cnblogs.com/gyh04541/p/7090031.html
Copyright © 2020-2023  润新知