Day 13-not_module

Day13

1. 补充
  1. json
    1)json转python
    json.loads(字符串, encoding='')
    文件读:
    json.load(文件对象) -- 将制定文件中的json数据转换成对应的python数据
    json.loads(文件对象.read())
    2)python转json
    json.dumps(python数据)
    文件写:
    json.dump(python数据, 文件对象) -- 将python数据转换成json,然后再写入到制定文件中
    文件对象.write(json.dumps(python数据))
2. 模块(module)
  1. 什么是模块
    python中一个py文件就是一个模块
  2. 导入模块
1)import 模块名  --  在当前模块中导入指定模块,导入后可以使用指定模块中的所有声明过的全局变量
通过'模块名.全局变量'

import 模块名 as 新模块名  --  对导入的模块进行重命名
2)
from 模块名 import 变量1, 变量2,...  --  在当前模块中导入制定模块,导入后可以使用import后的所有变量
from 模块名 import *  --  在当前模块中导入指定模块,导入后可以使用木块中的所有模块(不可以改变模块名)
通过'变量'

from 模块名 import 变量1 as 新变量1, 变量2 as 新变量2, ...
# ================1)import直接导入=========
import test

print(test.num)
test.test1_func()
# ===============2)from导入=============
num = 'hello'
from test import num as test1_num, test12_func
print(num, test1_num)
test12_func(100)
from test import *
print(num)
test1_func()
test12_func(30)
# ===============重命名===============
# 模块重命名
import test as t
print(t.num)
t.test1_func()
t.test12_func(100)

# 变量重命名
from test import num as t_num, test12_func
print(t_num)
test12_func(9)
  1. 导入模块的原理
1)通过import或者from-import 导入模块,本质就是去执行模块中的代码
2)怎么阻止导入:将需要阻止导入的代码直接或者间接放在if-main语句中
if __name__ == '__main__':
    需要阻止导入的代码块
    
3)阻止导入的原理(了解)
每个模块都有__name__属性,这个属性的默认值是模块的名字。
当我们直接执行模块的时候,这个模块的__name__的值就会自动变成__main__

你可能感兴趣的:(Day 13-not_module)