一篇很久以前的经典文章,零基础如何入门python编程!受益匪浅
背景
本文主要根据作者2个月以来对于 300 人的零基础python教学经验总结而出,适合零基础、负基础学习 python 编程语言的同学阅读。
本文所述仅仅是方法,看完本文并不会让你学会任何一门编程语言,仅仅能让你少走一些弯路,少被毒害一些。
我们来探讨的问题是 —— 如何从零开始学习 python。学习资料也可以加下Python扣扣裙:3零4零5零799自己下载学习下。
相信你能看到这篇文章,一定心里有一个 学习编程 或 教编程 的想法,本文分享的知识可以为这两个目标提供一些参考价值。
我分析了一下情况,发现以下几个比较有意思的点:
来学习的人之中有 70%是女生。
学生党和工作党的比例是 3:2。
绝大部分人一天只能抽出1~2个小时学习(非脱产)。
基础几乎都没有。
学编程从理论还是从训练开始?
这个问题让我回想到了自己的科班的学习过程,有这样一个故事给大家分享:
2012年,过年回家的火车上,我提着行李走上了拥挤的车厢,对面的小哥顶着蓬松的头发,我知道,这也许是我的同行。
24小时的上海到贵州的旅程就没那么孤单,因为我们都在讨论架构、算法、编程学习…
这个工作了5 年的前辈给我的建议是,你现在看这个架构、编程理论等书籍,不求甚解即可,等你有了大把经验,回来很快就能秒懂。
这个故事让我思考了学习的两种不同的模式。
想要通过学习 python 编程完成一个自己的个人网站。
想要通过学习 python,对比 python 和其他脚本编程语言的设计优劣,然后改进之。
具体我就这就不多说了!
开始学习
从一个故事开始学习变量和判断
首先我们从一个老妈买菜的故事开始,第一周学习的内容是学习变量,可以看下面一张图,我们是如何教变量的,记住这个是第一天,第一天学习编程,就要开始写代码,这是我的教学过程要坚持的。不管写的多,写的少,都要开始模仿开始写。
需求是下图这样的:
我们来看代码
#!/usr/bin/python
# -*- coding: utf-8 -*-
# @author: Guoshushu
# For beginner
# 1. variable - num,str,boolean
# 2. if
# 3. > < >= <= ==
# 4. print
def main():
who = 'xiao的老妈 '
good_price = 6 #小贩的价格
good_description = "西双版纳大白菜" #小贩的招牌
is_cheap = False #是否便宜
reasonable_price = 5 #老妈能接受的最高价格
buy_amount = 2 #准备买 2 斤
# 开始你的表演
# go 我们来走一组
print "%s上街看到了%s,卖 %d 元/斤" % (who, good_description, good_price)
if good_price <= reasonable_price:
print '她认为便宜'
is_cheap = True
print '她买了 %d 斤' % (buy_amount)
else:
print '她认为贵了 '
is_cheap = False
print '她并没有买,扬长而去'
#homework
#1. 看 day1-homework.py
# run function
if __name__ == '__main__':
main()
看到了么,这一段代码实现了我们的需求,而且完全是 自然语言编写 ,普通人都可以看懂,我们教会了:
# For beginner
# 1. variable - num,str,boolean
# 2. if
# 3. > < >= <= ==
# 4. print
可以注意到一点,我没有教大家学习 if __name__ = “__main__”: 这些事什么意思,而是让大家开始模仿,大家都是成年人,都有悟性,不需要花费太多的时间去低效地学习理论,之后自然会明白。
上面这一段代码,看懂就可以了么?
不,自己在电脑上面打一面,真正打了过后,就会发现其实看懂是没有用的,因为他们会发生以下的问题。
跑代码前没有保存成.py的文件;
if之后的符号用了中文的:(冒号)。
缩进写错了报 indent error。
True和False写成了 true 和 false。
name 写成了 name
64位的系统装成了32位 python,虽然已经提醒过。
变量名字之间用了空格,报错。….
这些问题,不去实际写代码是发现不了的,但是好消息是,发现了一次,之后就基本不会再犯错了,所以我们说编程模仿练习的必要,以及编程中犯错报bug的必要。
如何学习列表
这里再举一个学习列表的例子,我们来看下面的代码:
# -*- coding: utf-8 -*-
# @author: Guoshushu
def main():
good1 = '大白菜'
good2 = '空心菜'
good3 = '花菜'
good4 = '生姜'
good5 = '小龙虾'
# ....... 省略掉 100 个
good100 = '蚌壳'
print '老妈看到了 %s '% (good1)
print '老妈看到了 %s '% (good2)
print '老妈看到了 %s '% (good3)
print '老妈看到了 %s '% (good4)
print '老妈看到了 %s '% (good5)
def main2():
goods = '大白菜,空心菜,花菜,生姜,小龙虾'
print '老妈看到了 %s' %(goods)
def main3():
print '-------'
lst = ['大白菜', '空心菜', '花菜', '生姜', '小龙虾'] #列表
for lst_item in lst: #遍历
print '老妈看到了 %s '% (lst_item)
if __name__ == '__main__':
main()
main2()
main3()
相信大家已经看到了,这一段是说明列表为何要使用,学习的过程需要了解为什么要用列表,那就是 变量不够用了嘛。
我们看上述3个函数就能够明白,列表这个数据结构的演变过程,其实就是变量不够用了,要用一个更牛逼的结构来一次放很多个数据,这样理解起来会很自然。
相似的方法我用到了教授元祖、数组等等方面,你要如何学? 我给你的建议就是,用起来,用起来。
所有的 3 周的学习的代码,我已经上传网盘。你们需要可以关注我,然后私信我01即可。
包括学习资料视频和百道练习题及答案
一个月的知识汇总:
练习在编程入门的过程中,的确是最重要的,希望看了这一篇文章的同学,如果有对于编程学习的想法,一定不要止于看书、止于假学习,这个技能,是一行一行敲出来的。共勉!