资讯专栏INFORMATION COLUMN

Python学习笔记

社区管理员 / 335人阅读

入坑 Python

自从进入公司,到现在也有半年的时间。这半年的时间从 python 到入门到开发了几个小项目,类型涵盖了 web应用 程序、爬虫程序 (scrapy),python脚本工具,自动化工具。对 python 语言也越来越熟悉,当然也有所感悟和总结。首先 Python 真的让语言成 了一个工具,入门代价很小,上手能够开发出小工具,可以更快体验到编程的乐趣。但是做到pythonic 需要更多的学习和使用。

Python 可以胜任各种需求,而且对框架的依赖度不高,多熟悉 python 标准库以及常用第三方库,可以很快构建出解决方案

关于编辑器的选择以及工作流构建

从踏上编程这条路,就一直纠结与编辑器(IDE)的选择,几乎所有主流的文本编辑器和编辑器都尝试了一遍,包括 Sublime Text、 VS Code、SpaceEmacs(Emacs 的改进版)、终端 Vim、编辑器 MacVim、Pycharm 等可以说,一半的精力都在琢磨各种编辑器了, 至于孰优孰劣就不在这里讨论了,各种博客一大堆,也可以看出不止我一个人执着于此。我也不会评判“执着与编辑器”的对错与否,不过 如果有精力,那去玩一遍?只有不断实践,才能够找到自己得心应手的工具吧。

编辑器的选择本质上是对不断调整工作流,这工作流可以是纯终端,通过终端工具构建一整套命令行工作流,可能这真的很Hack,当然 也可以直接选择如 Pycharm 之类的 IDE,用别人一整套工具集也是一种不错的选择。

目前 Sublime Text 以及 SpaceEmacs 已经基本被我抛弃了,编辑器 MacVim 也是偶尔臭美用一下。python 开发主要使用 pycharm,小脚本也会通过 Vim 编辑,前端或者其他文本操作都靠 VScode。不过这里要提一下的是,pycharm 我采用的 vim 的 插件,主要编辑模式就是 Vim 模式。

虽然这三个工具还没完全吃透,但如果没有特殊的情况,这应该这就是我的工作流。不过我建议的话,我觉得就是自己的 pycharm+VScode+vim的工作流了,无论纯开发还是 DevOps 都能轻松驾驭。

关于代码开发规范

代码规范,python 是动态语言,在模块/包正确导入的前提下,它允许任意组织你的代码结构。而鄙人深受框架所害,如 spring 以及 spring boot 等分层框架,觉得那样的代码看着都神清气爽,能给他分开,就给它分开!看着必须清爽,这是我的原则。python 的 代码规范以及工程结构没办法统一,不过还是可以参照一下几个指导,并在实践中不断践行它。

  • PEP8(Python Enhancement Proposals/python 增强建议书):官方规范,由于过于啰嗦我也没有完整读过????。

  • Google python 开发规范:大厂出品,必属精品!主要内容包括python语言开发一些建议,包括如何组织你的导入,字符串处理时如 何选择使用‘+’号还是字符串格式化还是通过 john,如何注释等,很短可以反复看。

  • The Hitchhiker’s Guide to Python:如何让你的 python 代码更加优美,提高代码的可读性。必须读一遍。

  • image.png

行动起来

编码能力提高还是要通过不断的编码才能提高,切勿纸上谈兵。对于刚入门的新手,由于无法从项目上手,所以可以通过一些专业的代码 练习网站快速上手,当然国内如leetcode,牛客很多人都很熟悉,但是这些网站往往偏向的是算法、数据结构,而不面向单个语言, 通过这类网站练习,往往效率很高。

这里推荐HackerRank,这个网站的交互和设计很棒,支持VIM编辑模式,最重要的是通过这个网站python专题的练习,你能更加 领会到python这门语言特有的思想,而不需要花费太大经历在算法上。如果你需要算法的练习,那你也可以试试算法专题练习。

遇到问题如何处理

代码报错,怎么办?百度、Google、文档、笔记…这些都是解决方案,没有优劣之分,遇到国内源以及编码问题时,百度才是王道。 不过需要认真考虑和总结的是,应该遵循一个怎样的流程去处理?上来直接啃官方文档,没错你的问题 99%会得以解决,不过通过文档搜 索,对于现在的很 low 的我效率还是很低。所以我会不断改进自己处理问题的流程。 现在基本上是这个流程:首先回顾笔记—-Goo gle(百度)—–文档。 可能我对笔记和文档会更加重视,虽然这并没有错,不过还是有一定的弊端,比如遇到一个问题就去系统的看 它的文档,然后做记录,看着看着又遇到一个问题,于是又去看它的文档…最后场景的就是,chrome 打开一大堆页面,舍不得关闭 ,自己一开始的问题都忘了。这种由于缺乏目的性的学习,效率会很低。


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/127920.html

相关文章

  • ApacheCN 人工智能知识树 v1.0

    摘要:贡献者飞龙版本最近总是有人问我,把这些资料看完一遍要用多长时间,如果你一本书一本书看的话,的确要用很长时间。为了方便大家,我就把每本书的章节拆开,再按照知识点合并,手动整理了这个知识树。 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1760&h=200); 贡献者:飞龙版...

    刘厚水 评论0 收藏0
  • SegmentFault 技术周刊 Vol.30 - 学习 Python 来做一些神奇好玩的事情吧

    摘要:学习笔记七数学形态学关注的是图像中的形状,它提供了一些方法用于检测形状和改变形状。学习笔记十一尺度不变特征变换,简称是图像局部特征提取的现代方法基于区域图像块的分析。本文的目的是简明扼要地说明的编码机制,并给出一些建议。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 开始之前,我们先来看这样一个提问: pyth...

    lifesimple 评论0 收藏0
  • ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.6

    摘要:请回复这个帖子并注明组织个人信息来申请加入。权限分配灵活,能者居之。数量超过个,在所有组织中排名前。网站日超过,排名的峰值为。导航归档社区自媒体平台微博知乎专栏公众号博客园简书合作侵权,请联系请抄送一份到赞助我们 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1760&h=...

    Bmob 评论0 收藏0
  • 学习笔记 | HTML 基本结构和基本标签 ——前端学习第一步!

    摘要:基本结构语言中,一个页面是由四个部分组成文档声明标签对标签对标签对图示文档声明这是一个文档声明,表示这是一个页面。标签标签表示页面内容的范围。 HTML HTML ...

    sPeng 评论0 收藏0
  • ApacheCN 学习资源汇总 2019.3

    摘要:主页暂时下线社区暂时下线知识库自媒体平台微博知乎简书博客园合作侵权,请联系请抄送一份到特色项目中文文档和教程与机器学习实用指南人工智能机器学习数据科学比赛系列项目实战教程文档代码视频数据科学比赛收集平台,,剑指,经典算法实现系列课本课本描述 【主页】 apachecn.org 【Github】@ApacheCN 暂时下线: 社区 暂时下线: cwiki 知识库 自媒体平台 ...

    array_huang 评论0 收藏0

发表评论

0条评论

社区管理员

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<