python课程回顾复习记录简要3

第三节,函数
函数指的是一段用来完成特定功能的代码片段,某些语言也称为方法。
优点:
1.便于开发者阅读程序;
2.有助于提高代码的复用性。
一.定义与调用
定义:
def 函数名():
代码片段
调用:
函数名()
函数命名规范要注意:
①函数名的所有字母均为小写
②多个单词之间使用下划线_ 分隔
③动词+名词
文档说明
在python中若想要观察某个函数的描述信息 则可以使用help()来完成
help(函数名)
文档说明:在函数定义后的第一句话,写多行注释,说明这个函数的具体用途。
def fun():
“”“输出一句话”""
print(“hello”)
在这里插入图片描述
参数
分为形式参数,实际参数
def 函数名(参数1,参数2,参数3,…): ------形参
代码片段
调用函数
函数名(参数1,参数2,参数3,…)
①若函数已定义完成且没有参数,则可以直接使用函数名就可以完成函数的调用;
②在调用函数时,该函数定义时有几个参数,那么久需要传递几个参数值,且多个参数值之间使用逗号分隔开
③形式参数在函数汇总是以局部变量的形式在使用的
④实际参数就是函数调用时小括号中的参数,只有被调用时才会有实参出现、
⑤实参的数目 数据类型和次序和所调用函数定义的形参列表相匹配
缺省参数
缺省参数指的是可能不需要传递具体的参数值,当没有缺省参数值传入时,则直接使用默认值
def data(age,name=“xiaoming”):
注意 缺省参数只允许定义在参数的结尾
不定长参数
在实际应用中,有时候可能需要传递某个函数能处理比开始声明时更多的参数,这时候的参数称为不定长参数,也可称为可变参数,规范为①*arg会存放所有未命名的变量参数,args表示元组
②**kwargs加了双星号的变量kwargs会存放命名参数(字典)kwargs表示字典

传递参数
1.当为可变类型时,值可以改变,比如:列表list 字典dict
2.当为不可变类型时,值不可以改变,比如:数值类型(int,long,float)字符串(str)元组(tuple)
注意:python中函数参数是引用传递。对于不可变类型,因变量不能修改,所以运算不会影响到变量本身,而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量
返回值
当程序中的函数完成一件事情后,最后返回给调用者的结果,此时需要使用到关键字return
return 结果
return作用1.把值返回给函数2.结束函数
对于函数的返回值,需要注意以下几点:
(1)返回值的类型:函数运行结束之后,一般会有运行结果来返回给调用者,返回值的类型就是运行结果的
数据类型;
(2)可以使用合适的变量来接收函数的返回值; --接过酱油
(3)return 语句可终止函数的运行,并指定要返回的数据结果,注意:若无返回值,则可以直接写成 return;
而无需返回值,同时也可以省略 return 语句;
(4)函数遇到 return 语句后会自动结束函数,并把返回值(如果有)返回给调用者。若无返回值,且省略了 return
语句,则函数会执行到最后一行代码后自动结束。
多个 return 语句中,当执行完第一个 return 语句后,则不再继续往下执行了。
若要返回多个值,每个值需要使用逗号隔开
return a,b,c
局部变量与成员变量
局部变量作用于函数中的某区域内的变量 定义在函数中的参数或者定义在函数中的变量
对于局部变量,需要注意以下几点:
(1)通俗地说,局部变量就是在函数内部定义的变量;
(2)局部变量只作用在单个的函数中;
(3)局部变量的作用主要是为了临时保存数据,而需要在函数中定义局部变量来进行存储;
(4)不同的函数可以定义相同名字的局部变量,且各个局部变量之间不会相互产生影响。
成员变量,全局变量,作用于整个模块内,与函数处于同一级别的变量
成员变量既能在一个函数中使用,也能在其他的函数中使用,即成员变量作用于全
局。
如果要修改成员变量的的变量值 需要使用关键字global
global 变量名 ##声明要修改具体的某个成员变量名

global a
a=10

特别需要注意的是,一旦成员变量的值修改完成后,则成员变量最初的值也变化了。
当成员变量与局部变量同名情况时,对于成员变量与局部变量同名情况下的问题,需要注意满足“就近原则”,简单的说,就是离谁近就是显示谁的值。
递归算法
递归算法是一种直接或者间接调用自身函数的算法。
递归算法有两个关键点,分别是:
(1)必须要有一个明确的递归结束条件,我们称之为“递归出口”–结束;
(2)要逐步靠近递归结束条件。–条件接近结束值


```python
#定义一个函数
def get_sum(number):
#1.求和,什么时候结束,为 1 时就结束
#2.i=i-1,接近结束条件
    if number == 1:
        return 1
    else:
        #接近结束条件
        return number+get_sum(number-1)
print("计算 1-20 的和:%d"%get_sum(20))

**匿名函数**
所谓匿名函数,可以理解为没有名字的函数,这类函数因省略了用关键字 def 定义函数的标准步骤而得名。
匿名函数需要使用关键字 lambda 来定义,它能定义普遍使用的小型匿名函数(用处不是特别强大,简写代码)。
匿名函数的语法格式如下:求和:x,y a+b
**lambda arg1[, arg2, arg3, ...] : 表达式**
千万要记住,匿名函数不能直接调用 print()输出,因为 lambda 是一个表达式。若要调用该匿名函数,则先
需要使用一个变量来接收匿名函数,然后再通过变量来调用,如下:
**变量名 = 匿名函数 lambda arg1[, arg2, arg3, ...] : 表达式**
如 :求和

```python
#匿名函数:求和
sum=lambda x,y:x+y
#调用
print("求和:%d"%sum(1,2))
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值