函式用於结构化程序,将需要重复用到的功能独立出来,透过函式的呼叫,传入资料与回传处理後的资料。可以减少相同程序码的出现次数,并且提高可读性和维护性。
方便团队共同开发系统,其他人如果想使用这个函式只需要知道输入输出就可以了,不需要详细了解内部的细节。
函式可以接收任何数量与型态的输入参数,并回传任何数量与型态的输出结果。
今天要来继续介绍函式的使用方法!
*args 和 **kwargs 运算子
*args 运算子:当我们需要传入大量的参数时,如果参数太多会让可读性变差,这时就可以用 *
来把参数都整成一组的。
这个方法会把参数用 tuple
的形式打包
**kwargs 运算子:用 dict
的形式来打包,所以一定要使用关键字参数(Keyword Argument),才有办法对应到 dict
的 key
跟 value
。
函式类型
无回传值:没有加上 return
的话只会单纯执行函式,但是他还是会回传一个 None
回到呼叫端,如果有用一个变数来接收这个值的话
有回传值:在函式内加上 return
会把结果传回给呼叫端
Docstrings:对於 python 而言,程序的可读性很重要,所以我们可以在函式的开头加上一个字串来说明这个函式的细节,方便其他人查看时能更快进入状态。
使用 help()
可以把函式中的 Docstrings 列印出来
区域变数(Local Variable)及全域变数(Global Variable)
区域变数(Local Variable):只在函式内定义的变数称为区域变数,只有在函式内可以使用,所以在函式外 print
就会出错,如下图。
全域变数(Global Variable):只要是同一个 python 的档案就可以使用
读取会读取到全域变数
如果想要在函式内改变全域变数可以使用 global
待续...
此篇後面会有点难懂,可以去看我的范例,更了解实际运作喔,各位加油! computed 计算属性 co...
前言: Kotlin 的语法讲完了,就来进入android 的世界了,首先要开一个空白的专案,来了解...
Table 这个套件其实跟原生的 table tag 没什麽太大的差异,在官方文件中有用到 Data...
Hashicorp Vault: HTTP Status Codes 在使用Vault API 时,...
在Oracle资料库中有两种方式可以定义约束规则(作用相同): 栏位层次约束(行内规范):将规定写在...