ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

模块简介及导入模块的方式与查找顺序

2022-07-13 22:33:24  阅读:105  来源: 互联网

标签:__ 文件 导入 查找 模块 import 取值


  • 目录

    • 索引取值与迭代取值
    • 模块简介
    • 模块导入
    • 模块查找顺序
    • 判断文件类型
  • 索引取值与迭代取值

   1.索引取值

    优点:可以反复获取任意位置的数据

    缺点:必须是有序的数据类型才可以采用索引取值

   2.迭代取值

   优点:可以对有序或无序的数据类型进行取值

   缺点:取值开始只能从开始到结束取值不能反复获取任意位置的数据

   3.没有明确的谁好谁坏,按不同情况使用不同方式
  • 模块简介

   1.概念:拥有一些列功能的结合体,使用模块就等同于使用所拥有的所以功能
   2.分类

             2.1 内置模块:编辑器自带的,提前设置好的可以直接使用的

import time
time.sleep(3)
print('你好呀')

     2.2 自定义模块:自己写自己使用

     2.3 第三方模块:别人编写好的,可以通过网络下载使用的

   3.表现形式

   3.1 py文件也称为模块文件

   3.2 多个py文件按照功能划分存放在不同的文件夹中 

   3.3 已被编译成共享库或DLL或C或C++扩展

   3.4 使用C编写并链接到python解释器的内置模块

  • 模块导入

   1.模块导入方式

   1.1 import语句:可以将执行模块中名称空间的所有代码储存的名字引用到被导入文件的名称空间中,通过执行模块名加点的方式使用所有数据

    1.1.1 优点:执行时使用模块名加点的方式,所以不会出现命名重复

    1.1.2 缺点:存在多个成员

import function02
print(function02.name)     # kevin
function02.func()          # 我拥有强大的功能

     1.2 from.....import......语句:可以将模块名字的指定代码储存的名字引用到被导入文件的名称空间中,然后使用名字就可以使用对应的数据

     1.2.1 优点:成员使用简单 

     1.2.2 缺点:出现命名重复不易发现

from function02 import func
func()         # 我拥有强大的功能
   2. 模块导入补充

       2.1 重命名:多个模块模块名相同(多人写)或原有模块名复杂

             格式 : from  模块名  import   成员名  as   别名

      2.2 导入多个模块文件:模块功能相似可一次导入,没有关系的尽量分别导入

    格式:import 模块名1,模块名2,模块名3

               import 模块名1

          import 模块名2

       import 模块名3

     2.3 导入同一模块文件中的多个名字(同一模块,推荐使用)

      格式:from 模块名  import  名字1,名字2,名字3

     2.4 当必须使用from.....import....语句导入模块文件中所有名字(全导入)

    格式:from 模块名 import *     # * 表示所有  可通过__all__控制导入的名字数量

from function02 import *
print(name)      # kevin
func()           # 我拥有强大的功能
    3. 循环导入

       3.1 概念:模块文件互相导入彼此

       3.2 存在的问题及解决办法:互相导入容易出现报错,所以可以在彼此导入之前准备好彼此所需名字,尽可能不使用循环导入

1.name1 = 'kevin'
  def username():
      print(name1)


  import function02
  function02.func()          # jason   kevin   jason


2.name2 = 'jason'
  def func():
      print(name2)


  import function03
  function03.username()     # kevin   jason   kevin

  • 模块的查找顺序

   1.先从内存中查找

   1.1 导入一个文件,在导入过程中删除,还可以使用(存在于内存中),再次将无法使用,内存数据也已删除

   2.去内置中查找

    2.1 创建模块时尽量不要使用和内置模块名相同的名字

import time
time.name           # AttributeError: module 'time' has no attribute 'name'
   3.在sys.path中查找(程序系统环境变量):必须分清谁是执行文件,所有的路径都是参照执行文件来的

    3.1 sys返回的是一个列表,里面存在多个文件路径,但第一位的一定是执行文件所在的文件路径

import sys
print(sys.path )    # ['D:\\code\\python\\day22', 'D:\\code\\python\\day22',]
  • 判断文件类型

   1.所有的py文件都自带有__name__内置名,作用是开发作者主要用来测试自己的代码,在pycharm中可以直接输入main按tap键补全

    1.1 当文件时执行文件时__name__的结果是__main__

    1.2 当文件时被导入文件时__name__的结果是模块名

 

标签:__,文件,导入,查找,模块,import,取值
来源: https://www.cnblogs.com/040714zq/p/16474723.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有