Python模块(-)
模块
模块就是一个保存了Python代码的文件。模块能定义函数,类和变量。模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。模块里也能包含可执行的代码。模块也是Python对象,具有随机的名字属性用来绑定或引用。模块让你能够有逻辑地组织你的Python代码段。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
1.模块的引用
在Python中用关键字import来引入某个模块,比如要引用模块os,就可以在文件最开始的地方用import os来引入。在调用os模块中的函数时,必须这样引用:
import os x = os.getcwd() #模块名.函数名 print(x)
有时候我们只需要用到模块中的某个函数,这时候我们只需要导入该函数即可:
from 函数名 import 函数名1,函数名2,函数名3
2.自定义模块
在python有允许自定义模块,每个python文件都可以作为一个模块。模块的名字就是该文件的名字。
比如有文件test.py定义了abc这个函数:
#test.py
def abc(x): print(x)
那么我们在其它文件中我们就可以通过import test,然后通过 test.abc(x)来调用了。当然你也可以只导入abc这个函数, 使用from test import abc来导入。
3.导入模块时会作哪些操作
先看下面的例子。
现在有一文件 index.py:
#index.py
def abc(x): print(x) abc('test')
在test中导入该模块:
#test.py
import index
运行test.py时会输出 test,也就是说在导入模块时,会将模块文件中的所有代码 执行一遍,但是只有在第一次导入该模块时才会执行此模块文件中的代码。
JSON数据解析
Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数:
- json.dumps(): 对数据进行编码。
- json.loads(): 对数据进行解码
例:python将数据转换成JSON
import json # Python 字典类型转换为 JSON 对象 data = { 'no' : 1, 'name' : 'Runoob', 'url' : 'http://www.runoob.com' } json_str = json.dumps(data) print ("Python 原始数据:", repr(data)) print ("JSON 对象:", json_str)
运行以上代码,输出结果为:
Python 原始数据: {'url': 'http://www.runoob.com', 'no': 1, 'name': 'Runoob'} JSON 对象: {"url": "http://www.runoob.com", "no": 1, "name": "Runoob"}
我们也可以将一个json字符串转换成python数据结构:
#!/usr/bin/python3 import json # Python 字典类型转换为 JSON 对象 data1 = { 'no' : 1, 'name' : 'Runoob', 'url' : 'http://www.runoob.com' } json_str = json.dumps(data1) print ("Python 原始数据:", repr(data1)) print ("JSON 对象:", json_str) # 将 JSON 对象转换为 Python 字典 data2 = json.loads(json_str) print ("data2['name']: ", data2['name']) print ("data2['url']: ", data2['url'])