Python 之 函数/函数参数/参数解构 的深入浅出

1、函数概念

1.1 数学定义

  • y = f(x)
  • y 是 x 的函数, x 是自变量
  • y = f(x0, x1……xn)

1.2 Python 函数

  • 由若干语句组成的语句块、函数名称、参数列表构成
  • 函数是组织代码的最小单元
  • 函数能够完成一定的功能

1.3 函数的作用

  • 结构化编程对代码的最基本的封装,一般按照功能组织一段代码
  • 封装的目的是为了复用,减少冗余代码
  • 代码更加简洁美观,可读易懂

2、Python 函数的定义及调用

2.1 函数定义

def 函数名(参数列表):
	函数体(代码块)
	[return 返回值]
  • 函数名就是标识符,命名要求一样
  • 语句块必须缩进,约定4个空格
  • Python 的函数若没有 return 语句,会隐式返回一个 None 值
  • 定义中的的参数列表成为形式参数,只是一种符号表达(标识符),简称 形参

2.2 函数调用

  • 函数定义,只是声明了一个函数,它不能被执行,需要调用执行
  • 调用的方式,就是函数名后加上小括号,如果有必要在括号内写上参数
  • 调用时写的参数是实际参数,是实实在在传入的值,简称实参

2.3 函数示例及代码解释

def add(x, y):  # 函数定义,创建一个标识符 add 指向 函数对象
    result = x + y  # 函数体
    return result  # 返回值 

out = add(4, 5)  # 函数调用,可能有返回值,使用变量接收这个返回值  
print(out)  ## print函数加上括号也是调用

9

上面代码解释:

  • 定义一个函数 add,及函数名是 add,接受两个参数

  • 该函数计算的结果,通过返回值返回,需要 return 语句

  • 调用时,通过函数名 add 后加 2 个参数,返回值可使用变量接收

  • 函数名也是标识符,返回值也是值

  • 定义需要在调用前,也就是说调用时,已经被定义过了,否则会有 NameError 异常

  • 函数是 可调用的对象, callable()

    Signature: callable(obj, /)
    Docstring:
    Return whether the object is callable (i.e., some kind of function).
    
    Note that classes are callable, as are instances of classes with a
    __call__() method.
    Type:      builtin_function_or_method
    
    print(callable(add))
    callable(add1)
    
    True
    ---------------------------------------------------------------------------
    NameError                                 Traceback (most recent call last)
    <ipython-input-6-f9248a1bfb76> in <module>
          1 print(callable(add))
    ----> 2 callable(add1)
    
    NameError: name 'add1' is not defined
    
    callable(add), callable(1), callable('2')
    
    (True, False, False)
    

2.4 函数返回值说明

  • Python 函数使用 return 语句返回 “返回值”
  • 所有函数都有返回值,如果没有 return 语句,隐式调用 return None
  • return 语句并不一定是函数的语句块的最后一条语句
  • 一个函数可以存在多个 return 语句,但是只有一条可以被执行,如果没有一条 return 语句被执行到,则隐式调用 return None
def fn(x):
    for i in range(x):
        if i > 3:
            return i
    else:
        print('{} is greater than 3'.format(x))
        
print('First >>> ', fn(5))
print('Second >>> ', fn(3))

First >>>  4
3 is greater than 3
Second >>>  None
  • 如果有必要,可以显示调用 return None,可以简写为 return

  • 如果函数执行了 return 语句,函数就会被返回,当前执行的 return 语句之后的其它语句就不会被执行了

  • 返回值的作用:结束函数调用,返回 ‘返回值’

  • 函数不能返回多个值,如果有多个值时,隐式的被 Python 封装成了 一个元组

    def showconfigs():
        return 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值