个人学期总结
一.个人学期总结
本学期在杜老师的带领下,进行了python的学习,在博客园发布了很多篇学习随笔,自己也对这个语言有了一定的认识。我的学习过程大概分为以下:
前期
理论授课,了解并理解管理信息系统,了解python基本的功能并让自己实现python的功能,在这个时期里,我们学习Python进行简单算数计算。了解turtle库(海龟库),在此环境中练习条件、循环、函数定义的代码敲打,并画出了五角星、同心圆、太阳花、中国国旗等。随后便学习了字符串的基本操作,学会输入字符串,输出代码计算后的结果。还学习了凯撒密码、九九乘法表等简单操作。利用python进行英文词汇统计,组合数据类型练习,用文件形式实现完成的英文词频统计、中文词频统计。利用datetime处理日期和时间,同时了解管理信息系统概念与基础,理解数据存储的方式如字典、列表、元祖、集合,以致于后来我们学习的网页制作,与这四个数据存储方式息息相关。了解到Web是图形化的和易于导航的、与平台无关、是分布式的、是动态的、是交互的。;
中期
开始网页的制作,解释代码的原理,我们开始制作web,认识html,会观察网站网址,区分组成部分,练习用标签制作简单的页面,用html制作web页面,开始制作自己的导航条(HTML头部head元素:<style> 定义了HTML大概的样式。。<script>定义一个文档和外部资源之间的调用关系。<link> 定义了一个文档和外部样式的调用关系)。练习样式表:行内样式表、内嵌样式表、外部样式表。分别练习定义三类选择器:HTML 选择器、CLASS 类选择器、ID 选择器。初步运用css做图片导航块,使用JS定义函数进行登录注册验证,完成登录与注册页面的前端,夜间模式的开启与关闭。虽然网页做的不太好看,但也逐步把自己学到的知识展现出来了。
后期
为网页增加功能,为网页增添属于自己的风格。开始做Flask项目,加载静态文件,父模板的继承和扩展,连接mysql数据库,创建用户模型,建立mysql和app的连接。通过用户模型,对数据库进行增删改查操作。完成注册功能,将界面的数据存到数据库,redirect重定向登录页。完成登录功能。登录之后更新导航,用上下文处理器定义函数,获取session中保存的值,返回字典,在父模板中更新导航,插入登录前发布器。完成注销功能,清除session。发布功能的实现,制作首页的显示列表,首页列表显示全部问答,完成问答详情页布局,从首页问答标题到问答详情页,完成评论功能,完成评论列表显示及时间排序,个人中心显示,个人中心标签页导航,完成个人中心—导航标签,实现搜索功能(包括高级搜索即搜素题目和内容都可以出现),最重要的是实现密码加密功能,在数据库显示密文,明文密码只有个人用户才清楚,还有模型分离与数据迁移,虽然我没有做这两个,但是这两个步骤使代码更简洁更有保存用户的确定状态。在后期一个阶段里,我U盘掉了我又熬夜重新做了一遍这个项目,一直从各种报错中发现细小的错误,因此我在错误中寻找,然后更好地完善这个系统内部代码。
二.总结Python+Flask+MysqL的web建设技术过程,标准如下:
Python
Python是一种面向对象的解释型计算机程序设计语言,Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
Flask
Flask是一个面向简单需求小型应用的“微框架(microframework)”,Flask选择组件的额外工作给那些使用案例不适用标准ORM的开发者提供了更多的灵活性,同样也给使用不同工作流和模版化系统的开发者们带来了灵活性。
虽然Flask历史相对更短,但它能够学习之前出现的框架并且把注意力放在了微小项目上。它大多数情况被使用在一些只有一两个功能的小型项目上。例如 httpbin,一个简单的(但很强大的)调试和测试HTTP库的项目。Flask没有bootstrapping工具的原因:没有它们的需求。从Flask主页上的Hello World特性看,没有构建Python web应用经验的开发者可以立即开始hacking。对于各部分需要更多分离的项目,Flask有blueprints。例如,你可以将所有用户相关的函数放在users.py中,然后在site.py中添加引用它们来结构化你的Flask应用。我们不会深入这个功能,因为它超出了我们展示demo应用的需求。Flask对于那些开发小项目、需要快速制作一个简单的Python支撑的网站的开发者很有用。它提供小型的统一工具,或者在已有的API上构建的简单网络接口。可以快速开发需要简单web接口并不怎么配置的后端项目使用Flask将会在前端获益,如jitviewer提供了一个web接口来检测PyPy just-in-time的编译日志。
MySQL
关于数据库,上学期我们学习了sql server,它和MySQL有一点不一样,MySQL不支持事务处理,没有视图,没有存储过程和触发器,没有数据库端的用户自定义函数,不能完全使用标准的SQL语法。 MySQL是一个关系型数据库管理系统,MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
1.初学入门者的简单教程
(1)找一本浅显易懂,例程比较好的教程,从头到尾看下去。不要看很多本,专注于一本。把里面的例程都手打一遍,搞懂为什么。
(2)最好是要有真实的项目做。比如我们现在自己做的项目。你写一个只是自己会用的博客网站也是真实项目,关键是要核心功能完整。
(3)最好能找到一个已经会python的人。问他一点学习规划的建议(上知乎也是个途径),我就是上知乎关注很多计算机大神,然后在遇到卡壳的地方找他或者其他热心网友指点。这样会事半功倍。但是,要学会搜索,学会如何更好地提问。没人愿意帮你写作业或是回答“一搜便知”的问题。
(4)写代码,然后写更多的代码。光看教程,编不出程序。从书上的例程开始写,再写小程序片段,然后写完整的项目。
(5)除了学习编程语言,也兼顾补一点计算机基础,和英语。特别是英语,我认为学好英语真的很有必要,我在学习了这学期全部课程之后,很多报错项目都是英语表示的,我每次看到错误都要去百度,真是很羞愧,所以学好英语,非常重要!
2.对自己所学知识的梳理
(1)上课认真听讲,跟着老师的步骤来操作,做笔记,不懂的就问老师;
(2)我还有大部分不懂的内容还在菜鸟教程里学到,http://www.runoob.com,很多基本的python用法都有介绍;
(3)百度,我遇到的问题网友们也会遇到,所以问题就很容易解决了;
(4)代码出错时,网页也会出现具体代码错误的地方,要认真斟酌,然后自己就可以解决了。
3.自己以后复习的向导
每周我都会打开pycharm完善我自己的代码,一直都有复习,一直都在完善,看到自己设计了一个网页,内心是很开心和很有成就感的。
总结:
跟着杜老师学习了这门语言,感觉计算机语言还是有一点乐趣的,不至于非常枯燥无味的,虽然计算机是死的,但是我们的思维是活的。总之学好基本功,需要什么,学什么。毕竟python太强大啦,你不能贪心将所有的知识都学到。学习这个课程,还是很开心的很有收获的。但是有一种语言是没有用的,想从事计算机行业,一颗好奇心和不断学习的能力是必不可少的。