热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

继万字谏言后,PythonWeb怎么学,看这篇就够了!

第一时间关注程序猿(媛)身边的故事

点击上方“ 程序人生 ”,选择“置顶公众号”

第一时间关注程序猿(媛)身边的故事

继万字谏言后,Python Web 怎么学,看这篇就够了!

作者

上海小胖

简介

作者是四大咨询的TechLead,mongoDB Professional 获得者。「Python专栏」专注 Python 领域的各种技术:爬虫、DevOps、人工智能、Web开发等。

本文为作者投稿,如需转载,请联系原作者。

1.

之前那篇「 万字谏言,给那些想学Python的人,建议收藏后细看! 」得到很多后台读者的留言,表示想再来点,甚至说万字系?你知道万字有多少么?不要杠我根本没有万字!不叫万字你能看到这篇良心嘛!

那憋了3天了,今天放个web好了,相信很多读者都有关注web开发,那我们今天就来聊聊web怎么学,学什么。

2.

Python目前应用领域实在太多,这也是他这么火的原因吧,这里熄火,那边着了。

不过我认为目前Python作为应用领域来说几个方向是值得肯定的:人工智能、大数据分析、DevOps、Web、自动化测试、爬虫。

这一看,好像也差不多了么……

不过作为零基础或者刚入门Python的,你也有幸看了那篇万字后,走到了这,那我认为你的ls.py 和find.py 已经写的差不多了。接下来需要往应用方向上靠了。

那我们今天就把目光放在Web这跟线上,其他的先暂时不表,来讨论下「Python Web 如何入门及深入」。

3.

之前说的Python入门中,说的是术,是告诉大家怎么去实践,那今天要说的就是道,就是大方向。

在Python基础方向,我认为必须掌握的技能有:

  • 基本数据类型、内置数据结构

  • 函数、高阶函数、装饰器

  • 迭代器、生成器

面向对象(你可以不用考虑复杂的dunder方法,以及反射、元编程等)

以上,可能在装饰器会有问题,怎么办?跟着例子多敲几遍代码,打断点跟着解释器走几遍流程,自然就清楚怎么回事了。再不济,你print总可以吧?

由于不能给超链接,大家就自己百度谷歌一下网址吧。

学习网站:

  • Python官网

  • 廖雪峰大神的,注意一定要看Python 3.x哦!

学习参考书:

  • 笨办法学Python,在哪我都推这本书,只是因为够简单,书多了反而容易陷入误区,不如就看一本。

4.

以上基础打扎实了,接下来就来接触点Web知识,如果你要问为什么不是去学框架,原因很简单,没有九阳神功护体,乾坤大挪移只会把自己废了,看看阳教主就知道了。

所以在真正的开始Web之前就要了解点Web知识了:

  • html/css、Bootstrap

  • Javascript

  • JQuery、Ajax 、ECharts

现在大家都知道前端已经不在是以前的jquery天下了,那为什么还要学呢?因为现在我们是学Python,不是前端,没必要把精力耗在这上面,学Web是为了能出界面。

而以上这些已经够用了,JS可能成为你的砍,不过好在有Python的基础,需要习惯的可能就是JS语法和Python的差别。

那这里同样也推荐几个网站和参考书

学习网站:

  • w3school

  • 菜鸟教程

学习参考书:

  • O’Reilly精品图书系列:Javascript权威指南(第6版),我觉得一本就够了,html/css这种网上看看就完事儿了。

5.

好,到了这里,我们可以开始学习Python的Web框架了。

那作为框架来说,他会多少帮你做掉一些事情,作为新手的你,一定搜过「Python Web框架哪个好?」「Python Web框架优缺点」等等,今天就给你个痛快,别搜了,还是那句话,网上的东西太多了,甄别度低,对你帮助不大。

那接下来我就说一下我对几个框架的理解:

  • Django

Python Web框架中最全的框架,没有之一,甚至我可以说,Django拿到外面的世界,和其他语言的Web框架比一比,都能赢得很体面。

他有强大的后台,所谓的后台就是你写博客网站时的编辑界面,你做电商时候的发布平台,而这一切,只需要你启动Django项目就有了。

但是Django帮我们代理了太多太多,导致很多人看着教程走了一遍,学会了个人博客,真以为自己是绿林好汉了,结果连一板斧都没学到,问啥啥不会,就只知道写个函数,加到urls.py里,request怎么过来的,里面都有什么包,Django是怎么把响应返回的,不知道。

  • Flask

Flask是一个轻量级的Python Web框架,我个人比较喜欢,因为他的轻量,我们可以自己做很多的事情,记住了哦,轻量不是简单,只是把核心功能留住了,那你可以想一想了,作为一个Web框架,他的核心是什么?

Flask适合初学者使用, 因为你不会因为过度依赖框架,而失去自己锻炼的机会。初学,要的就是锻炼,用了Django后,你可能就会失去这项能力。

  • Tornado

一个异步框架,很显然,现在的你可能触及这个有点早了,先把同步异步,阻塞非阻塞弄清楚再来了解吧。

至于其他的一些框架诸如web2,bottle我都是不推荐使用的,倒是可以拿来看看源代码,学习一下作者的思想,这倒是极好的。

学习网站:

  • Django官网

  • Flask官网

学习参考书:

  • O'REILLY Flask Web开发

6.

最后还是建议大家有空的可以买本「Python Cookbook」看看,真的很赞,看完后总有种赞叹不已,恨自己不能把它吃了……

如果觉得这篇文章还不错,欢迎转发,让更多的学习Python的人看到~

- The End -

「若你有原创文章想与大家分享,欢迎投稿。」

加编辑微信ID,备注#投稿#:

程序 丨 druidlost  

点文末 阅读全文 ,看『程序人生』其他精彩文章推荐。

推荐阅读:

  • 只了解View的事件分发是不够的,来看下输入系统对事件的处理

  • 31位圈内大佬解读DApp困惑:“爆款”也难优秀!

  • 雷军深情告白:在我心里,武汉大学是全球最好的大学

  • 码农口述:AI创业两年,积蓄花光,重回职场敲代码

继万字谏言后,Python Web 怎么学,看这篇就够了!

print_r('点个赞吧');
var_dump('点个赞吧');
NSLog(@"点个赞吧!");
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧!\n");
cout <<"点个赞吧!" < 

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 我们


推荐阅读
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
author-avatar
北京草舞945share
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有