zoukankan      html  css  js  c++  java
  • 包的创建

    1.创建一个目录project

    2.在project目录下创建__init__.py,a.py,b.py(a.py

    和b.py有函数,就是模块 ),

    其中__init__.py供调用其他模块的函数 写入: from a import * ,from b import *

    在构造函数__init__.py,相当于初始化创建的实例,

    后面再a.py或者b.py 模块中 想彼此跨模块调用函数,可以直接通过 :引入包名 import project  包来实现包内的模块间引用

    ,就减少模块引用 还要以包名.模块名.*   ,如 本例中 在b.py 模块中引用a模块函数就需要写成: project.a.* 

    ---注意构造函数的最大作用就是创建对象时完成初始化,当我们在new一个对象并传入参数的时候,会自动调用构造函数并完成参数的初始化

    对比: __init__.py  构造函数内不写入内容时:在其他模块调用

    引用时需要:import 包名称.模块名称

    调用函数时:包名称.子包名.模块名称.方法名称

     

    __init__.py 构造函数写入内容:import a 后,引入包内模块函数的方法:

    引用时不需要写入模块 即import 包名.子包名

    调用函数时需要:包名.子包名.模块名.方法名

    3.__init__.py 写入 from a import *  引入模块方法后

    引用模块时不需要引用 模块名称  :import 包名

    调用函数时:包名.函数名

    4.如果引入包的方法:from 包名 import * ,

    调用函数时:模块名.函数名

    总结:在__init__引用  模块名  或者引用模块的方法后,,对应的模块引用都可以相应减少这部分引用,

    而函数调用,是引入什么,用什么调用,如引用了包名,直接用包名调用方法,引入了方法,直接用模块名调用方法

    如__init__ 没有任何引用,空文件,模块引用时:import 包名.子包名.模块名,函数调用时:包名.子包名.模块名.函数名

    如__init__  引用:import a(模块名)   模块引用 :import 包名.子包名 即可,函数调用时:包名.子包名.模块名.函数名:比上一个 只是少引用一个模块名,调用时不减少

    如__init__ 引用:from a import *  (引用模块下的所有函数)        模块引用时:  import 包名.子包名   或者 from 包名  import *,函数调用时对应前面的模块引用:包名.函数名,第二种模块名.函数名:比上一个引用没有减少,但是调用减少 少了包或者模块名(具体根据引用时判断)

  • 相关阅读:
    没有加注解的后果
    异常:javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in <forEach>
    页面的跳转
    SpringBoot的修改操作
    抛出异常
    SpringBoot中的控制层的程序中的方法有返回值的原因
    Maven创建的项目使用SpringBoot框架运行时Progress窗口出现的过程
    @Entity注解不同来源
    maven项目不能正常导入到eclipse中
    使用mpvue开发小程序特别需要注意生命周期勾子created和beforeCreate问题
  • 原文地址:https://www.cnblogs.com/zyy98877/p/9272361.html
Copyright © 2011-2022 走看看