函数知识点:1.什么是函数? 2.函数具体的代码格式 书写
1.函数的认知:即什么是函数?
函数由五大部分组成的: 1.def 关键字 2.函数名 3.参数 4.函数体 5.return 函数的返回值
1. .def 关键字
定义函数的关键字
2.函数名:命名规范和变量名命名规范一致(可以看做变量)
1.不能与关键字冲突
2.尽量做到见民知意
3.参数 :1.分类2.形参实参关系3.函数的参数详情 4.位置参数和关键字参数格式
1.分为两类:
1.形参:在函数定义阶段括号内写的变量名,称之为形参
2.实参:在函数调用阶段括号内传入的具体的值,称之为实参
2.形参与实参之间的关系?
1.形参就是变量名
2.实参就是变量名指向的值
3.只有在调用函数的时候两者才有关系,一旦函数运行结束,两者关系自动解除
函数的参数详情:1.位置参数 2.默认值参数 3.可变长参数
1.位置参数:1)定义函数时按照位置书写变量, 2)位置形参在调用时必须为其传值
2.默认值参数:1)定义阶段亦然给形参赋值 2)注意:如默认值参数是可变类型时,需要细心
可变类型补充:
- 可以修改对象的的值,修改后对象的内存地址不变
- 可变类型包括:列表、字典
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 >>> s = [1, 2, 3, 4, 5] 2 >>> id(s) 3 2115225773704 4 >>> s[2] = "a" 5 >>> s 6 [1, 2, 'a', 4, 5] 7 >>> id(s) 8 2115225773704 9 10 >>> d = {"name": "bone", "age": 26} 11 >>> id(d) 12 2115223112656 13 >>> d["age"] = 25 14 >>> d 15 {'name': 'bone', 'age': 25} 16 >>> id(d) 17 2115223112656 18 19 >>> a = {1, 2, 3} 20 >>> id(a) 21 2115225769128 22 >>> a.add(4) 23 >>> id(a) 24 2115225769128 25 >>> a 26 {1, 2, 3, 4} 27 --------------------- 28 作者:Bone丶 29 来源:CSDN 30 原文:https://blog.csdn.net/c_first/article/details/89515804 31 版权声明:本文为博主原创文章,转载请附上博文链接!
3.可变长参数 (动态参数)
*
**
# 在形参中
* 可以接收多余的位置参数,将他们组织成一个元组 交给 * 后面的变量名
** 可以接收多余的关键字参数,将他们组织成一个字典 交给 ** 后面的变量名
# 在实参中
* 打散: 可以把列表,元组,集合,字符串这些支持for循环的容器类型打散成位置参数
** 打散: 可以把字典类型打散 key = value 的形式,按照关键字参数传给函数
4.位置参数和关键字参数格式
函数可以接收调用者传入的任意个数的参数:
def func(*args,**kwargs):
print(args)
print(kwargs)
4.函数体 逻辑代码:用来实现功能,判定函数到底可以用来做什么.
5.return 函数的返回值 :return是她的关键字 ---------------定义
1.返回给函数调用者函数体执行结束后,得到的结果 : 返回结果
2.只要函数体执行到return,函数立即结束 : 强制停止
函数返回值的三种情况:1.不写return 2.写return返回一个值 3.写return返回多个值 ----应用
1.不写return
注:Python所有函数都有返回值,不写return的情况下,默认返回NOne
2.写return返回一个值:三种情况:
1.return
主动结束函数的运行
2.return None
主动结束函数的运行
3. return 值
返回给调用者函数体执行结果,这个值可以是Python任意类型
3.写return返回多个值:return只能返回一个值,所以这是个容器,(),tuple
1.return 值1,值2,值3...
未设置,return会自动将多个数值组成一个元组,返回给调用者
代码示例:
如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 # 函数 2 def func(a,b,c): 3 ''' 4 返回值测验:结束参数 5 :param a: 6 :param b: 7 :param c: 8 :return: 9 ''' 10 return a,b,c 11 res = func(11,12,132) 12 print(res) 13 14 # 值 (11, 12, 132) 15 def func(*args): 16 ''' 17 注释 18 :param args: 19 :return: 20 ''' 21 return args 22 # 传实参 23 li = func(1,2,1,322,4,1,5,411,2,54,4,6,6,4,45,5,4,5,6,4,4,6,4,4,5,4,4,8,5,44,5,9,4) 24 # 打印 25 print(li) 26 # 值 (1, 2, 1, 322, 4, 1, 5, 411, 2, 54, 4, 6, 6, 4, 45, 5, 4, 5, 6, 4, 4, 6, 4, 4, 5, 4, 4, 8, 5, 44, 5, 9, 4)
2.return [值1,值2,值3...]
也可以设置自定义数据类型
代码示例
如下
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 # 列表 2 def func(a,b,c): 3 return [a,b,c] 4 res = func(11,12,132) 5 print(res) 6 # 值 列表 [11, 12, 132] 7 8 # 字典 9 def func(a,b,c): 10 return {'1':a,'2':b,'3':c} 11 res = func(11,12,132) 12 print(res) 13 14 # 值 字典 {'1': 11, '2': 12, '3': 132}
数据类型知识点应用于函数补充:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 def func(): 2 return 'a', 'b', 'c' 3 4 5 x, y, z = func() 6 print(x,y,z) # a b c 7 8 x, _, _ = func() 9 print(x,_,_) # a c c # _代表不接受,省略不写,不会报错 10 x, *_ = func() 11 print(*_) # b c 12 print(x,*_) #a b c
ps:# 注: 函数的注释:推介使用,提高逻辑思维,提高代码清晰度
1.用来描述函数具体实现的功能
2. 说明你写的函数形参表示的意义
3.还可以说明你这个函数返回值有什么特点
2.函数的具体代码格式:1.格式 2.定义函数的三种方式
1.格式
def 函数名(参数1,参数2,参数3...):
"""
函数的注释:
1.参数的解释
2.返回值的解释
"""
函数体代码1
函数体代码2
函数体代码3
return 函数的返回值
2.定义函数的三种方式 :1.空函数2.无参函数 3.有参函数
1.空函数:1)快速构建项目框架,2)使项目架构清晰明了,3).应用频率非常高
def func():
pass
2.无参函数
def func():
print('func run')
3.有参函数
def func(x,y,*args,**kwargs)
pass
今日内容
函数对象
函数的嵌套调用
名称空间
作用域