欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Python 有哪些入门学习方法和值得推荐的经典教材?

程序员文章站 2024-04-03 08:50:28
...
刚刚入门python 希望大家帮助

回复内容:

我刚学python3个月不到,分享一下我的学习经验。
半年前从某大牛同学那里听说了python很不错,一直想学习,不过自己很懒,就没动手。
今年寒假的时候,我和几个同学开始筹划着搞一个网站,讨论用什么写的时候,我想到了python。(最终我们就是用了python,然后使用了web.py的框架)。
寒假里面我看的第一本书是《python基础教程》,也是那个某大牛推荐给我的,这本书从python的基础讲起,省略了一些太细节的或者说太神奇的python特性,关注python的应用。那上面最后有几章python的开发案例,很有借鉴意义。
我用python写的第一个程序是金山快盘的签到程序,参考了部分别人的代码,当时对很多python库都一无所知,从那时才开始用起来的。
然后开学了,趁着手熟,正好要选课,我用python完成了自动抢课的一个小程序,默默开了两周,真抢到课了但是我又不想上了就退了=。=
然后网易来交大校招暑期实习,当时一热血,我报了python的岗,考了笔试。这次笔试成为了我一个巨大的转折点,我发现我什么都不会(真心很捉急啊,其实才学了1个月,自以为很牛真去考了)。列表推导式,lambda表达式,装饰器...等等无数我基本处于空白阶段,我感觉我写python跟写C一样,无比丑陋,一点pythonic的样子都没有。
然后我就不开心了,又是快一个月,我一有空就去github或者python社区看别人写的代码,思考别人的经验,这一段时间整理了好几篇博客,都是有关python的。有人说,学习多少编程语言不重要,如果一门新的编程语言改变了你的思考方式,那才是真正学到了。我第一次开始有追求漂亮的很酷的代码的欲望,所以我学着研究python里面不同于C的特性,向函数式编程什么的,然后去使用它。比如现在时不时我会把一段代码用map/reduce实现,时不时我会使用python的迭代器,生成器。总之这一段时间,我的学习是通过首先观察别人简洁的代码和风格,然后自己去研究python的特性,然后动手去实现去应用。
这一段时间我抽空也会翻一翻python的《cookbook》,上面有很多小问题的solution,很有借鉴意义。
我自己感觉现在我用python作为平时的工具已经熟练了,下面的阶段我是想多研究一下面向对象这一块的东西。其实像python我觉得入门了,就不需要别的书了,直接去看document会更好,上面都是很全面很标准的一些东西。之后多写多练,搞一些小程序,学习一些常见的库,用好python基本就没问题了。多练很重要,除了小程序,python有不少做网站的开源框架,学习一个做一个网站也不错。
python是一个快速发展的语言,还在不断变化,如果热爱python可以多去各种社区看看最新的消息。如果只是作为一个工具的话,用好了也是很happy的,库很多很方便,基本上可以完成任何你能想到的工作,特别是很多的工作拿C实现很麻烦的,python就很方便。我最近在搞一个学校里面的邮件处理的项目,统一一个邮箱,老师们有通知就发到那个邮箱,python可以自动把邮件取出来读进数据库然后放到网站上,这些python都可以做到。
要是深入下去的话,可以研究一下python的源码,或者python一些库的源码,都是C实现的。
------
以上都是个人经验,我是python新手... CS 61A Fall 2013: Structure and Interpretation of Computer Programs

1100人的超大课,全部课程有视频,全部lab discussion同步粘帖,附带考试,题主能跟上进度一起学完相当于没交UC高昂的学费接受top 30 的教育啊 Python | Codecademy
重点在按照要求练手。上手应该很快。 Python教程 - 廖雪峰的官方网站 Python 入门指南
网站推荐这个: PythonTab:Python中文开发者社区门户 官方文档就很好,看你想搞哪些方面,web 有些framework 像tornado,flask .. 这些github都是开源的看下别人的代码,python的库很多,了解完成什么任务用什么库就好了,python写写脚本写写爬虫什么的都是很好玩的

入门三选一

Fluent Python

Python Playground

Introducing Python: Modern Computing in Simple Packages

推荐比较轻松的学习方法,书籍推荐《笨办法学Python(第三版)》,视频推荐fishc论坛的《小甲鱼Python入门教程》,虽然讲的不深,但是很能学进去。唯一的不好的地方是《笨办法学Python》这书的作者是Python2的粉。 just do it.

从实践开始学习是最好的办法,尤其是在有其它语言基础的情况下。虽然可能开始的时候写出的程序不太pythonic,看多了写多了就好了。
官方文档最重要,基本上把文档里那个tutorial学完就算入门了,可以开始写点实际的程序。 每个人背景不一样,对于完全新手和已经有其他编程语言基础的,各推荐一本我自己很喜欢的。

1、完全新手

我推荐 Learning Python - 学习Python(第5版)(影印版) (豆瓣),2013年7月出版。

作者自身的背景不同,写出来书的味道也大不相同,比如说 Dive Into Python 的作者,更像是在share自己的心得(developer出身的作者多属于此类,哦,建议大家看看这本书作者自己的故事,也很有趣)看这样的书,对读者自身的水平是有那么一点门槛的。对于初学者来说,我会觉得需要的是一本以 teach 为目的的书籍,一则说话会严谨一点,再者会把「这个地方我虽然不懂但是也不太想问别人怕被当成小白」这类的问题解释的浅显易懂。

Learning Python的作者 Mark Lutz 是位经验丰富的老师,在他的网站 Mark Lutz's Python Training Service 有提到他的相关背景,摘抄一段:
Mark Lutz is the most experienced Python trainer in the world. He has been teaching Python classes for 17 years, and has taught some 260 sessions for 4,000 students in the US and abroad. His classes use instructional techniques which mirror those in his successful books, augmented by the immediate feedback and focus-enabling context that only a live class can provide. From diverse corners of the software field, clients both large and small have chosen Mark Lutz's classes for their Python training needs.
另外要说一下本书中的示例程序,除了变量名不那么 Pythonic 以及注释不太规范之外,每一个示例程序都很值得模仿,篇幅有限,举个小例子:
class Person:
     def getName(self):
          if not valid():
               raise TypeError('cannot fetch name')
          else:
               return self.name.transform()

     def setName(self, value): 
          if not valid(value):
               raise TypeError('cannot change name') 
          else:
               self.name = transform(value)
Python 有哪些入门学习方法和值得推荐的经典教材?

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


相关标签: python