python+flask+做了些什么+实现了什么+对哪些知识得到了巩固与提高
1个回答
关注
展开全部
亲,你好,很高兴为您解答,python+flask+做了些什么+实现了什么+对哪些知识得到了巩固与提高是简单来分享一下我的观点,相对我来说,它是重要的,因为我是初学WEB;flask是轻量级的WEB框架,总结了以下四点来初步了解一下,:1、它是使用 Python 编写的轻量级 Web 应用框架。2、其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。3、核心简单,用 extension 增加其他功能。4、Flask没有默认使用的数据库、窗体验证工具。在python中我们常用的两个WEB框架是:Django和flask;Django是一个重量级的选手,我看了一些教程,还是一头雾水,所以对于新手和初学者来说,比较难上手,flask就不同了,它能很大程序上帮助我们去全面了解WEB,同时对初学者对PYTHON本身的掌握,也起到了很大的重使用,找了一些资料,分享一下老手们是怎么看的:(1)面向对象编程(Object-Oriented Programming, OOP)相信绝大多数人都接触过OOP,比如使用Java, Python, Go等。在Flask中,涉及基础OOP的概念,包括对象、类、继承、封装等。(2)python基础Flask中涉及简单python概念,包括模块、包、装饰器、模块等。(3)命令行基础大部分的开发都绕不开命令行,Flask同样要求基础命令行操作,例如上传服务器、查询文件、修改配置文件等。(4)数据库基础web开发会产生数据管理的问题,虽然可以使用非数据库的方式搭建静态网页,但从长远来看将,掌握一门基础的数据库工具是很有必要的。比如结构化数据库Mysql, Postgresql,非结构化的MongoDB, Redis等。(5)前端基础虽然搭建网站主要是后台逻辑编写,但今天越来越多的人在意前台展现,因此Flask除了后台python语言的要求外,还要求掌握基础的html, JavaScript, CSS。(6)版本控制(增强)版本控制是所有程序开发的基础,了解基础的版本控制可以大大提高开发的效率。掌握基础的git技能会提高Flask网站开发速从以上这些分享来看,就足以证明它是重要的
咨询记录 · 回答于2022-11-01
python+flask+做了些什么+实现了什么+对哪些知识得到了巩固与提高
亲,你好,很高兴为您解答,python+flask+做了些什么+实现了什么+对哪些知识得到了巩固与提高是简单来分享一下我的观点,相对我来说,它是重要的,因为我是初学WEB;flask是轻量级的WEB框架,总结了以下四点来初步了解一下,:1、它是使用 Python 编写的轻量级 Web 应用框架。2、其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。3、核心简单,用 extension 增加其他功能。4、Flask没有默认使用的数据库、窗体验证工具。在python中我们常用的两个WEB框架是:Django和flask;Django是一个重量级的选手,我看了一些教程,还是一头雾水,所以对于新手和初学者来说,比较难上手,flask就不同了,它能很大程序上帮助我们去全面了解WEB,同时对初学者对PYTHON本身的掌握,也起到了很大的重使用,找了一些资料,分享一下老手们是怎么看的:(1)面向对象编程(Object-Oriented Programming, OOP)相信绝大多数人都接触过OOP,比如使用Java, Python, Go等。在Flask中,涉及基础OOP的概念,包括对象、类、继承、封装等。(2)python基础Flask中涉及简单python概念,包括模块、包、装饰器、模块等。(3)命令行基础大部分的开发都绕不开命令行,Flask同样要求基础命令行操作,例如上传服务器、查询文件、修改配置文件等。(4)数据库基础web开发会产生数据管理的问题,虽然可以使用非数据库的方式搭建静态网页,但从长远来看将,掌握一门基础的数据库工具是很有必要的。比如结构化数据库Mysql, Postgresql,非结构化的MongoDB, Redis等。(5)前端基础虽然搭建网站主要是后台逻辑编写,但今天越来越多的人在意前台展现,因此Flask除了后台python语言的要求外,还要求掌握基础的html, JavaScript, CSS。(6)版本控制(增强)版本控制是所有程序开发的基础,了解基础的版本控制可以大大提高开发的效率。掌握基础的git技能会提高Flask网站开发速从以上这些分享来看,就足以证明它是重要的
Scheme解释器基本结构
一个五百行的C语言文件,实现了一个最基础的Scheme解释器。具有除掉之外所有的语言特性。此外没有垃圾收集模块,没有释放任何内存,因为我的目标不是写一个完备的Scheme解释器。基本上是想到哪写到哪,没有多少注释但是变量名都比较幼稚,适合一口气从头读到尾。写一个解释器不仅仅是对初级编译原理知识点的总结和运用,更是将自己培养为代码、程序乃至编程语言的设计师路上必经的一步。比如我不喜欢一个过于复杂的词法结构,希望词法分析器对应的函数不要超过100行,那么就取消了布尔值字面量,只要在标准库里加两句话:也就行了。那么对应的,我也可以把内建函数的数量降至最少,比如对布尔值的或与非操作就可以用普通的函数实现:但是表达“空值”的呢?这个值是必要的,对于一些不应当返回任何值的函数和特殊形式(比如所有的断言都为假),必须依赖以维持“一切都是表达式”的原则。因此这个值就要对应着一个解释内部的类型,那么我们要怎样生成这个值呢?一种策略是把它写进词法分析器,还有一种策略是用一些看起来不那么“直观”的方式,比如:这当中的取舍完全取决于语言的设计者,也就是解释器的编写者。站在语言的使用者的对立面进行一定的思考,对于理解其他语言中的设计有好处。标准的Scheme中“钦定”了以列表作为其基础的也是唯一的复合数据结构,比如的结果,是可以像普通的、用构建起来的列表一样,用和进行操作的。但我们完全可以创建新的数据结构,甚至用别的数据结构替换之作为基础数据结构。这是一个与语言提供的“编程模型”息息相关的特性。比如说,你可以提供一组内建函数,对可以随机读写的数组进行封装,那么恭喜你,你写的已经不是LISP了,而是一种新的,应当被成为ARRAP(array processor)的语言的解释器。再比如说,你完全可以用普通函数定义如下一套使用Church编码的列表:使用这一套接口创建的列表和Scheme通过创建的列表是不“兼容”的。它们有什么区别?如何提供合适的,使它和的返回值可以使用一套接口操作?这都是很值得思考的问题。接下来我计划在这个五百行程序的基础上添加和一个读取文件的内建函数,然后用Scheme写成一个从Scheme编译到汇编的编译器完成自举,欢迎围观。