全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  Python技术干货  >  详情

入门Python的4大陷阱

来源:千锋教育
发布人:xqq
2023-11-06

推荐

在线提问>>

Python以语法简单、关键字少著称,因此经常被各大媒体忽悠其是一门非常容易入门的编程语言。他的特定描述自然不言而喻,但其是否容易入门却饱受争议。因为每个人的基础都不一样。

市面上大部分的Python入门书籍的目录都非常长(毕竟缺少某个重要的知识点会被批),但是作为入门来说,真的需要所有的知识点都学习一遍吗?

对于入门者来说,看着这些书籍目录学习往往会遇到各种陷阱,今天我就来分享一下我的个人观点。

语法太多了

Python的语法规则多不多?其实非常多,如果你学习过一些古老不再更新的编程语言,对比下来你就会发现其实Python语法非常多。

因为Python需要适应现代的开发要求,他"逼不得已"需要不断加入新的语法特性,比如像"装饰器"、"海象运算符"等等。

此时初学者会陷入第一个陷阱——抵受不住"目录"的诱惑,感觉自己跳过了某个知识点就会无法入门。

作为入门者我是不建议学习这些东西(短期内你大概率用不上)。

那么,到底需要学习哪些语法?

·分支判断

·循环

说白了就是if和for循环。

其实,学习这些语法不是要你去记忆怎么写,大部分时候这些语法语句不需要我们亲手敲出每个字母,因为现在的ide都非常友好,一般都能提供生成代码段的功能。

序列的处理非常重要

当你基本了解if和for的使用后,下一步就要了解序列的数据结构(列表、元组)。

此时,初学者会陷入另一个坑——列表有许多方法需要记忆!

同样地,我也不推荐入门者记忆这些方法,只需要记住最常用的1、2个操作即可。比如:

·添加元素:append

·移除元素:remove

同理,字符串也有许多处理方法,通常我们只需要学习少量几个方法即可。

小伙伴:"?!,就这样子?"

事实上,后期你可能连上述2个操作都很少用上。因为在Python中更倾向于构造新的序列,而非对序列原地操作。

当你后期学会了推导式之后,你就会发现用得最多的语法就是if和for。

你可能疑惑,为什么序列的处理很重要?

不管你学习什么的编程语言,不管你是应用开发还是普通的办公自动化学习,真正复杂的逻辑大部分来自于序列的处理。

比如一堆文件、每个文件中又会有一堆的数据。

而简单的单个数据,往往操作也是非常直白简单。

字典要不要在这个阶段学习?我建议是可以尝试了解,如果发现自己不能理解,那就跳过。因为后期总会有他的应用场景,那时候结合场景学习会更加轻松。

学习分解问题的思维

经过上面2个阶段的学习,你会发现自己充其量只能解决小学加减乘除的简单问题,稍微复杂一点的问题你就毫无头绪。

此时你就陷入了另一个陷阱——一边思考逻辑一边写代码。

多数入门书籍都不会教你这一点,因为这不是Python的特性,但他极其重要。

编程的本质是把现实逻辑用代码表达出来。

而现实中,我们要完成一件比较复杂的事情时,都是先考虑整体流程,划分出多个子流程,最后才针对每个子流程考虑细节。

我的文章少不了案例。

考虑以下的现实场景:你希望从你家里书架上(有100多本)找出某作者的书。

你可能觉得这个事情非常简单,不就是从头开始,每本书都看看作者名字,符合就拿出来?

这个思考过程实际就是从整体到细节的过程:

1)首先,你会考虑从哪里开始找,总有个搜索方向。比如从书架左上角横向扫过每一行的书。

2)其次,在没有开始找之前,你就决定找出一本书后,看封面的作者名字。

3)最后,符合条件要拿出来,与原来的书区别开来。

注意上述每一点的思考都是在你开始操作之前就决定的,这就是整体到细节的考虑。

你不会随手拿起一本书,然后才想到底怎么找作者名字?找到又要不要拿出来?这是非常反人类直觉的做法。

一定要学习自定义函数

为什么编程语言基本都有自定义函数的特性?因为这符合我们解决问题的思维逻辑

怎样进阶

上面的总结(针对入门):

·语法学习简单为主(if、for)

·基本序列要了解(列表、元组),但其对象操作方法不用特意记忆

·学会分解问题的思维

·学会自定义函数

实际上,点3才是最重要,其他点只是为他服务。

因此,Python的进阶仍然是围绕点3而展开。

比如,前面的例子中,整体流程代码中仍然包含了"取出符合条件的书"的逻辑,这其实不太合理。那么此时你就学习新的语法知识点,让你能简化整体流程代码。

以上内容为大家介绍了入门Python的4大陷阱,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/

相关文章

如何使用python中的help函数?

如何使用python的callable函数?

python gensim库是什么?

python中xluntils库是什么?

python中getattr()是什么?

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取