查看原文
其他

值得收藏!8大技巧,带你了解菜鸟和高手的区别!

菜鸟哥 菜鸟学Python 2022-09-22

对于Python编程者而言,或许大家都认为Python是非常简单易学的,在学习一段时间的Python之后,都认为自己的Python编程水平已经非常好了,但是python编程绝对不是简单的几句语法就可以囊括的了。


Python语言的简洁性,易读性,和高级语言等特点需要我们不断的在日常的学习和练习中不断提高,为了方便大家对自己的编程等级有一个大概的了解,今天小编就从几个方面来带领大家区分一下,初级和中级python编程者的区别。


1.解决问题的能力

作为一个编程者,面临的一个大的问题就是解决bug,因为我们的程序不可能从始至终一点错误都不出,如何定位错误的发生,以及快速而高效的给出最佳的解决方案,是区分初级编程者和中级编程者的一个特征,对于编程者而言,不断的从解决bug的过程中累计经验,也是一个提升自己编程能力的有效途径。


上述函数中,由于局部变量未初始化导致报错,我们可以采取异常处理机制来捕获错误,然后采用改变全局变量值和不改变全局变量值的方式来解决错误。


2.对于问题的触类旁通

在平时的工作和学习中,我们经常会碰到相似的问题,我们需要能够从两个问题中提取共性,并不断的完善代码,使代码的鲁棒性更加好,逐步提高对于代码的复用性,是我们提高自己编程能力的一个途径。


例如,我们现在要获取一个文件的类型名称,例如,我们想获取py文件的类型,我们可以直接对传入的字符串执行下列函数:

对于py文件这样的程序没问题,但是对于图片文件就不合适了,那么这两个文件的共性是什么呢?那就是文件类型前都有一个”.”我们便可以改进我们的函数:

我们通过改进程序改进了代码的鲁棒性,同时,我们可以利用os库,直接一行代码就可以进行解决。


3.理解程序能够运行的原因

对于 Python的初学者来说,大多数人可能都会遇到一个问题,就是一个简单的程序可能解决了很久都没有过去,但是突然改掉了一个小的地方,程序就能够成功的运行了,这时我们不能沾沾自喜,而是要进行深究,搞清楚为什么程序不能运行。


如果不进行解决的话,下一次遇到这样的问题,我们可能还是会出错。这里我们就需要不断的提升我们的程序调试技巧。


对于程序的调试,我们可以采用一个对python友好的编辑器,例如pycharm,来折叠一部分程序,方便我们更好的从宏观的角度对程序进行调试。


4.对于字符串的运用

Python编程中常常需要预定字符串打交道,所以我们要对字符串有充分的了解。虽然我们在使用str时不会记住所有的关于str的函数。


但是我们需要掌握如何查找一些有用的信息,用来解决我们面临的问题,这也是编程能力提升的体现。


上图中我们通过help(str)来查询我们的字符串的文档,然后我们来检验一个字符串是否是jpg格式的文件:

  • 第一种方式我们利用之前的split方式来判断字符串是否是jpg格式结尾;

  • 第二种方式是直接调用字符串的endswith方式进行判断,提升了程序的简洁性和易读性;


对于字符串的操作还有很多很基础但是很实用很考验大家基础编程能力的操作,如果大家想要看的话可以看我2年前写的几篇旧文:

【秘籍总结】玩转Python里的字符串|上篇

7招秘籍: 教你玩转Python字符串



5.对于列表的操作

对于列表的操作,同样是非常的基础,但是有很复杂,因为列表中可能包含有不同类型的元素,例如下面的列表:

上述的列表中,包含了int类型和str类型的元素,我们无法进行排序,那我们如何单独对上述的列表中的数字进行排序呢:

上述的方法中,方法一中规中矩,是大家很直观的能想到的解决办法。而方法2则是一行代码就解决了该问题,大大减少了代码量,当然大家也可以使用python的内置函数filter进行解决,同样可以解决这个问题,一个问题 ,我们可以用三种方法去解决,对于提升我们的python编程能力很有帮助。


6.使用Loops循环

对于for循环,大家在各种编程语言都见到过,对于Python语言来说,和其他语言的for循环方式类似的一种循环为:

但是Python编程者更喜欢的或者说更常见的Loops循环为:


7.使用函数

对于函数的使用,可以使我们在重复的工作中,将该段程序进行组织重写为函数,函数能提高应用的模块性,和代码的重复利用率。能够熟练的写出函数,对于Python编程的进阶来说也是必不可少的。

上述函数中,我们避免了重复使用三次for循环,让程序看起来非常的低级,而是使用了函数的形式,让程序看起来更加的简洁。


8.面向对象的编程

Python是一门面向对象的编程语言,我们使用的大多数库,都是采用面向对象的编程实现,并提供给我们调用,所以我们在进行编程的过程中,也要学着使用面向对象编程来实现,从一个初级的编程者向中级编程者蜕变。这里小编简单的为大家引入一下Python中的面向对象编程,大家还要后面多多练习,熟练掌握面向对象的编程。

上述的__init__()函数为类的构造函数,也就是该函数在创建一个学生实例时就会自动的执行该函数,我们在Student类中定义了addCourse函数和printCourse函数,用来添加课程和输出学生的全部课程。


菜鸟通过高手需要不断的勤奋努力学习,如饥似渴的学习,遇到问题学会思考,然后举一反三,总结思考,才能修行的更远。


别人说是别人的,自己做一边才能明白,而思考领悟才是最精华的部分。希望今天的分享对大家有用的话,吱一声。


往期热门:

程序员Github

专注于分享GitHub上有趣的开源库包括Python,Java,Go,前端开发等优质的学习资源,并分享程序员圈的新鲜趣事,热门干货,职场感悟。


点击阅读原文,阅读近400篇原创Python案例

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存