本篇内容主要讲解“python中的函数是什么意思”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中的函数是什么意思”吧!
python函数是通过def语句定义的代码块,由函数名、参数列表、函数体三部分组成。
定义函数的语句是以 def 开头,后接函数名称和圆括号 (),以 : 结尾。
函数的参数列表必须放在圆括号之内,参数之间以逗号分隔。
函数体第一行可使用多行字符串来说明函数的功能、参数数量和类型、返回值数量和类型(函数说明文档可写可不写,建议要写)。
函数体部分由若干行代码来实现函数的功能,函数体可以缺省,或写pass来略过。
return [表达式] 结束函数并返回值给给调用方。若无return语句在函数的代码块运行完毕后会返回None。
下面列举一个案例展示函数是怎么定义的,以及函数的相关信息。
import sys # 导入sys模块 def sum(x, y): # 定义函数,由函数名sum,参数列表x,y,冒号表示def语句结束 result = x + y # 函数体 return result # 返回值 print(sum) # sum是函数的名字,sum的值是函数的内存地址,以字典格式保存在全局命名空间 print(type(sum)) # sum的类型是function print(id(sum)) # 函数的id是内存地址的10进制表示 print(sys.getsizeof(sum)) # 可以看到短短的3行代码有136字节,其中保存了很多关于sum函数的其他信息, # 例如数据类型是函数,参数列表信息、函数体学习、返回参数信息等等。 out: <function sum at 0x0000018417225F70> <class 'function'> 1666835439472 # 0x0000018417225F70转成10进制就是1666835439472。 136
在repl环境下测试,输入函数名回车显示的内容是该函数的类型和内存地址,函数后跟()才能执行函数。
>>> double = lambda x:x*2 >>> double <function <lambda> at 0x000001DA1E897160> >>> double(3) 6
如果要运行函数返回的函数,那么多加对括号即可。例如:
def func1(): print('函数1') def func2(): print('函数2') return func1 func2()() out: 函数2 函数1
函数可以赋值给其他变量。
def sum(x, y): result = x + y return result temp=sum print(temp(1,2)) out: 3
函数可以添加到列表或字典。
func_list = [] func_list.append(sum) func_list.append(sub) print(func_list[0](3, 2)) print(func_list[1](3, 2)) func_dict = {} func_dict['sum'] = sum func_dict['sub'] = sub print(func_dict['sum'](3, 2)) print(func_dict['sub'](3, 2)) out: 5 1 5 1
函数可以作为参数传给函数。
def double(x): return 2 * x def half(x): return 0.5 * x def func(x, y): print(x(y)) func(double, 3) func(half, 4) out: 6 2.0
函数可以作为函数的返回值。
def double(x): return 2 * x def half(x): return 0.5 * x def func(): choice=input('输入1选择翻倍,输入其他均减半:') return double if choice=='1' else half print(func()(8)) out: 4.0 # 未选择1 16 # 选择1
到此,相信大家对“python中的函数是什么意思”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。