函数、函数参数、函数传参和参数解构

数学函数

函数是什么

传统函数的定义:给定一个集合A,假设其中的元素为x,现对A中的元素x实加对应法则f,记作f(x),得到另一个数集B。假设B中的元素为y,则x和y直接的等量关系可以用y=f(x)表示,我们把这个关系式就叫函数关系式。
近代函数的定义:设A,B是非空的数集如果按照某种确定的对应关系f,使对于集合A中任意一个数x,在集合B中有唯一确定的数y和它对应,那么就称映射f:A-B为集合A到B的一个函数y=f(x)

数学模型

y就是x的函数
由此图可知,y就是x的函数,x就是自变量参数,给定一个x就能算出一个y,因此设定一个函数关系后,就可以形成一个图像,只要给定x就能求出y,在做数学计算题时就可以无需每次寻找关系,直接按照函数关系对于求值即可。

函数公共属性

  • 某一函数,其本质就是某一对应法则,就是一个对象,集合A是自变量集合,经过对应法则后,对应B集合中唯一值;
  • 集合A,B是两个非空的数集
  • A中元素不能剩,B中的元素可以剩
  • f是一对一或者多对一的关系
  • f:A————>B,具有方向性
  • 关键词”任意一个想”和”唯一确定的数f(x)”

函数表示方法

函数引入

1.已知函数f(x)=2x³+x,
求:f(2)的值和f(a)+f(-a)的值
解:f(2)=2*2³+2=18
f(a)+f(-a)=2*a³+a +2*(-a³)-a=0
如上每一个函数都是具体一个函数对象,其中x为形参,其中x∈集合A,只在集合中生效,在计算机中称之为本地变量。而f(2)是给函数传递实参,传递不同的参数得到不同的集合B。
2.某种笔记本的单价是2元,买x(x∈{1,2,3,4,5})个笔记本需要y元,试用三种表示法表示函数y=f(x)

解析法

解:y=2x        x∈{1,2,3,4,5}

列表法

这里写图片描述

图形法

这里写图片描述

函数总结

  • 根据如上两个函数可知,每个函数除了具有函数通有的特性外,每个函数都有自己的特性和自己的图像
  • 将函数放在程序中,即需要不同功能的y值就得调用不同的函数对象,每个函数都是一个独立的对象
  • 将函数放在程序中,函数的形参就像定义数学函数时定义x一样是形式上的参数,函数的形参也是函数的本地变量
  • 将函数放在程序中,函数的默认值参数值就是函数defaults属性中的一个元组,默认值就是位置参数中的特殊化的一种形式用元组保存在函数属性中
  • 将函数放在程序中,y=2x,y=3x其中x是同一个x吗?肯定不是同一个x,因此函数中x也有作用域的范围,x是本地变量,也就是说在本函数内有效,若出本函数后,此时本地变量在其他函数中无法生效,因此在函数嵌套子函数时,对于变量有本地变量的限制

函数的作用

和数学函数模型一致,功能类似,具体作用如下

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

函数的定义和调用

函数定义

def 函数名(参数列表):
函数体(代码块)
[return 返回值]

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

函数调用

  • 函数定义,只是声明了一个函数,它不会被执行,需要调用
  • 数学函数调用时,必须给传入一个实参,如y=f(2),f就是函数名,2就是实参,()表示要传入的参数,因此在程序中也一样,必须要加(),至于实参可有可无
  • 调用时写的参数是实际参数,是实实在在传入的值,简称实参

函数形参定义

形参位置参数

  • def f(x,y,z),此时就定义了位置参数,就是普通函数中的最为普通的常见的参数形式就是位置参数

形参默认值参数

  • def f(x,y,z=10),此时就定义了形参的默认值z=10,而且函数将此默认值以tuple的形式保存在函数对象属性的__defaults__之中
  • 形参的默认值本质也是位置参数的特殊使用形式,本质也是位置参数,仅在位置参数的基础之上赋予默认值而言
  • 给带有默认值的参数传参时,也可以通过位置参数传参或者关键字参数传参
    代码测试:
#!/bin/python3
#-*- coding: UTF-8 -*-
#created time 2018-04-13
def f(x,y,z=
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值