python学习笔记

138 阅读3分钟

Python开发知识点包括:

  • 基本数据类型
  • 程序控制结构
  • 组合数据类型
  • 文件和数据格式化
  • 数据计算
  • python常用框架(django、flask)
  • python常用函数库(urlib、pandas、jieba、wordcloud ) 等相关知识

Flask

  • 面向需求简单,项目周期短的小应用
  • Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展,都需要用第三方的扩展来实现。用 extension 增加其他功能
  • Werkzeug(路由模块)
    • 路由处理:如何根据请求 URL 找到对应的视图函数
    • request 和 response 封装: 提供更好的方式处理request和生成response对象
  • 模板引擎则使用 Jinja2

什么是WSGI

  • WSGI(Python Web Server Gateway Interface)是Web服务器和Web应用程序或框架之间 提供的一种标准、简单、通用的接口

  • 为了解决python web server 乱象

    • Server/Gateway: 即是HTTP Server, 负责从客户端(Nnginx、apache、IIS)接收请求,将 request 转发给 application, 并将 application(可能是个Flask应用) 返回的response 返回给客户端
    • Application/Framework: 一个python web 应用或 web 框架接收由 server 转发的request,处理请求,并将处理结果返回给 server
def application(environ, start_response):
	...

application就是一个 WSGI app 一个可调用对象
参数 environ 一个包含WSGI环境信息的字典  例如路径信息 查询字符串
start_response 生成WSGI响应的回调函数 接受两个参数 status headers
## my_app.py

def myapp(environ, start_response):
	status = "200 OK"
    headers = [('Content-Type', 'text/html; charset=utf8')]
    start_response(status, headers)
    
    return [b'<h1> Hello World</h1>']

if __name__ == "__main__":
	from wsgiref.simple_server import make_server
    httpd = make_server("127.0.0.1", 8888, myapp)
    httpd.serve_forever()

框架对比

Django Flask torado

Flask请求流

  • 用户发送http请求 给web服务器
  • web服务器通过Werkzeug 做URL的路由分发 将每个URL请求映射到对应的视图函数
    • 路由是通过route装饰器实现
  • 调用对应的视图函数 获取数据 然后通过渲染引擎响应 将数据传回给浏览器

Flask扩展包:

Flask-SQLalchemy:操作数据库 Flask-migrate:管理迁移数据库 Flask-Mail:邮件 Flask-WTF:表单 Flask-script:插入脚本 Flask-Login:认证用户状态 Flask-RESTful:开发REST API的工具 Flask-Bootstrap:集成前端Twitter Bootstrap框架 Flask-Moment:本地化日期和时间

Django

Django功能全面,它提供一站式解决方案,集成了MVT(Model-View-Template)和ORM,以及后台管理

  • Django MTV 框架
    • M(Model):创建数据模型,并执行数据库迁移
    • T(Template):写出基本的 Django 模板,并从视图中传入数据
    • V(View):在视图中访问数据库,实现业务逻辑,渲染模板,并接入路由表

大数据知识点包括:

  • 大数据概述
  • 数据仓库
  • ETL
  • DM
  • Hadoop
  • 数据结构
  • 计算模式
  • Spark
  • Flink等相关知识

人工智能知识点包括

  • 人工智能概述
  • 知识图谱
  • 决策树
  • 神经网络
  • 自然语言处理
  • 感知
  • 正则化
  • 模型优化
  • 卷积网络
  • 线性因子
  • 结构化概率模型
  • 深度生成模型等相关知识