如何自学python a byte to python-你是如何自学 Python 的?

高赞已经给出了很多学习的资源,在这里我梳理了学习python基本路线中,每个模块可能遇到的问题和自学需要注意的点,如下:

(1)环境搭建

pycharm是首选,但是考虑到笔记本性能,建议安装notebook。notebook不仅小巧轻便,更能帮助我们更好的记录自己敲过的代码,起到编程笔记本的作用。

(2)输入输出

刚入门敲代码,一定要学会“通过print进行调试”,我初学时基本上每写几行代码就要print一下,确保自己知道自己写的代码是什么意思(尽管这不是高级的调试方式)。

(3)多练习列表

list是python中非常重要的基本数据结构,如果仔细学习过《数据结构》这门课,就会发现python中的list实际上是高度封装的。练习包括:列表创建、索引、修改、切片、插入、反转、深复制和浅复制等等。

(4)什么是if语句

初学python时,逻辑判断绝对是难点之一。日常语言中,很少会出现一个如果后面跟着多个备选项的情况。所以,需要弄清不同条件之间的互斥或关联,理解为什么if可以对一个问题的多个情况进行判断选择。

(5)循环要在什么情况下使用?

书中一般都会说明while语句如何使用,并且给出几个while语句的几个使用实例。那么,while应该在什么情况下被使用呢?我的理解是,在总问题可以通过重复求解子问题时获得最终解答时,就可以尝试用while或for。当然,还是要多积累经验,看看别人在哪些情况下使用的。

(6)不知道什么是函数怎么办?

由于我在学python之前就已经学习C和C++了,所以函数这个概念困扰我是在很久以前了。但是,对于初学者,函数这个概念可能会莫名其妙,究竟什么时候需要定义函数?函数内部需要包含哪些功能?我的理解是:如果某个单一的功能可以通过多行代码实现,那么就把这些代码放在一起。这里面“单一”是个很重要的约束,如果函数中实现了两种功能,那么就要把它拆分成两个函数。

(7)python是面向对象的吗?

有人说python是面向对象的编程语言,也有人说python中万物皆对象。如果将Dog、Cat和Animal这种抽象为类的概念,是容易接受的,并且频繁的将对象作为函数参数传递是有益的。那么,为什么迭代器函数也可以作为参数传递呢?为什么generator也有状态呢?python中某些概念的边界让我很头痛。我的理解是,不要用C++的角度看python,python只是一门胶水语言。

如果有人看,我在续更。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值