你是如何自学 Python 的?

来源:知乎

其实python非常适合初学者入门。相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易。自带的各种模块加上丰富的第三方模块,免去了很多“重复造轮子”的工作,可以更快地写出东西。配置开发环境也不是很复杂,mac和linux都内置了python。另外据我所知,不少学校也开始使用python来教授程序设计课程(比如本人的母校)。

我就是完全通过网上资源自学python的。
从在校时候用python接活赚零花钱,到在创业公司用python开发商业网站和游戏后台。所有遇到的问题,几乎都可以从互联网上的公开资源找到答案。

关于自学python,个人最大的3点经验:

  1. 找一本浅显易懂,例程比较好的教程,从头到尾看下去。不要看很多本,专注于一本。把里面的例程都手打一遍,搞懂为什么。我当时看的是《简明python教程》,不过这本书不是非常适合零基础初学者。
  2. 去找一个实际项目练手。我当时是因为要做一个网站,不得已要学python。这种条件下的效果比你平时学一门新语言要好很多。所以最好是要有真实的项目做。可以找几个同学一起做个网站之类。注意,真实项目不一定非要是商业项目,你写一个只是自己会用的博客网站也是真实项目,关键是要核心功能完整。
  3. 最好能找到一个已经会python的人。问他一点学习规划的建议(上知乎也是个途径),然后在遇到卡壳的地方找他指点。这样会事半功倍。但是,要学会搜索,学会如何更好地提问。没人愿意帮你写作业或是回答“一搜便知”的问题。

然而,别人的经验未必能完全复制。比如我没有说的是,在自学python之前,我已在学校系统学习过其他的编程语言。

对于完全没有编程经验的初学者,在学习python的时候,面对的不仅仅是python这门语言,还需要面临“编程”的一些普遍问题,比如:

  • 从零开始,不知道从何入手,找了本编程教材发现第二章开始就看不懂了
  • 缺少计算机基础知识,被一些教程略过的“常识性”问题卡住
  • 遇到问题不知道怎么寻找解决方案
  • 看懂语法之后不知道拿来做什么,学完一阵子就又忘了
  • 缺少数据结构、设计模式等编程基础知识,只能写出小的程序片段

所以除了前面说的3点经验,给初学编程者的额外建议:

  • 首先要有信心。虽然可能你看了几个小时也没在屏幕上打出一个三角形,或者压根儿就没能把程序运行起来。但相信我,几乎所有程序员一开始都是这么折腾过来的。
  • 选择合适的教程。有些书很经典,但未必适合你,可能你写了上万行代码之后再看它会比较好。
  • 写代码,然后写更多的代码。光看教程,编不出程序。从书上的例程开始写,再写小程序片段,然后写完整的项目。
  • 除了学习编程语言,也兼顾补一点计算机基础,和英语
  • 不但要学写代码,还要学会看代码,更要会调试代码。读懂你自己程序的报错信息。再去找些github上的程序,读懂别人的代码。
  • 学会查官方文档,用好搜索引擎和开发者社区。

推荐几个网上的资源:

