Python入门day13——函数的基本使用

1、什么是函数

在程序中,具备某一功能的‘工具’指的就是函数

2、为何要用函数

随着程序功能的增多,代码量随之增大,此时仍不加区分地把所有功能的实现代码放到一起,将会使得程序的组织结构不清晰,可读性变差,且程序中需要频繁使用同一功能时,只能重复编写该功能的实现代码,日积月累,程序将变得冗长,并且当某一功能需要修改时,又不得不找出所有定义及使用这段功能的地方修改之,管理维护的难度极大

3、如何用函数
  • 先定义
    # 定义的语法
    # 定义函数发生的事情
    # 1、申请内存空间保存函数体代码
    # 2、将上述内存地址绑定函数名
    # 3、定义函数不会执行函数体代码,但是会检测函数体语法
    def 函数名(参数1,参数2,...):
        """文档描述"""
        函数体
        return 值
    
    # 调用函数发生的事情
    # 1、通过函数名找到函数的内存地址
    # 2、然后加括号就是在触发函数体代码的执行
    # 示范1
    def bar(): # bar=函数的内存地址
        print('from bar')
    
    def foo():
        print(bar)
        bar()
        print('from foo')
    foo()
    # 结果
    <function bar at 0x00000248F0943F70>
    from bar
    from foo
    
    # 示范2
    def foo():
        print(bar)
        bar()
        print('from foo')
    
    def bar():  # bar=函数的内存地址
        print('from bar')
    foo()
    # 结果
    <function bar at 0x0000026B3ECF71F0>
    from bar
    from foo
    
    # 示范3
    def foo():
        print(bar)
        bar()
        print('from foo')
    
    foo() # 报错:name 'bar' is not defined
    
    def bar():  # bar=函数的内存地址
        print('from bar')
    
    # 三种定义方式
    # 1.无参函数
    def func():
        # x
        # print(
        print('哈哈哈')
        print('哈哈哈')
        print('哈哈哈')
    print(func) # <function func at 0x00000216337C3F70>
    func() 
    # 结果
    <function func at 0x00000216337C3F70>
    哈哈哈
    哈哈哈
    哈哈哈
        
    # 2.有参函数
    def func(x,y): # x=1  y=2
        print(x,y)
    func(1,2) # 1,2
    # 3.空函数
    def func(x, y):
        pass # 什么都不做
    
  • 后调用
    # 三种调用方式
    def foo():
        print(132)
    def add(x,y): # 参数-》原材料
        res=x + y
        return res # 返回值-》产品
    # 1、语句的形式:只加括号调用函数
    foo() # 132
    add(1,2) # 调用add,返回res值
    
    # 2、表达式形式:
    # 赋值表达式
    res=add(1,2) 
    print(res) # 3
    # 数学表达式
    res=add(1,2)*10
    print(res) # 30
    
    # 3、函数调用可以当做参数
    # add(1,2)作为函数add的第一个参数,
    res=add(add(1,2),10)
    print(res)  # 13
    
  • 返回值
    # 三种返回值的形式
    # return是函数结束的标志,即函数体代码一旦运行到return会立刻终止函数的运行,并且会将return后的值当做本次运行的结果返回:
    1、返回None:函数体内没有return
           
    def func():
    	return
        # return None
    res = func()
    print(res) # None
    2、返回一个值:return 值
    def func():
        return 10
    res=func()
    print(res) # 10
    
    3、返回多个值:用逗号分隔开多个值,会被return返回成元组
    def func():
        return 10, 'aa', [1, 2]
    res = func()
    print(res, type(res)) # (10, 'aa', [1, 2]) <class 'tuple'>
    
原文地址:https://www.cnblogs.com/yding/p/12512763.html