python基础--导入模块

一,import的使用1, 模块就是一组功能的集合体,我们的程序可以导入模块来复用模块中的功能一个模块就是包含了一组功能的python文件,例如demo.py 可以通过import来使用这个文件定义demo模块如下
print("导入模块")
num = 1000
def read1():
    print(‘demo模块‘,num)
def read2():
    print(‘demo模块‘)
    read1()
def change():
    global num
    num = 0
模块中可以包含语句和函数,(我们平时写的.py文件就是),只在第一次导入的时候执行模块里的内容import demoimport demo会输出:导入模块(一次)2,第一次导入模块会做的三件事  1,为源文件创建新的名称空间(作用域),  2,执行源文件模块中所包含的代码  3,创建demo变量来指向该空间ps:每次导入之前会检查内存中是否存在这个模块,若存在,不做反应      不存在,执行上述步骤3,导入模块的作用域跟现有作用域不同
def read1():
    print("hahaha")
demo.read1() # demo模块 1000
read1() # hahaha
# 模块中的函数跟当前函数不在同一个作用域中,因此不冲突
# 同理,变量也是一样的
4,可以为模块起名字,import demo as do5,可以一行导入多个模块import demo,os,time二,from ... import ... 的使用
1,from demo import read12,区别:使用from ... import ...是将要导入的函数直接导入进当前的作用域, 所以在当前的名称空间中,直接使用名字就可以了,不用加前缀:demo  相当于在当前文件定义了一个read1函数,这就导致了,此时如果我们也有read1函数,  会导致覆盖。3,也可以使用as4,也可以一行导入多个模块5 from demo import * 把demo中所有的不是以下划线_开头的名字都导入到当前位置 不推荐使用,因为你不知道demo模块中会有什么变量,是否会将你的 变量函数覆盖。6,模块循环导入问题
 m1.py 的内容
 print(‘导入m1‘)
 from m2 import y
 x=‘m1‘

 m2.py文件的内容
 print(‘导入m2‘)
 from m1 import x
 y=‘m2‘

 run.py文件内容
 import m1
执行run会报错
导入m1
Traceback (most recent call last):
导入m2
  File "C:/Users/王聪/PycharmProjects/8月/python基础/模块测试/run.py", line 1, in <module>
    import m1
  File "C:\Users\王聪\PycharmProjects\8月\python基础\模块测试\m1.py", line 2, in <module>
    from m2 import y
  File "C:\Users\王聪\PycharmProjects\8月\python基础\模块测试\m2.py", line 2, in <module>
    from m1 import x
ImportError: cannot import name ‘x‘ from ‘m1‘ (C:\Users\王聪\PycharmProjects\8月\python基础\模块测试\m1.py)
我们来看run的执行过程:导入m1-执行m1-打印m1-导入m2-打印m2-导入m1-但此时m1已经导入了,没有发现x:报错
执行m1也会报错
来看m1的执行过程:打印m1-导入m2-执行m2-打印m2-导入m1-(此时m1还没有导入)打印m1-导入m2(但此时m2已经导入)
没有发现 y :报错
我们可以得知:执行模块并不是导入模块
修改
print(‘导入m1‘)
x=‘m1‘
from m2 import y

原文地址:https://www.cnblogs.com/cong12586/p/11359518.html

时间: 2024-10-17 15:34:45

python基础--导入模块的相关文章

python基础四(模块的导入)

一.导入模块?从模块导入时,一般使用 import sys(用sys模块举例) #这种方式导入模块,要使用这个模块其中的功能,语法为模块名称**.**功能,如print(sys.path) from sys import path #这种方式导入模块要使用模块中的功能,直接功能名即可print(sys),如果要导入该模块多个功能可以以逗号隔开 from SomeMode import * #这种方式和第二种一样只是把具体的功能名换成了*(导入所有),这种方式也有弊端,假如你导入的模块都有一个名为

python 基础之 模块

Python 基础之模块 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 就是一个python文件中定义好了类和方法,实现了一些功能,可以被别的python文件所调用 那么如何使用一个模块呢? 当然是使用import 模块名 这个方式加载一个模块了 ,比如:import time 如果要使用模块中的类,就是: 模块名 点儿 类 比如: import modle.Teacher 那么如果模块中的方法不知道是做什么用的怎么办呢?     两种方法:    

Python如何导入模块

为了在CMD中的任何位置打开python程序,将pyhon的安装目录导入到环境变量中,如我的安装目录D:\Python27,桌面计算机--->右键属性--->高级系统设置-->环境变量-->path 若为单文件模块,只需要将该文件放在系统环境变量下的任何目录中,在任何位置编写时均可导入. 方法一:下面以安装setuptools工具为例,从站点https://pypi.python.org/pypi/setuptools下载要使用的模块压缩文件.从CMD命令行下跳转到解压后所在的文件

python进阶二(模块)【2-1 python之导入模块】

python之导入模块 要使用一个模块,我们必须首先导入该模块.Python使用import语句导入一个模块.例如,导入系统自带的模块 math: 你可以认为math就是一个指向已导入模块的变量,通过该变量,我们可以访问math模块中所定义的所有公开的函数.变量和类: >>> math.pow(2, 0.5) # pow是函数 1.4142135623730951 >>> math.pi # pi是变量 3.141592653589793 如果我们只希望导入用到的mat

python基础入门---模块的定义,导入

#1.定义:模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是 .py结尾的python文件 # 包:用来从逻辑上组织模块,本质是一个目录(必须带有一个_init_.py文件) #2.导入方法 import module_name,module2_name #import qjh import m1,m2,m3 #导入全部from qjh import * #from qjh import logger as logger_hhh 从新定义名字 #3.impo

带你学python基础:模块和包

一.什么是模块 在我们平时的开发过程中,或多或少会用到 Python 的一些内置的功能,或者说,还会用到一些第三方的库,我们用到的这些 Python 的内置的功能,和一些第三方的库,就可以说是一些模块了. 例如,我们在读写文件的时候,我们就会用到文件操作的模块os. 是不是经常遇到呢?模块,来了! 其实,每一个 Python 脚本文件都可以被当成是一个模块. 模块以磁盘文件的形式存在.当一个模块变得过大,并且驱动了太多功能的话,就应该考虑拆一些代码出来另外建一个模块. 模块里的代码可以是一段直接

Python高手之路【七】python基础之模块

本节大纲 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式 1:模块介绍 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以

python基础五——模块

python模块(标准.自定义.第三方模块).python的os.sys和时间模块和__name__. 一.python模块 import 模块的实质就是把要导入模块里面的代码,从上到下执行一遍.找模块的顺序是,首先是当前目录,然后是环境变量里.模块包含:标准模块.自定义模块和第三方模块. 标准模块:python自带的,不需要安装,直接import就能使用: 自定义模块:自己写的python 第三方模块:别人开发好的功能模块,使用需要安装. 安装方式:(1)系统命令,pip install xx

【python基础之----模块】

模块是实现某个功能的代码集合 函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块. 模块分为三种: 内置标准模块(标准库) 第三方模块(开源模块) 自定义模块 1. 自定义模块 # 单模块,且在同一目录下,建议用 import # 定义一个模块文件名字为common.py,在当前目录 def f2(): print("F2") #