python中的函数是什么意思

本篇内容主要讲解“python中的函数是什么意思”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中的函数是什么意思”吧!

创新互联主营昭化网站建设的网络公司,主营网站建设方案,成都App定制开发,昭化h5微信小程序开发搭建,昭化网站营销推广欢迎昭化等地区企业咨询

函数的定义

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:


1666835439472  # 0x0000018417225F70转成10进制就是1666835439472。
136

函数的运行

在repl环境下测试,输入函数名回车显示的内容是该函数的类型和内存地址,函数后跟()才能执行函数。

>>> double = lambda x:x*2
>>> double
 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中的函数是什么意思”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网站题目:python中的函数是什么意思
文章URL:http://hbruida.cn/article/jpghip.html