函数

作者: link_king | 来源:发表于2019-03-10 20:41 被阅读0次

1.函数

1.1 定义
def 函数名(参数列表):
    语句
    return 表达式

解释:

def : 函数代码块以def关键字开始

函数名:遵循标识符规则

参数列表:任何传入函数的参数和变量,必须放在小括号之间,使用逗号分隔,函数从函数的调用者那里获取信息【调用者给函数传递的信息】

():是参数列表的开始以及结束

冒号:函数内容【封装的功能】以冒号开始,并且缩进

语句:函数封装的功能

return:一般用于结束函数,并且返回信息给函数的调用者

表达式:要返回给函数调用者的信息

注意:最后的return表达式可以不写,若不写的情况下默认return None

参数列表 = 参数1,参数2,…,参数n

1.2 函数的调用

语法:函数名([参数])
若函数需要此参数则传递,不需要则不传递

注意:1.函数不调用的时候,不执行。2.定义函数写在上面,调用写在下面。

1.3 最简单的函数

最简单的函数,即无参数、无返回值的函数

#定义函数
def myPrint():
    print("you are a good man")
#调用函数
myPrint()
1.4 参数的传递

参数传递的本质:实参给形参赋值的过程

传递的参数与函数参数列表中的参数个数保持一致

1.5 位置参数

位置参数又称必选参数

参数传递与其位置有关.位置不能随意更改。

[值传递]指传递不可变类型,一般指string、tuple和number类型

[引用传递]一般传递的是可变类型,一般指list,dict和set

注意:对于可变类型来讲在函数中更改传递进来的参数的时候,
会将其原值也进行更改。

说明:引用传递的本质上还是值传递,只不过传递的是地址,

1.6 关键字参数
概念:用于函数调用时,通过“键-值”的形式加以指定,可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求

def func(name, age):
    print("I am %s, and I am %d year old"%(name, age))
#一般调用
func("lili", 18)
#使用关键字参数
func(age = 18, name = "lili")

关键字参数之间是不存在先后顺序的

当赋值的时候打乱顺序,只能使用关键字。

当位置参数与关键字参数同时存在的时候,将关键字参数写在位置参数的后面。

1.7 默认函数
在定义函数的时候,我们为参数提供了默认值,若调用函数的时候,
没有传此参数,则会使用默认值,若传了此参数,则使用传递的参数。
优点:简化了函数的调用
def func(name, age=18)
    print("I am %s, and I am %d year old"%(name, age))

#一般的函数调用
func('lilei', 19)
#关键字参数调用
func(name = 'leilei')
#使用默认参数调用
func('lili')

使用默认参数的时候需注意:

1.位置参数在前,默认参数在后,否则python解释器会报错

2.默认参数必须指向不变对象(字符串等),不然像列表这种前面的变化会影响到后面的输出结果。

3.如何设置默认参数

当函数有多个参数时,把变化大的参数放在前面,变化小的放在后面,变化小的可以作为默认参数。

有多个默认参数的时候,可以按顺序提供默认参数,当不按顺序提供参数的时候需要使用关键字参数进行调用。

不定长参数:
定义函数的时候,不确定会有多少参数,这种情况下我们可以使用不定长参数来处理。即包裹位置参数或者包裹关键字参数
特点:能处理比声明时候更多的参数【传递多少参数处理多少参数,不传递则不处理】
1.8 包裹位置参数--*args

添加了星号(*)的变量名会存放所有 未命名的变量参数
如果在函数调用时没有指定参数,它就是一个空的//元组//

包裹位置参数实质上就是一个元组,将传递的参数进行收集,
并不是所有的参数都进行收集,它只收集除位置参数以外多余的参数【位置参数】
1.9 包裹关键字传递--**kwargs

本质:是一个字典(dict),将关键字参数的变量作为key,将其值作为value。

收集所有的关键字参数。传递参数必须使用关键字传参。

传递规则:

注意,参数定义与调用的顺序必须是:必选参数【位置参数】、可变参数【包裹位置参数】、默认参数、包裹关键字参数

1.10匿名函数

定义:不需要定义函数名的函数或者是子程序。

特点:匿名函数不使用def定义函数,而是使用lambda来定义。

1.lambda只是一个表达式,函数体比def简单

2.关键字lambda表示匿名函数,冒号前面的x表示函数参数.

3.匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果.

好处: 函数没有名字,不必担心函数名冲突

调用:把匿名函数赋值给一个变量,再利用变量来调用该函数.

语法:

lambda 参数1,参数2,…,参数n: expression[表达式]

func = lambda a,b : a+b
print(func(10,20))
'''
需求:求三角形的面积
输入三角形底边,与三角形的高。
'''
mianji = lambda bian,height : bian*height/2
print(mianji(20,10))
print(type(mianji))

相关文章

  • Excel(三)

    AND函数 OR函数 NOT函数 IF函数 频率分析函数FREQUENCY

  • if、else if、for、while、repeat函数

    ①if函数 ②else if函数 ③for函数 ④while函数 ⑤repeat函数

  • strsplit、mapply、paste、match函数

    strsplit函数 mapply函数 strsplit函数 mapply函数 paste函数 match函数 第...

  • Oracle中常用函数(SQL)

    Oracle函授有以下几个分类:数字函数、字符函数、日期函数、转换函数、集合函数、分析函数 数字函数: 字符函数:...

  • MySQL函数

    字符函数 数字运算函数 比较运算符和函数 日期时间函数 信息函数 聚合函数 加密函数 流程函数

  • BI-SQL丨AND & OR & IN

    AND函数 & OR函数 & IN函数 AND函数、OR函数和IN函数都可以理解是WHERE函数的补充,当然也可以...

  • Python之函数

    课程大纲 函数定义 函数的参数 函数的返回值 高阶函数 函数作用域 递归函数 匿名函数 内置函数 函数式编程 将函...

  • 函数基本知识

    函数 函数的定义: def 函数名() 函数的调用:函数名() #不能将函数调用放在函数定义上方 函数的文档注...

  • 积分表——不定期更新

    基本初等函数包括: 常函数: 幂函数 指数函数 对数函数 三角函数 反三角函数 I、反函数Ⅱ、复合函数:初等函数(...

  • MySQL基本使用

    函数 常用函数 数学函数 字符串函数 日期函数

网友评论

      本文标题:函数

      本文链接:https://www.haomeiwen.com/subject/glbppqtx.html