(解压密码均为:http://crossin.me

在线教程:

以下喂自己袋盐:
现在有很多人都想学一点编程,但是直接看教程又有点太难下手。
之前有几个朋友都问我能不能指导他们一下入门学个语言,于是我就弄了个微信公众号“程序员福利姐”(微信号Code_FiLiJie ,有个同名的山寨号,不要加错了)。每天讲一点点很简单的内容。如果有0基础想入门的新手,不如来跟着看看,欢迎加入我们共同学习的队伍。

基础内容早已讲得差不多了,现在整理成了系列教程,可在公众号里阅读。定期推送一些专题,比如查天气预报、搭建网站、数据采集之类的小项目,还有编程相关的知识和经验文章。

公众号程序员福利姐,(Code_FiliJie)

原文地址:https://www.cnblogs.com/bruce0706/p/8406567.html

时间: 2025-01-06 07:31:11

你是如何自学 Python 的?的相关文章

自学python核心编程

之前看过一段时间的小甲鱼零基础自学python,b站上有高清免费资源[av4050443],但是作为零基础实在学得艰难,下载了python核心编程pdf,在这里做一些笔记. 虽然使用的是第二版的教材,但我使用的是python3.5.2,感觉上差别不大,可以阅读. 这里从第二章的练习题开始! -------------------------------------------------------- 2 - 5:用while 和for 打印0-10: i = 0 while i < 11: p

【转载】如何系统地自学 Python?

原文:如何系统地自学 Python? 作者:彭猫 本文由 知乎 彭猫 授权发布,版权所有归作者,转载请联系作者! 是否非常想学好 Python,一方面被琐事纠缠,一直没能动手,另一方面,担心学习成本太高,心里默默敲着退堂鼓? 幸运的是,Python 是一门初学者友好的编程语言,想要完全掌握它,你不必花上太多的时间和精力. Python 的设计哲学之一就是简单易学,体现在两个方面: 语法简洁明了:相对 Ruby 和 Perl,它的语法特性不多不少,大多数都很简单直接,不玩儿玄学. 切入点很多:Py

如何系统地自学 Python?

最近开始系统的学习Python,以及整理的一些资料.github记录着个人自学 Python 的过程,持续更新.欢迎大家一起来完善这个自学Python学习的项目,给后来者一个参考的学习过程.github项目地址:shfanzie/Systematically_self-study_Python 如何系统地自学 Python ? 网上 Google .百度文章一大把,不知道从何学起,只会使初学者更加的迷惑.首先,我推荐一篇 彭猫 在知乎上的回答:如何系统地自学 Python ?希望能给大家一个系统

自学PYTHON爬虫阶段总结

自学python爬虫有大概半个月时间了吧 先是了解了一下爬虫的基本结构和流程 然后学习了各种库和正则的知识 这里要特别注意一下,学习正则开始的时候会很难,因为这个玩意根本就不是给人类用的,正则表达式开始的时候是一个神经科学家发明用来研究人类行为和神经反射的时候的模式所以他是反人类的 不过到后面会发现有很大的用处,因为正则不只存在与Python一个语言里面,很多语言里面都有,所以是一个绕不开的项目. 开始建议用BS4和Scrapy  要不然会严重打击自信心的 爬虫其实是属于数据挖掘的领域.不过用来

NO.1:自学python之路

引言 人工智能如今越来越贴近生活,在这里将记录我自学python与tensorflow的过程.编程使用IDE:visual studio 2017,python版本3.6.3,tensorflow版本1.4.0 正文 hello word实现: python的print()函数可以向屏幕输出指定文字,变量,数字.变量和数字可以直接输出,文字需要加入单引号或者双引号,例子: print('hello word') hello word进阶: 当需要将文字与数字或变量一同输出时,简单的可以靠%d,%

学生自学Python去面试,月薪为何仅3K?面试官问题解析!

很多人认为Python语言简单(实际真的那么简单吗?语法简洁不代表容易学),都去自学Python编程语言,然后寻思出去找一份好的工作,其中学生居多.所以这套面试题我随机例举了几个罢了,文末有提示. 一般面试官见到初入社会的学生,他不会问你多少年的开发经验,最多他只会提你是自学还是系统学,熟悉哪些框架?所提的面试题也会相对简单,然而薪资方面也会大幅度降低,这是人之常情. 大型企业的面试题总会出一些新花样,来表示它们的与众不同之处.似是而非,感觉很容易,实际上你确实答不出来!这就是他们想要的效果,他

孤荷凌寒自学python第五十二天初次尝试使用python读取Firebase数据库中记录

(完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数据库服务,今天主要尝试使用firebase_admin模块来连接firebase数据库. 获得成功. 一.简单总结下今天对firebase_admin模块对象的学习 (一)要通过firebase_admin模块连接到firebase数据库,那么必须要拥有一个从firebase网站上自己的数据库的[用户和权限]处设置的'连接私钥'等相关信息的一个json文件,并下载到项目文件夹中来. (二)

孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5

孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5并学习权限设置 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十二天. 今天继续学习mongoDB的简单操作,并继续对一些可能反复经常使用的操作进行简单的封装.同时通过搜索了解了如何对本地Mongo数据库进行权限设置(没有实践本地数据库的用户权限设置.) 按个人规划,今天是初步了解学习MongoDb数据库的最后一个学习日,后续将在真正使用此数据库时,再对其进行深入研究. 一.今天完成了两个可

孤荷凌寒自学python第八十天开始写Python的第一个爬虫10

(完整学习过程屏幕记录视频地址在文末) 原计划今天应当可以解决读取所有页的目录并转而取出所有新闻的功能,不过由于学习时间不够,只是进一步优化了自定义函数的写法. 一.优化并新增了几个操作word文档的函数 ``` #!/usr/bin/env python3 # -*- coding: utf-8 -*- import string import time import random from docx.enum.style import WD_STYLE_TYPE #所有样式 (包括段落.文字