• 模块的定义,导入,优化


    1,定义

    模块,用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件。(文件名test.py,对应的模块名就是test)

    ### 这个理解就是读一下你import的文件

    2,导入方法

    import module_name

    import module_name1,module_name2

    from module_name import *  #导入module_name 下的所有内容

    form module_name import m1,m2,m3 #导入module_name 下的 m1,m2,m3函数,这里m1也可以是值

    form module_name import m1 as m1_qiangql  #导入 module_name下的m1 方法,但是防止本地也有这个方法,另起一个名字m1_qiangql(如果本地重名了,本地的内容就会覆盖调用的函数)

    3,import本质(路径搜索和搜索路径)

    导入模块的本质就是把python文件解释一遍

    (import test  这里 test 等于 ‘test=test.py all code’#test里的所有代码)

    (from test import m1   这里m1=‘code’,也可以 from test import name 这里name=‘code’一个道理)

    import module_name------>module.py------>module.py的路径------> sys.path  #找到module.py的位置,sys.path 变量里边定义一堆搜索路径,后边我们append 自己的路径加进去,就是为了寻找

    os.path.abspath(__file__) #获得当前绝对路径

    os.paht.dirname()#获取目录名

    os.paht.dirname(os.path.abspath(__file__) )#返回当前目录的父集,可以多几次dirname

    sys.path.append(os.paht.dirname(os.path.abspath(__file__) )) #把这个路径加到path里边,这里有一个问题,path是个列表序列,如果前边有类似的目录,就会找歪了

    sys.path.inster(0,sys.path.append(os.paht.dirname(os.path.abspath(__file__) ))) #这里用到inster 方法,这里0就是把路径直接放到最前边

    导入包的本质就是执行该包下的__int__.py文件

    4,导入优化

    这个就一个点,就是防止重复运行

    这里就是重复检索module_test。

    这样 from module_test import test, 直接可以在函数里调用test(),防止重复检索。

    5,模块的分类

    啊:标准库

    吧:开源模块

    吃:自定义模块

  • 相关阅读:
    hdu_2224_The shortest path(dp)
    hdu_4824_Disk Schedule(dp)
    hdu_5680_zxa and set(想法题)
    hdu_5683_zxa and xor(非正解的暴力)
    hdu_1429_胜利大逃亡(续)(BFS状压)
    hdu_1254_推箱子(双BFS)
    hdu_1969_pie(二分)
    hdu_2446_Shell Pyramid(数学,二分)
    hdu_2141_Can you find it?(二分)
    5.2 nc + JMX查看分布式程序数据
  • 原文地址:https://www.cnblogs.com/PYlog/p/8821110.html
Copyright © 2020-2023  润新知