本文是一位程序员的Python学习心得分享,对于新手来说,如何快速入门始终是个难题。今天我们就来看看他的心得体会,相信会对你有所启发。

本人使用Python语言将近2年了,这2年的时间就是我自己被Python慢慢侵蚀和折服的2年。

因为从大学开始就一直接触C语言,也做过一些项目,所以在有一定的编程思维和逻辑的情况下,接触了Python。我自己深深懂得C/C++语言的逻辑严密性和编码复杂度,尤其想要写出高质量的C代码,更是难上加难。

这里也向大家推荐一本关于C/C++大神修炼的书《高质量C++》--林锐。但是,Python简直就是程序员们的福音,它提供了大量方便的标准库函数,还有第三方库及开源插件,举例来说:“AES加密”、“GreyLog”、“Django框架”等等......如果大家有兴趣的话,大家可以把这些Python提供的现有模块,在网上搜索一下,C/C++语言是如何实现这些功能的,绝对让你大跌眼镜,不得不被Python的强大所折服。

好了,表达完我对Python滔滔不绝的仰慕之情后,接下来说说我这两年对于Python学习和使用的一点心得。

一、Python基础入门

可能对于这个标题,大家可以在网上一搜一大把的信息,什么基础语法、环境搭建、变量类型、运算符,还有条件语句,blur,blur,blur......如果大家有一定的语言基础,比如在大学里学习过C语言的话,这些都不是问题,不过还请大家不要怪我啰嗦,这里还是要给一些没有任何语言基础,或者把大学里的知识老早就还给了老师的同学们一点学习的建议。

1、想要了解一门语言,一定要上手练习。

不妨按照网上搜索到的资料安装部署一套自己的Python开发环境,

并按照这些资料所说的一步一步的调试出一些小程序来,俗话说,熟能生巧,用的多了,也就理解这些基础语法了;

2、对于Python不得不了解一个概念,那就是“一切皆对象”。

老生常谈,如果你有C++的基础,那么这个概念就难不倒你,但是如果你还没有这个概念,那建议亲去看看网上的教程,亲自调试,亲自感受;

3、大家有事没事去各大论坛或者网站学一学Python有什么好用的第三方插件或者功能模块,比如:MySQLdb、Py2exe、BeautifulSoup及PyQuery等等......

这些实用的功能库,在大家以后的实战演练中一定能发挥重要作用。

4、另外,给大家推荐两本基础知识加固神器,《Python Cookbook(第2版)中文版》,《Python自动化运维 技术与最佳实践 [刘天斯著][机械工业出版社]》。

二、Python网站框架

1、Django的应用

Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站!用python的类继承,几行代码就可以拥有一个丰富,动态的数据库操作接口(API),如果需要你也能执行SQL语句。Django 框架的核心组件有:用于创建模型的对象关系映射;为最终用户设计的完美管理界面;一流的 URL 设计;设计者友好的模板语言;缓存系统。

另外,推荐一个搭建简易Django网站框架的网址:

http://www.cnblogs.com/hongten/p/hongten_django_first_app.html

最后,分享一些个人认为项目开发中的重要知识点:

settings.py中有一些重要的基础配置,如数据库配置,是否采用csrf_token等;

django使用session前,需要在项目跟目录下,执行:python manage.py syncdb,;来创建Session存储表结构;

django调用前端的一些方法:①模板引擎约定的 {{ 变量 }}, {% 代码段落 %} 表示方法;在

显示表单:②{};③{% csrf_token %}

使网页可以通过csrf认证;

每个浏览器中只记录一套session信息,所以当同一个浏览器登陆不同用户时,session只会记录最后登陆的用户信息;

可以采用Ngnix搭载Django实现高并发与系统稳定。

2、Tornado的应用

Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架。

我们开发这个Web 服务器的主要目的就是为了处理 FriendFeed 的实时功能 ——在 FriendFeed 的应用里每一个活动用户都会保持着一个服务器连接。

推荐网址:https://segmentfault.com/a/1190000002703321

个人认为,Tornado相对于Django访问数据库的速度是慢了一些,因为Tornado是单线程的,这意味着如果数据库查询返回过慢,整个服务器响应会被堵塞。所以在没有特别高并发的浏览访问的情况下,还是推荐先从Django学习入手。

