day 15 模块和异常

第十五天 模块和异常

一、 模块

1、 什么是模块

​ python中一个py文件就是一个模块

​ 模块分为系统模块和自定义模块

2、怎么使用模块-怎么在一个模块中去使用另外一个模块中的内容。

# 注意:1)如果一个模块中的内容想要能够被别的模块使用,那么这个模块的名字必须符合变量名的要求
#      2)符合命名要求的模块中,只有全局变量可以被别的模块使用 

3、怎么导入模块 - 要使用别的模块中的内容,必须先导入

'''
1)import 模块名    -    导入指定模块,导入后可以通过'模块名.xxx'的方式去使用模块中所有的全局变量 
2)from 模块名 import 变量名1, 变量名2, ...   - 导入指定模块,导入后可以直接使用import后面所有的全局变量
3) from 模块名 import *    - 导入指定模块, 导入后可以直接使用模块中所有的全局变量 
4)import 模块名 as 新模块名    -   导入模块的时候给模块重命名
5)from 模块名 import 变量名1 as 新变量名1, 变量名2, ...   -  重新给指定变量命名
'''
# 1. 导入方式1: import 模块名
# import test
# print(test.a)
# print(test.x)
# test.func1()

# import functools
# functools.reduce()

# 2. 导入方式2:from 模块名 import 变量名1, 变量名2, ...
# from test import a, func1
# print(a)
# # print(x)      # 报错:NameError: name 'x' is not defined!
# func1()


# 3. 导入方式3:from 模块名 import *
# from test import *
# print(a)
# print(x)
# func1()

# 4.模块重命名
# import 模块名 as 新模块名
# test = 100
# import test as test1
# print(test1.a, test1.x)
# test1.func1()

# 5.变量重命名
# from test import a, x as t_x
# print(t_x)
# print(a)

二、导入模块的原理

1、导入原理

"""
当代码执行到导入模块的操作的时候,系统会自动进入被导入的模块,将模块中的代码全部执行一遍。
import和from-import在导入模块的时候会自动检测模块是否重复导入,如果已经导入过,不会重复导入。
"""
# import test
# import test
#
# print('其他语法')

2、阻止导入

from downloadMovies import download

download('哈利波特1')
print(f'05的__name__:{__name__}')

if __name__ == '__main__':
    pass

在被导入的模块中添加代码 if __name __ == ‘main

def download(name):
    print(f'开始下载{name}')
    print('检测网络')
    print('连接服务器')
    print('传输数据')
    print('接收数据')
    print('保存数据')
    print(f'{name}下载结束')


print(f'download的__name__:{__name__}')
# 在这个if中代码被别的模块导入的时候不会执行
if __name__ == '__main__':
    download('肖申克的救赎')
    download('霸王别姬')
    download('触不可及')
    download('这个杀手不太冷')
    download('V字仇杀队')
    download('沉默的羔羊')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值