小白教程

 找回密码
 立即注册
查看: 5879|回复: 0

小白教程:pyhon 函数分类及用法

[复制链接]

176

主题

185

帖子

663

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
663
发表于 2021-4-9 13:08:18 | 显示全部楼层 |阅读模式
函数
什么是函数:
函数是功能 过程 结果(是实现某一功能或者某些功能的命令的集合)

函数定义
def 函数名称(参数):
#缩进 函数体

1.定义函数的时候,需要确定函数的名称和参数个数

2.如果有必要的话,需要先对参数的类型做检查

3.函数的内部可以用return返回函数的结果

4.函数可以返回多个值,但是返回的结果实则是元组tuple

函数调用
格式:
print(函数名称(参数))
函数名称实则是指向函数对象的引用,可以把函数名称赋值给一个变量。

函数分类
有没有参数:

有参函数 ,无参函数

有没有返回值:

有返回值函数 ,无返回值函数

定义者分类:

系统 , 第三方

全局变量,局部变量
全局变量:
在模块内、在所有函数外面、在class外面
局部变量:
在函数内的方法内
1.局部变量的作用域:只在函数内有效
2.函数的内部是可以访问全局变量,但是不能改变全局变量
(在局部变量内可用global()来操作全局变量)

函数的参数
位置参数
  1. def show(a):
  2. return a*a

  3. show(a)中a就是位置参数
复制代码
默认值参数

定义函数的时候,可以给参数加上默认值,调用函数的时候,如果没有给这个参数赋值,也是可以成功调用函数
注意:
1.默认值参数应该写在必选参数的后面
2. 默认值参数可以有多个,变化范围小的参数要写在变化范围大的参数前

可变参数
  1. def word(*str):
  2.         sum=0
  3.         for i in str:
  4.                 sum+=i
  5.         return sum

  6. li=[2,3]
  7. print(li(num[0],num[1]))
  8. 结果为:
  9. 6
复制代码
li列表的所有元素作为可变参数传递给了word

关键字参数
(用于扩展,使参数3为一盒列表)
格式:
def 函数名 (参数1,参数2,**参数3)
参数3为关键字参数(用于扩展,使参数3为一个列表)

命名关键字参数
函数递归
在函数的内部,可以调用其他函数,函数内部调用自己,就是递归

前提条件:

1.函数自己调用自己
2.有终止条件
  1. //求a的阶乘
  2. def sum(a):
  3.         if n==1:
  4.                 return 1
  5.         return n*sum(a-1)
  6. print(fact(3))
  7. 结果为:
  8. 6
复制代码
匿名函数

定义:
lambad 表达式就是一个函数,可以赋值给一个变量,既然是表达式,可以参与运算

  1. lambda_b = lambda x : x if x % 2 == 0 else x+2
  2. print(lambda_b(6))
  3. print(lambda_b(7))

  4. 6
  5. 9
复制代码

lambda x: x** 2 这个匿名函数的形参是x,那么可以找个变量存起来,在调用这个变量的时候传递的参数就是实参,表达式 x if x % 2 == 0 else x+2的值就是这个函数的返回值。





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )

GMT+8, 2024-9-20 14:47 , Processed in 0.029212 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表