3、Flask的应用

这是一个轻量级的 Web 应用框架,Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。

推荐网址:http://www.pythondoc.com/flask-mega-tutorial/index.html

个人认为,Flask更适合于小项目的快速开发,但是坑比较多,对你基础知识的掌握是个考验。

三、项目经验

首先要和大家说明一点,我这两年来做的一些项目都涉及到了公司内部的机密信息,所以就不能在github里和大家分享代码了。不过我接下来可以和大家交流一下开发心得。

项目开发中,个人认为最重要的事情就是需求的整理和设计文档的编写。按照我自己的经验来说,如果一个项目需要花费三个月的时间,那么需求的整理和设计文档的编写,起码要占用一个月甚至一个半月的时间。

1、需求分析

在需求分析阶段,我们要做的事情就是大量走访系统的使用客户,了解清楚他们有哪些需求点?对于每一个需求点到底有哪些使用场景?各种场景是否有一些极端情况?诸如此类问题,我们参与项目的每个人都要心知肚明,尤其对于项目负责人,更是要在心中了如指掌。了解清楚这些需求点互相之间的关联,修改或者调整其中一个功能是否会影响整个项目。

另外,对于一个项目的资源分配问题,我认为,一定要让不同模块的负责人都十分清楚客户的需求点,尽量让每个人知道自己负责的模块对整个项目的作用和影响。个人先前的经历,就是蒙头做自己的东西,做完了也不知道到底有什么作用(大家有没有同感呢?)。

2、项目设计

如果大家有机会的话,尽量多多参与项目的设计中。这对于个人把控整个项目的能力是一个极大的提升,另外对个人逻辑思维也是一种锻炼和挑战。讲真,对整个项目结构把控的能力需要在实战中慢慢提升,不是一朝一夕的事情,也没有什么武功秘籍。但是对于项目设计的一些流程,我还是有经验可以和大家分享一下的。首先,需求分析要做好;其次,从数据库设计入手来设计项目架构,从客户使用场景,模拟出数据流传输的流程;

另外,设计文档要标准规范,能画图的流程尽量不要写字;最后,及时与客户和组内人员沟通设计流程的可行性,与实施方案的高效性。

3、代码编写

具体的代码的编写,大家可以参考Goole提供的Python代码规范,链接奉上:http://www.elias.cn/Python/PythonStyleGuide?from=Develop.PythonStyleGuide(希望大家多多练习,注意规范)。好的编程习惯和风格,是减少后续代码调试甚至返工的有效利器。我认为好的代码编写规范要做到三点:统一规范,逻辑简洁,注释充分。举个反例,如果一开始写代码就没有写好注释,后来调试的时候,自己都不知道代码的含义是什么了,这是非常头疼的。

4、测试

测试是一件非常考验耐力的事情,需要把每一个功能点都测到位,即便是很极端的情况,也要造出一些数据来测试,也正是这一点会使得执行测试工作的人员非常烦躁。

但是这样一份令人烦躁的工作,恰恰保证了后续系统上线的稳定性。不过话又说回来,我们开发一个项目不能总是依赖测试来发现问题,所以之前所说的良好的代码编写规范和习惯,就是避免BUG的一种很好的方法。另外,从代码的角度来讲,要想把测试做到位,就要把代码里的每一个if语句都跑一遍。

5、交付上线

如果上述步骤都能做好,那么交付使用的话,就会很顺利了,否则,你懂得。

6、系统维护

首先版本控制一定要做好,这对问题排查和系统恢复有着很重要的作用;另外,要及时主动的搜集客户反馈,做好BUG修改和系统优化。

