深入学习Python ,用Django做Web后端开发
现在Python的用途愈来愈广,服务器、Web、游戏、爬虫、数据分析 以及人工智能 学习之路还很长
技术之路 不能回头 陷进去 就出不来 就跟恋爱一般,
学习中、项目中 印象笔记、有道云笔记、Onenote都记了好多
有朋友说,记的笔记一直放在那里会发霉、会忘记;
写写博客、偶尔自己看看、记录自己的成长、同时也算一种分享
Python属于 面向对象 解释型 高级动态计算机程序设计语言
了解一门语言 当先了解它的整体架构、基本语法、内置数据结构、内置函数、标准库以及运行模式、编程模式等。
1、Python总体架构
Python的整体架构可以分为主要三个部分:
左边是 Python提供的内置模块 库 及用户自定义模块
右边是Python的运行环境,包括对象/类型系统、内存分配器、运行状态信息
中间是Python的核心 解释器。Python运行时的数据流 词法分析、语法分析、编译、执行
常用标准库
下面是在逛CSDN每天都被灌的鸡汤,总结一下缺养时可以补补:
编程之久除了算法和数据结构,什么也不属于我们。
编程就是算法和数据结构,算法和数据结构是编程的灵魂。
编程中最没用的东西是源代码,最有用的东西是算法和数据结构。
算法和数据结构是程序的第一秘诀,缺之算法和数据结构是编程的最大原因。
算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。
尽管少写那么多代码,但省下来的时间又在哪里呢?
代码是程序员的朋友,虽然没有热情,但是非常忠实。
当你还不能写出自己满意的程序时,你就不要去睡觉。
有些代码不应该被忘记,也没有源代码不应该被记住。
对代码不满足,是任何真正有天才的程序员的根本特征。
有编过程的人的代码,比那些无知的人使用的软件更有价值。
编程是一种美德,是促使一个人不断向上发展的一种原动力。
程序员的一生时间90%是用在编程上,而剩余的10%是活在世界上。
程序员之所以犯错误,不是因为他们不懂,而是因为他们自以为什么都懂。
调试的错误就是编程给你最好的东西,因为在每个错误上面都标志着前进的一步。
假如编程易懂得,那么程序员就不会热情地写出注释,也不会有得到编程的快乐。
代码是最为耐心、最能忍耐和最令人愉快的伙伴,在任何艰难困苦的时刻,它都不会抛弃你
由于Python的简洁 易读 强大 高效 现在Python应用在文件处理、网络编程、数据库编程、游戏、Web开发、数据分析、机器学习等各个领域。
就Web开发而言,为了提高开发效率,应运而生了很多框架,如Django、Flask、Tornado、Web2py等。
框架很多,根据业务需求、选择适合的框架。
1、Django
最早接触Django,在我心中的形象是:Web框架界的变形金刚
Django的MVT架构、自带ORM、强大的Admin后台管理、自带数据库、还自带开发测试用的服务器、不得不说服务周到。
如此大而全,重量级的Django给开发者提供了超高的开发效率。
淌着Python血液
MVT三大轮子 连接浏览器 数据库开跑
一身装备 可变形 可扩展
多领域 跨平台 协调作战
自我测试 自我管理 自我保护
友好 开放 国际化
比如:富文本编辑器 缓存 全文检索 celery等
Django项目布署 用nginx做静态资源代理、负载均衡 可以提高高并发能力。
一些Web项目开发 无论用户量、服务群体、上来总谈高并发。没用户 天天愁高并发问题 还没解决也许项目已经黄了。
项目有了、业务有了、用户有了、性能优化、高并发顺势解决嘛。
当然一些大型网站,在高性能的要求下,框架的各个部分往往都需要自己定制,这样用Django也就没有太大优势。
2、Falsk
相较于Django ,Falsk属于轻量级Web框架,也称‘microframework’。
Flask一个简单的核心,基于Werkzeug WSGI工具箱和Jinja2 模板引擎。其他功能开发者根据业务需求 与喜好 添加。
如此 Falsk 自由、灵活、可扩展性很强。很适用于开发小型应用、开发大型网站也没有压力,自己设计架构、选择合适第三方扩展,各方面性能完全不输Django。
常用拓展包:wtf、sqlalchemy、login、script、migrate、mail
3、Tornado
传说中实现高并发、高性能的框架。Tornado的全称是Torado Web Server,可用作Web服务器,同时也是一个Python Web的开发框架。
Tornado两大核心模块: