zoukankan      html  css  js  c++  java
  • 8.03_python_lx_day21<2>

    一.模块和包 (模块部分)

    (1)import 引入 : 导入一次,终身受益,不会重复导入

    <1>模块.变量  print(mymodule.dog)

    <2>模块.函数  mymodule.xboyww()

    <3>模块.类     print(mymodule.MyClass().name)

    (2)导入任意路径下的模块

    自定义模块时,不能使用中文,也不能使用已存在的模块名,会被覆盖

    1 import sys
    2 print(sys.path)
    3 # sys.path.append(r'路径')
    4 # import 模块
    5 # 把路径添加到系统环境变量path当中,
    6 # 执行命令时,系统会自动按照路径找到模块,从而引入
    7 # 如果找不到当前模块所在的路径,直接报错

    (3)from ... import ... 从 ... 导入 ... 

    <1>导入单个

    from 模块 import 变量|模块|类

    <2>导入多个

    from 模块 import 变量|模块|类,变量|模块|类,变量|模块|类......

    <3>导入所有

    # * 代表所有
    from 模块 import *

    <4>导入的同时,起别名

    from 模块 import 变量|模块|类 as 别名

    <5>可以设置*号的导入范围

    # 模块文件
    __all__ = ['变量|模块|类','变量|模块|类']
    from mymodule import * #此时*不代表所有,是__all__

    (4)__name__ 魔术属性的使用

    返回模块名字的魔术属性 __name__
      如果当前文件是直接运行的,返回__main__
      如果当前文件是间接导入的,返回当前文件名(模块名)
    
    文件直接被执行的时候返回__main__
    当成模块被导入的时候,返回模块名本身;

    二.模块和包 (包的部分)

    1. 文件就是模块,文件夹就是包
    2. __init__.py 对包(文件夹)进行初始化的脚本文件
    3. 导入包的时候,系统自动调用__init__.py文件,把init文件里面成员进行导入
    4. 可以通过__init__间接导入其他模块

    (1)import 导入包的使用

    <1>获取包初始化文件中的成员

    import package1 #自动调用package1 文件夹的__init__.py文件

    <2>导入包下的某些模块

    (2)from ... import 从包导入相应成员

    from 文件夹 import 模块
    from 文件夹.模块 import 具体成员
    from 文件夹.模块 import 具体成员 as 别名

    (3)单入口模式(相对导入)

    import main同级文件夹下路径具体到模块
    1. 分模块不能单独进行调用,统一由主文件main进行调用
    2. 模块之间的互相嵌套导入,使用相对路径实现
    3. 单入口文件必须和包在同一层级,包里面可以含有各种包和模块
    4. 相对路径导入的落脚点在 模块或者其中的具体成员身上
    # . 代表当前
    from . import pgone_2
    # .. 上一级
    from .. import pkg2_module1
    from ..pkg2_module1 import ceshi3001
    1. . 当前路径
    2. .. 上一级路径
    3. ... 上一级的上一级
    4. .... 上一级的上一级的上一级
    5. ..... (这里的点是无限的)
    6. from .......................................... import 模块
  • 相关阅读:
    RocketMQ logback使用实践
    用SLF4j/Logback打印日志-3
    UI调试工具 SAK 布局 [MD]
    Gradle 翻译 Merge AndroidManifest 合并清单文件 [MD]
    Gradle 翻译 build dependencies 依赖 [MD]
    Gradle 翻译 tips and recipes 使用技巧 [MD]
    依赖注入 DI 控制反转 IOC 概念 案例 [MD]
    属性动画 基本使用案例 [MD]
    架构 MVC MVP MVVM 简介 [MD]
    MMKV 多进程K-V组件 SP [MD]
  • 原文地址:https://www.cnblogs.com/Magicianlx/p/13430846.html
Copyright © 2011-2022 走看看