自定义模块

  1. 定义:一个文件就是一个模块(能被调用的文件,模块就是一个工具箱,工具就是函数)

  2. 作用:

    1. 将代码文家化管理,提高可读性,避免重复代码
    2. 拿来就用(避免重复造轮子),python中类库比较多,提升开发效率
  3. import导入时会做三件事:

    # import test  # 只能将整个工具箱拿来
    # a = test.t1
    # b = test.t2
    #
    # a()
    # b()
    1. 将.py文件中的所有代码读取到当前文件
    2. 在当前文件开辟空间
    3. 等待被调用
  4. import导入同一个模块名时,只执行一次

  5. import 和from 文件名较长时,都可以用as起别名,目的是为了防止内置模块名与自定义模块名重复,自定义模块会覆盖内置模块

  6. 导入模块名时后面不能加后缀

  7. 每个模块都有一个独立的内存空间,理论上是全局空间

  8. from :推荐使用from

    # from test import t1 as t # 从test工具箱中将t1这个工具拿过来
    #
    # def t1():
    # print("高级工程师")
    # t1()
  9. import 和 from的区别:

    1. from只能执行导入的工具
    2. import能后执行整个模块中所有的功能
    3. from容易将当前文件中定义的功能覆盖
    4. from 比import灵活
  10. import只能导入当前文件夹下的模块

  11. import 后边不能加点操作 ***

  12. import 和 from 使用的都是相对路径

  13. 飘红不代表报错

  14. sys:和python解释器交互的接口

    1. sys.path.append(r"被导入的模块路径")

      • 内存 > 内置 > 第三方> 自定义
    2. sys.path.insert(0.r"被导入的模块路径")
      • 内存 > 自定义 > 内置 > 第三方
  15. 模块的两种用法

    1. 当做模块导入:使用import 和 from, __ name __ 返回的是当前模块名
    2. 当作脚本执行:__ name __ 返回 ' __ main __'
  16. 只有py文件当做模块被导入时,字节码(pyc)才会进行保留

  17. 导入模块时遇到的坑:

    1. 注意自己的定义的模块名字与系统名字冲突
    2. 注意自己的思路---循环导入时建议导入模式放后边一点,需要的地方,不要互相查找内容
  18. 不建议一行导入多个

  19. from test import * 意思是:拿整个工具箱过来

    1. 通过 __ all __ 控制要导入的内容
    2. __ all __ = ["a","func"] 控制 import *

最新文章

  1. About me
  2. 【Codeforces 738B】Spotlights
  3. CSS魔法堂:小结一下Box Model与Positioning Scheme
  4. mongoDB简介
  5. socket编程--socket模块介绍
  6. 如何在sublime text 3 上安装插件package control
  7. AJAX异步同步
  8. s15day12作业:MySQL练习题参考答案
  9. WPF与输入法冲突研究之一:百度输入法会导致WPF程序的崩溃!
  10. poj 3414 Pots (bfs+线索)
  11. 运维必须掌握的150个Linux命令
  12. Python更新pip出现错误解决方法
  13. Mybatis源码之(TypeAliasRegistry)TypeAlias别名实现机制
  14. STL源码标注_空间适配器
  15. 将一个js项目改造成vue项目
  16. 小白的首个maven web项目Step1软件安装一(jdk的下载配置和eclipse的安装)
  17. 译:1. RabbitMQ Java Client 之 "Hello World"
  18. 解决Invalid bound statement (not found): com.cqupt.ssm.dao.UserDao.queryMenu问题
  19. 一个将lambda字符串转化为lambda表达式的公共类
  20. log4j直接输出日志到flume

热门文章

  1. 也谈Tcp/Ip协议
  2. 21.Python算术运算符及用法详解
  3. [题解] [AHOI2009] 跳棋
  4. tp5 模型中 关联查询(省去了foreach写法)
  5. java list对象按照某个属性去重
  6. user_tab_columns和user_col_comments区别
  7. 小D课堂 - 零基础入门SpringBoot2.X到实战_第11节 Logback日志框架介绍和SpringBoot整合实战_45、SpringBoot2.x日志讲解和Logback配置实战
  8. iOS开发之点击tabBarItem进行Push一个页面
  9. java:面向对象(多态,final,抽象方法,(简单工厂模式即静态方法模式),接口)
  10. 分享一款架子鼓游戏【drum】