python编程入门电子书下载-Python编程基础如何快速入门?“附电子书下载”相关推荐

  1. python编程基础语法-Python编程基础语法快速入门

    1. 课程咨询加老师助理微信:助理1微信: chenjinglei88 ,助理2微信: omf6757 2. 决定购买并想得到陈敬雷老师亲自指导(课程或自己项目难题均可)加老师微信: chenjing ...

  2. 零基础编程入门python视频-Python编程零基础小白快速入门完整全系列精品课

    1. 课程咨询加老师助理微信:助理1微信: chenjinglei88 ,助理2微信: omf6757 2. 决定购买并想得到陈敬雷老师亲自指导(课程或自己项目难题均可)加老师微信: chenjing ...

  3. python编程语法教程-Python编程基础语法快速入门

    1. 课程咨询加老师助理微信:助理1微信: chenjinglei88 ,助理2微信: omf6757 2. 决定购买并想得到陈敬雷老师亲自指导(课程或自己项目难题均可)加老师微信: chenjing ...

  4. 【Python基础】快速入门Python(讲解、习题)

    0.导语 Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的 ...

  5. thinkph 上花院 生多行mysql_PHP_ThinkPHP3.1基础知识快速入门,在当今众多的MVC框架中,ThinkPH - phpStudy...

    ThinkPHP3.1基础知识快速入门 在当今众多的MVC框架中,ThinkPHP是一个快速.简单的基于MVC和面向对象的轻量级PHP开发框架,其遵循Apache2开源协议发布,自从诞生以来一直秉承简 ...

  6. Linux 基础命令快速入门

    Linux 基础命令快速入门: 目录 Linux 基础命令快速入门: 1.vim 命令记录 2.开机.重启和用户登录注销 3.用户管理 4.用户组相关 5.用户信息文件 6.实用指令 7.帮助指令 8 ...

  7. 想成为淘宝美工需要学什么?零基础怎么快速入门?

    本文由:"学设计上兔课网"原创,图片素材来自网络,仅供学习分享 想成为淘宝美工需要学什么?零基础怎么快速入门?最近就有不少小伙伴私信小编,大多是问淘宝美工需要掌握哪些知识?新手要如 ...

  8. c语言快速入门ppt,[计算机软件及应用]C语言快速入门.ppt

    [计算机软件及应用]C语言快速入门.ppt 第2章 C语言快速入门,程序设计语言C,本章学习内容,标识符命名: 数据类型.变量和常量: 常用运算符和表达式: 基本输入输出: 过程控制结构(顺序.选择. ...

  9. 零基础如何快速入门python(学习路线)

    目前Python这门语言在人工智能.机器学习.大数据.数据分析.网络爬虫等... 领域有了比较高的地位,可以说前景是非常好的,在编程领域也是非常适合作为兴趣培养的一门语言,相比较其他不少主流编程语言, ...

最新文章

  1. 找到二叉树中的最大搜索子树
  2. IOS基础之Foundation框架常用类NSFileManager,DSDate,CGPoint,CGSize,copy,单例
  3. 作者:​邵蓥侠(1988-),男,博士,北京明略软件系统有限公司技术经理。...
  4. 无心剑随感《程序人生乐无穷》
  5. mysql判断不为null
  6. Vscode ROS 环境搭建
  7. cin、cin.get()、cin.getline()、getline()、gets()等函数的用法 (转)
  8. Ruby完全自学手册
  9. 用python的tkinter做游戏(九)—— 坦克大战 正式篇
  10. 深度学习之CNN反向传播
  11. 利用色彩范围和钢笔工具抠图
  12. 计算机设计大赛英语怎么说,全国大学生计算机设计大赛国赛参赛指南
  13. 变换元素transform和过渡元素transition混合使用
  14. 【毕业设计】 单片机自动写字机器人设计与实现 - 物联网 嵌入式 stm32
  15. 2017双11技术揭秘—双十一海量数据下EagleEye的使命和挑战
  16. SAP idoc功能够强大: 采购订单下达自动触发销售订单创建
  17. 天呐!java兼职接单
  18. 相册里的WEB3 Festivals香港记忆
  19. 免费在线!!!多PDF合成一个PDF
  20. AM Best将中国再保险(集团)股份有限公司及其子公司的发行人信用评级展望调整为正面,并确认中国再保险(香港)股份有限公司的信用评级

热门文章

  1. Linux常用服务安装部署
  2. 使用span标签为文字设置单独样式
  3. stl_config.h基本宏
  4. asp.net select Case条件语句的使用方法
  5. [原创]浅谈持续集成在测试中的应用
  6. Shader Compilation for Multiple Platforms
  7. python读数据-如何用Python读取开放数据?
  8. python完全新手教程-Python完全新手教程
  9. 小学生学python到底能干什么-小学生都学Python了,你还没用万矿?
  10. python基础看什么书-2020年入门Python,这7本书一定要看!