'''
1.模块本质是.py文件
2.导入方法:import module01
import module01,mudule02
from module01 import * #从模块上导入所有变量和方法,不建议使用。from ... import ... 相当于把相对模块的内容粘贴到相应位置,有可能会产生覆盖和冲突
import module01 as fun01 #别名
3.import module01 #把module01解释一遍,存为变量module01,调用需要用module.
from module01 import name #把name解释一遍,存为变量name,调用不需要加前缀
'''
'''
1.包本质是一个目录,从逻辑上组织模块的(必须带有一个__init__.py文件)
2.导入包本质是执行包里面的__init__.py
所有import的外部自定义包都附在后面了
'''
# import module_test
# print(module_test.name)
# module_test.fun01()
# from module_test import *
# name = 'abc'
# def fun02():
# print('this is in the main.')
# print(name)
# fun02() #用from... import...产生了覆盖
from module_test import name as name_test #别名
name = 'abc'
print(name_test)
import pack_test #导入包之后执行了__init__
import sys,os
print(sys.path) #import只能import sys.path路径下的
sys.path.append('C:\\Users\\yufo\\PycharmProjects\\untitled\\01_循环,判断,格式化输出,编码')
import encode
print(name)
'''module_test.py'''
def fun01():
print('It\'s a test.\n')
name = 'yufo'
def fun02():
print('in the test.')
'''pack_test包下的__init__.py'''
print('this is init')
'''01_循环,判断,格式化输出,编码包下的encode.py'''
'''编码解码,网络编程中使用'''
a = '测试编码解码'
print(a.encode())
print(a.encode(encoding='utf-8')) #默认UTF-8 与上面等价
print(a.encode().decode())
b=a.encode()
print(b)
print(b.decode())
name = 'encode'