模块

模块的使用import.py

#1 什么是模块?
# 模块就一系统功能的集合体,在python中,一个py文件就是一个模块,比如module.py,其中模块名module

#2 使用模块

#2.1 import 导入模块
#首次导入模块发生三件事
#1、创建一个模块的名称空间
#2、执行模块对应文件,将产生的名字存放于1中的名称空间
#3、在当前执行文件中拿到一个模块名,该模块名指向1的名称空间

x=1
def f1():
pass

# import spam
#强调:之后的导入会直接引用第一次导入的结果,不会重复执行文件

# import spam
# import spam
# import spam
# import spam
# import spam

# print(spam)

# print(spam.money)
# spam.read1()


# 模块中功能的执行始终以模块自己的名称空间为准
# read1=111111
# print(spam.read1)

# money=1111111111111
# spam.read1()

# read1=111111111111                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               11111111111111
# spam.read2()

# money=1111111111111111
# spam.change()
# print(money)
# spam.read1()


#3、为模块起别名
# import spam as sm
#
# print(sm.money)
# sm.read1()


engine=input('>>: ').strip()
if engine == 'mysql':
import mysql as db
elif engine == 'oracle':
import oracle as db
db.parse()


#4、一行导入多个模块(不推荐使用)
# import spam,mysql,oracle

#推荐写成多行
import spam
import mysql
import orcacle

二.模块的使用.....import.....py

首次导入模块发生三件事

1.创建一个模块的名称空间

2.执行模块对应的文件,将产生的名字存放于1中的名称空间

#提示:from....import...与import前两件事一模一样

3.在当前名称空间中直接拿到模块中的名字,可以直接使用,不用加任何前缀

# import spam # spam.名字

#

# from spam import money,read1,read2,change
# print(money)
# read1()
# read2()
# change()

# import spam
# print(money)

# 注意:
# 1、同import,执行模块中的功能,始终以模块的名称空间为准
# money=1111111111
# change()
# print(money)

#2、from ... import 名字,拿到的名字可以不加前缀直接使用,使用起来更加方便
#当问题是容易与当前执行文件中相同的名字冲突
# money=1111111111111111
# print(money)
# read1=1111111
# read1()

# 起别名
# from spam import money as m
# print(m)

# 在一行导入多个
# from spam import money,read1,read2


#from ... import *
# from spam import *
#
# print(money)
# print(read1)
# print(read2)
# print(change)

# from spam import *
# print(money)
# print(read1)
# print(read2)

import spam

# import m1
# m1.f1()
# 模块的查找顺序是:
# 1、内存中已经加载的模块
# 2、内置模块
# 3、sys.path路径中包含的模块
# import time
#
# import m1
# m1.f1()
#
# time.sleep(15)
# import m1
# m1.f1()


# import sys
# print('time' in sys.modules)
# import time
# time.sleep(2)
# print('time' in sys.modules)

import sys
sys.path.append(r'D:codeSH_fullstack_s1day14dir1')

import m1
m1.f1()


# 强调强调强调强调强调强调强调强调强调强调强调强调
# sys.path的第一个路径是当前执行文件所在的文件夹

# import m1
# m1.f1()
# 模块的查找顺序是:
# 1、内存中已经加载的模块
# 2、内置模块
# 3、sys.path路径中包含的模块
# import time
#
# import m1
# m1.f1()
#
# time.sleep(15)
# import m1
# m1.f1()


# import sys
# print('time' in sys.modules)
# import time
# time.sleep(2)
# print('time' in sys.modules)

import sys
sys.path.append(r'D:codeSH_fullstack_s1day14dir1')

import m1
m1.f1()


# 强调强调强调强调强调强调强调强调强调强调强调强调
# sys.path的第一个路径是当前执行文件所在的文件夹

# import m1
# m1.f1()
# 模块的查找顺序是:
# 1、内存中已经加载的模块
# 2、内置模块
# 3、sys.path路径中包含的模块
# import time
#
# import m1
# m1.f1()
#
# time.sleep(15)
# import m1
# m1.f1()


# import sys
# print('time' in sys.modules)
# import time
# time.sleep(2)
# print('time' in sys.modules)

import sys
sys.path.append(r'D:codeSH_fullstack_s1day14dir1')

import m1
m1.f1()


# 强调强调强调强调强调强调强调强调强调强调强调强调
# sys.path的第一个路径是当前执行文件所在的文件夹

#spam.py
print('from the spam.py')
__all__=['money','read1'] # from .. import *

money=1000

def read1():
print('spam模块.read1:',money)

def read2():
print('spam模块.read2')
read1()

def change():
global money
money=0

# print(__name__)
# __name__的值
#1、在文件被直接执行的情况下,等于'__main__'
#2、在文件被导入的情况下,等于模块名

if __name__ == '__main__':
# print('文件被当中脚本执行啦。、。')
read1()
else:
print('文件被导入啦')

原文地址:https://www.cnblogs.com/shengg/p/8708909.html