欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

为什么要在基类使用私有数据_为什么要使用函数

发布时间:2023/12/19 编程问答 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 为什么要在基类使用私有数据_为什么要使用函数 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

欢迎回来,这里python学习的第十一篇笔记。在历往的推送中,我们已经或多或少的涉及到一些关于python函数的概念、用法。比如这一篇 ↓

手把手带你学 Python3(九)| 快速实现数据处理的不二工具

这段时间又系统的学习了一下函数,所以再来絮絮叨一下,以作补充。

上一篇阅读量 数月亮 好低换个颜色写开头

函数是什么

函数,即实现一个特定功能的代码段。是python中的重要技能(工具)。

函数离我们并不远,早期我们已熟练使用了一些内置函数:例如input print等;

根据使用范围可以将函数分为两类:

  • 主函数

    我们会使用这样来表示,它和代码一样,全局都是使用;

    01 if _name_ = '_main_':
    02     print('This is main.')
  • 子函数

    除了内置函数外,这里就是发挥你洪荒之力的地方啦;

    03 def Plus(a,b):
    04     print(a+b)

另外,还能从实现不同的功能角度来区分,比如 匿名函数 以及高阶函数 详见实例说明:

图片来源于 生信菜鸟团 python学习的第九篇

使用方法:

图片来源于cnblog:痴海

为什么要写函数

看似好像按格式写,实现简单目的的时候,代码不是会显得复杂?那么为什么要写函数呢

首先是好看,连宠物都开始美容的年代,一代码农怎么能忍自己的代码不好看呢(扯远了)那什么的代码是好看的?我认为规则有序,不一定方方正正,比如 Voronoi图(维诺图)

图片来源于 果子学生信:我一直以为奥林匹克水立方上面的格子是乱画的。

那 Python中的规则呢,官方建议PEP8 :

图片来源于 小码哥如何七天入门python3

我们可以通过 Pycharm 中我们已经说到如何快速使用规范代码的方法,如上述提示。修改以后,虚线提示消失,符合主流规则,由于现在的代码段数量较小,可能显示不来大改变,但是习惯还是一开始就训练的好。

规范了以后就会带来很多的好处,比如检查以及理解代码块,如果在定义函数前在注释一句话,那会对使用者更友好。

第二是代码容易拆分,拆分的好处处理看起来整齐以外,还能将代码提速,即调用需要的子函数实现功能。当然,在实现一个复杂功能的时候,代码块可以分工给不同的人员来开发,好比一亩三分田,提高协作效率。

第三是有序,避免代码重复(DRY),同时可以厘清思路,比如代码可以依据数据分析过程,从数据导入→数据清理→数据处理→数据可视化等逐一实现。同时也为易读、易改做铺垫。

DRY(Do not Repeat Yourself)原则,不要重复自己。

参数使用

在之前推送中我们简单提到过形参和实参,形参指形式参数,通过赋值才具有意义,可以理解为变量;而对应的实参就是具有实际意义的参数,可以是字符串、数字等。

注意形参可以预先给定一个默认值。如果调用不给实参,那么参数将使用默认值;如果给定值,那么默认的参数会被替换。

在定义函数的过程中,一定要注意的形参的位置信息,如果对调的话可能造成的情况就是输出错误结果甚至报错。当然,在调用过程中可以在函数中将参数直接定义,可以避免位置错误带来的麻烦。

例如我们举一个内置函数的例子map,这也在之前的推送中提到,主要用于对list中各元素的批量处理。

#将浮点数取整
list_float = [1.1, 2.1, 3.5, 4.6, 5.2, 6.66, 7.877]
list_int = list(map(int,list_float))
    print(list_int)

#参数位置错位,就会报错
list_float = [1.1, 2.1, 3.5, 4.6, 5.2, 6.66, 7.877]
list_int = list(map(list_float,int))
    print(list_int)

TypeError:'type' object is not iterable

我们可以使用关键字实参来躲避位置错位带来的问题:

#关键字实参
01 def Plus(a,b):
02     print(a+b)
03
04
05 Plus(b=2, a=1)

但是,如果项目中不确定需要传递几个实参,也就是无法确定需要多少个形参,我们就需要使用如下的办法来解决:

在定义函数过程中使用 * 来实现解释任意多个形参。

* 在这个过程中指代一个空元祖。

返回return

一个完整的函数的都会有 return,返还值可为基本数据类型,同时可以返还一个表达式,如果没有,返回 None

01 def Plus(a,b):
02     add_sum = a+b
03     return add_sum
04     #return a+b


05 add_result = Plus(b=2, a=1)

补充资料:内置函数官方文档

http://docs.python.org/3/library/functions.html


猜你喜欢

 三剑客 PyCharm使用  | 编程基础与规范代码 | 列表使用 

 元组拆包是个啥?| 字典与FASTA文件序列抽提 

如何判断序列是否跨过剪切位点 | python3 脚本小实战

爬虫小测试 | 函数入门

如何优雅的数月饼

全国巡讲约你

第1-11站北上广深杭,西安,郑州, 吉林,武汉,成都,港珠澳(全部结束)

一年一度的生信技能树单细胞线下培训班(已结束)

全国巡讲第13站-杭州(生信技能树爆款入门课)(已结束)

中秋节一起来学习!全国巡讲第16站-广州(名额紧张)

如果你也有什么学函数好点子和建议,欢迎留言哟。

点击原文 即刻拥有内置函数官方文档

点个在看再走呗

总结

以上是生活随笔为你收集整理的为什么要在基类使用私有数据_为什么要使用函数的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。