用法:

import 模块1[,模块2,模块3...]

os 顶级模块
os.path 非顶级模块
as 相当于重命名

import 的本质:

解释器负责模块单独加载,单独初始化,生成一个模块对象,当前作用域生成一个同名标识符,映射到模块对象上,然后就可以通过这个标识符来访问模块对象的资源。并不是直接引用模块,或把模块的源码加载到当前空间。

在HTML语言中include的意思是直接将其它文件的源码包含进来,生成一个新的源码文件。

例1:

import functools
print(dir())
print(functools)
print(functools.wraps) 运行结果:
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'functools']
<module 'functools' from 'C:\\Python\\lib\\functools.py'> //这个模块对象是一个module模块类型
<function wraps at 0x0000020A133F1D90>
[Finished in 0.4s]

  

导入之后能用 "." 来调用模块的类、方法、属性,是因为模块被初始化成了一个对象。

例2:

import os.path
print(dir())
#path. #错误用法,这种导入方式不能使用使用非顶级模块名称直接调用,但当使用as语句时可以使用
os.path.exists() 运行结果:
[..., 'os']

  

例3:

import os.path as p
print(dir())
print(p.__name__) 运行结果:
[..., 'p']
ntpath
[Finished in 0.3s]

  

总结:

1. 当直接导入顶级模块时(如 import os),解释器负责单独加载模块,初始化模块,生成一个模块对象,并绑定在当前命名空间的一个同名的标识符。

使用时,需要使用 “模块名.方法()” 的格式。

2. 当导入的是非顶级模块时(如 import os.path),只会在当前命名空间生成顶级模块的对象标识符,并不会生成path标识符。

使用时,也只能通过 “os.path.exists()” 的完整层级关系使用。

3. 当导入的非顶级模块使用了as 语句(如 import os.path as p)时,当前命名空间绑定的是 "p" 这个对象标识符。

使用时,就可以通过 “p.exists()” 的方式来使用模块资源。

Python 模块化 import 语句介绍(一)的更多相关文章

  1. Python 模块化 from .. import 语句介绍 (二)

    from语句 例一. from pathlib import Path,PosixPath print(dir()) print(Path) print(PosixPath) 运行结果: ['Path ...

  2. python的import语句

    1.import作用 import跟C/C++中的#include作用有点类似,都是为了调用定义在其他文件中的变量.函数或者类,但实现的区别很大. C/C++中如果a.cpp include了b.h那 ...

  3. python from…import* 语句

    把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明: from modname import * 这提供了一个简单的方法来导入一个模块中的所有项目.然而这种声明不该被过多地使用. ...

  4. Python import语句导入模块语法[转]

    Python import语句导入模块语法 社区推荐:掘金是国内最活跃的技术社区,我们每日有优质Python开发实例分享,海量python开源库推送.来掘金,和更多懂技术的小伙伴交流.   pytho ...

  5. Python中import的使用

    python中的import语句是用来导入模块的,在python模块库中有着大量的模块可供使用,要想使用这些文件需要用import语句把指定模块导入到当前程序中. import语句的作用 import ...

  6. Python中的import语句

    Python中的import语句是导入一个文件,这条语句主要做三件事: 1 通过一定的方式,搜寻要导入的文件: 2 如果需要,就编译这个文件: 3 运行这个文件 但是,需要注意的是,所有这三个步骤,都 ...

  7. Python模块_import语句_from...import 函数名_from ... import *

    Python模块:包含了所有定义的函数和变量的文件,后缀名为 .py 将某些方法存放在文件中,当某些脚本 或 交互式需要使用的时候,导入进去. 导入的文件,就称为模块.导入之后就可以使用导入的文件的函 ...

  8. Python中from … import …语句

    from - import -语句可以让你从模块中导入一个指定的部分到当前模块

  9. [转] Python的import初探

    转载自:http://www.lingcc.com/2011/12/15/11902/#sec-1 日常使用python编程时,为了用某个代码模块,通常需要在代码中先import相应的module.那 ...

随机推荐

  1. ASP.Net之一般处理程序

    1.静态语言和动态语言 静态语言:在服务器端,不会被执行,直接作为 字符串 发回给浏览器,由浏览器运行的语言( HTML+CSS+JS).   动态语言:在服务端,会被服务器端的某种语言的虚拟机执行的 ...

  2. centos 安装cloud foundry CLI

    步骤: 1.wget -O /etc/yum.repos.d/cloudfoundry-cli.repo https://packages.cloudfoundry.org/fedora/cloudf ...

  3. js for循环中点击事件中无法获取每一个i值的问题

    好像是第二次遇到这个问题,必须要总结一下!! <!DOCTYPE html> <html> <head> <meta charset="utf-8& ...

  4. 【PyQt5 学习记录】003:水平布局和获取屏幕尺寸

    #!/usr/bin/python3 # -*- coding:utf-8 -*- import sys from PySide2.QtWidgets import (QApplication, QW ...

  5. css3 常用动画 随笔

    /* animation */.a-bounce,.a-flip,.a-flash,.a-shake,.a-swing,.a-wobble,.a-ring{-webkit-animation:1s e ...

  6. Angular面试题一

    一.ng-show/ng-hide 与 ng-if的区别? 第一点区别是, ng-if 在后面表达式为 true 的时候才创建这个 dom 节点, ng-show 是初始时就创建了,用 display ...

  7. Linux常见操作指令(转载)

    Linux,免费开源,多用户多任务系统.基于Linux有多个版本的衍生.RedHat.Ubuntu.Debian 安装VMware或VirtualBox虚拟机.具体安装步骤,找百度. 再安装Ubunt ...

  8. Redis的基本操作语句

    注:以下出现的key.value都需要具体 1.String类型的数据存储获取 set key value:设置key的值为value,若存在则覆盖,不存在则自动创建decrby get key:获取 ...

  9. 使用ZXing实现扫描多个条形码页面

    1.前言 ZXing是google官方推出的跨平台的基于Java实现处理扫面二维码或者条形码的库.支持很多格式,一维条码支持UPC-A,UPC-E,EAN-8,Code 39,Code 93等格式,二 ...

  10. 4.Bootstrap基础总结

    一.Bootstrap 网格系统 二.Bootstrap 排版 三.Bootstrap 代码 四.Bootstrap 表格 五.Bootstrap 表单 六.Bootstrap 按钮 七.Bootst ...