zoukankan      html  css  js  c++  java
  • 模块的定义,导入,优化

    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,模块的分类

    啊:标准库

    吧:开源模块

    吃:自定义模块

  • 相关阅读:
    Oracle--数据增删改
    Oracle--约束
    Oracle--常用数据类型、创建表
    Oracle基础入门--(用户、角色、权限)
    Oracle基础入门--(数据库、数据库实例、表空间)
    jQuery中的表单验证
    js 判断微信浏览器
    VUE 之 webpack 封装方法例子
    原创自己写的方法,获取url上的参数,返回一个对象
    axios拦截器配合element ui实现http请求的全局加载
  • 原文地址:https://www.cnblogs.com/PYlog/p/8821110.html
Copyright © 2011-2022 走看看