用法:

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. 十五、curator recipes之DistributedQueue

    简介 curator实现了先入先出的分布式消息队列,它采用的是zookeeper的持久化有序节点. 官方文档:http://curator.apache.org/curator-recipes/dis ...

  2. 用户登录注册(安全)(常规、FB、google、paypal) 实战

    /* 用户登录界面 */elseif ($action == 'login'){    if($_SESSION['user_id'])    {        ecs_header("Lo ...

  3. ArrayList封装

    package com.cn.test.jihe; import java.util.Arrays; /** * * insert * delete * update * get * */ publi ...

  4. OpenStack IceHouse 部署 - 1 - 架构说明

    参考架构 Architecture from OpenStack Install Guide Reference Architecture Network Isolation 在本次部署中,我们采用了 ...

  5. SpringBoot整合mybatis踩坑

    springboot整合mybaits过程中,调用接口时报错:org.apache.ibatis.binding.BindingException: Invalid bound statement ( ...

  6. Ubuntu 批量修改图片大小

    现在的相机拍摄出来的照片通常远远大于电脑屏幕,不但尺寸很大,占用磁盘量也很大,我都是拍完照片立马就将其缩小到差不多HD的分辨率 改图片分辨率的软件有很多,除了耳熟能详的PS,Ubuntu下也有开源gi ...

  7. iOS各种profile文件

    iOS是一个非常封闭的系统.授权文件(.mobileprovision)和签名证书文件(.cer)的存在就是为了验证身份信息.一般情况下,比如ssh登陆或者scp需要私钥.公钥对即可,iOS也是基本采 ...

  8. Heap memory compared to stack memory

  9. Word 最后一页无法删除-解决办法

    Word 最后一页无法删除-解决办法 制服 word 最后一页无法删除 今天在做一个简历的时候,编辑 word 文档的时候,最后一页空白页怎么也删不掉,百度了很多方法之后,只有一个可行,记录一下. 1 ...

  10. AndroidStudio中logcat不输出信息

    2017年11月27日,记住这个日子.今天第一次感觉到被批评了,由于自己技术知识储备不足导致今天的外出工作等于浪费时间.正式因为这个logcat不输出信息的问题,前几回不输出信息了我就从新启动了开发工 ...