沈阳网站制作 房小二网,wordpress免登陆发布接口,中铁招标在哪个平台,为什么无法安装wordpress1. 模块和包
1.1 模块#xff1a;
一个 py 文件#xff0c;就是一个模块#xff0c;文件中包括定义的函数和类等信息。
尽管可以 import 多次#xff0c;实际上模块只导入一次
模块搜索路径内存中已经加载的模块 - 内置模块 - sys.path路径#xff08;导模块的…1. 模块和包
1.1 模块
一个 py 文件就是一个模块文件中包括定义的函数和类等信息。
尽管可以 import 多次实际上模块只导入一次
模块搜索路径内存中已经加载的模块 - 内置模块 - sys.path路径导模块的环境变量中包含的模块
导入模块 将整个模块导入 import 模块名 导入所有函数 from 模块名 import * 从模块中导入某个函数 from 模块名称 import 函数1(, 函数2...) 也可以是属性
使用区别 import 模块名
form 模块名 import *
调用模块函数(属性)时的格式是 模块.函数属性)
from 模块名 import 函数名(属性名)
可以直接使用无需添加模块名
1.2 包
当一个目录内含有 __init__.py 文件时就可以视该目录为一个包一个包由多个文件构成。
导入包 导入包名
# import 包名
from xxx import requests
从包里面导入方法
# from 包名 import 方法/对象
from requests import get
从包的文件里面导入对象
# from 包名.文件名 import 方法/对象
from requests.api import get
1.2.1 __init__.py 文件
该文件可以表示该目录是一个包内容可以为空第一次导入包或者是包的任何其他部分实际就是导入该文件。
因此我们在该文件中导入需要的模块(别人在导入包的同时也就导入 __init__.py 文件中的模块)这样在使用时用户感觉可以将这个包当作模块使用而不关心其背部结构。
例如requests 包中的 __init__.py 主要文件内容如下
from . import utils
from . import packages
from .models import Request, Response, PreparedRequest
from .api import request, get, head, post, patch, put, delete, options
from .sessions import session, Session
from .status_codes import codes
from .exceptions import (RequestException, Timeout, URLRequired,TooManyRedirects, HTTPError, ConnectionError,FileModeWarning, ConnectTimeout, ReadTimeout
) 其他模块在导入时就可以简单的使用不用关心其内部结构使得导入包 向导入模块一样简单)
1.2.2 特殊变量__all__
__init__.py 不仅仅用来导入模块其本身也可以加入代码其中存在特殊变量 __all__ 该变量是一个列表列表中以字符串的格式存放变量或者函数在执行 form 包 import * 时导入该列表内容。示例
# filename: a.py
__all__ [add]def add(a, b):return a bdef sub(a, b):return a - b
from a impory * r add(1, 2)
print(r)
r sub(1, 2)
print(r)
1.2.3 相对路径导入
在 requests 目录结构中__init__.py 和 api.py 在同一目录下因此在 __init__.py 文件中想要导入 api.py 文件可以使用相对路径也就是使用linux系统中的 .(本目录) 和..(上级目录)并且只能在一个目录中使用不能用于不同目录内
2. 包与框架
2.1 包库
python 的包只实现一个单一的功能。例如 random 库只实现了随机函数re 实现了正则提取的方式requests 实现了网络请求lxml 实现了提取网页数据的功能。
2.2 框架
2.2.1 scrapy爬虫
实现了一整套的爬虫解决方案。从发送请求requests到数据解析re、xpath、css选择器再到数据保存csv、json、pickle。同时还有非常强的拓展性。支持配置请求中的参数修改处理数据的方式以及对接其他的数据存储msyql、redis、mongodb。 2.2.2 flaskweb 框架
实现了基本的路由处理 http 请求、与模板html网页。同时还有支持拓展数据库管理flask-sqlalchemy、权限管理flask-login、restfull拓展flask-jwt。
2.2.3 数据分析
数据分析暂时没有框架主要由各种库构成。numpy、pandas、matplotlib。同时还有sk-learn、scipy 数据挖掘库
TensorFlow 是一个人工智能框架主要是封装了以上一个库。