函数的参数
1.计算机基础2.编程语言和Python语言介绍3.八大基本数据类型4.python语法入门变量和常量5.python和pycharm相关补充6.计算机五大部件补充7.文件操作8.编码和解码9.字符编码10.基本数据类型的内置方法11.循坏结构12.流程控制13.基本运算符14.程序与用户交互15.迭代器16.闭包函数17.装饰器18.多层语法糖嵌套
19.函数的参数
20.函数的可变长参数21.命名关键字参数22.名称空间与作用域23.异常处理24.深浅拷贝问题25.函数的定义和调用26.控制文件读写内容的模式27.主动控制文件内指针移动28.文件的操作方法29.垃圾回收机制GC30.可变与不可变类型31.元类32.内置方法33.pickle模块34.单例模式35.方法补充issubclass和isinstance36.多态37.继承38.面向对象的三大特性39.封装40.内置函数41.面向对象42.logging模块43.subprocess模块44.正则45.datetime模块46.time模块47.绝对路径和相对路径48.random模块49.os模块50.hashlib模块51.模块与包52.json模块53.生成器54.三元运算符函数的参数
形参和实参的介绍
函数的参数分为形式参数和实际参数,简称形参和实参
- 形参即在定义函数时,括号内声明的参数。
- 形参本质就是一个变量名,用来接收外部传来的值。
- 实参即在调用函数时,括号内传入的值
- 值可以是常量、变量、表达式或三者的组合
#形参和实参
# #定义的函数名后的(),内部的都是形参
# def add(x,y):
# return x+y
# #调用函数时,函数后面的(),内部的内容都是实参
# res=add(10,5)
# print(res)
# def add(x,y):
# return x+y
# #实参是常量
# add(10,5)
# def add(x,y):
# return x+y
# x=10
# y=5
# #实参是变量
# add(x,y)
# def add(x,y):
# return x+y
# #实参是表达式
# res=add(10*2,add(2,2))
# print(res)
位置参数
- 位置参数即按照顺序传参
- 在定义函数时,按照从左到右的顺便定义形参,则传入实参时,也要对应顺序就行传参。
# def add(name,age):
# print(f'my name is {name},my age is {age}')
#
# res=add('syh',23)
# print(res)
- 在调用函数时,按照从左到右的顺序依次定义实参,称为位置实参
- 凡是按照这种形式定义的实参会按照从左到右的顺序与形参一一对应
关键字传参
- 关键字可以不按照对应位置进行传参
#关键字传参可以不按照对应的位置传参
# def add(name,age):
# print(f'my name is {name},my age is {age}')
#
# res=add(name='syh',age=23)
位置和关键字混合使用
- 位置传参必须在前,关键字传参必须在后面,而已关键字传参不能一个实参传给多个形参。
#def add(name,age):
# print(f'my name is {name},my age is {age}')
#res=add('syh',age=23)
默认参数
- 参数中有默认值时,可以不用传值
- 参数中有默认值,仍继续传值时,会覆盖掉原有的默认值,使用新传入的值
"""默认参数"""
# 参数有默认值,可以不传值
#def add(name,age,sex='男'):
# print(f'my name is {name},my age is {age},my sex is {sex}')
#res=add('syh',age=23)
# my name is syh,my age is 23,my sex is 男
# #参数有默认值时,重复传值会覆盖掉默认值,使用新传入的值
# def add(name,age,sex='男'):
# print(f'my name is {name},my age is {age},my sex is {sex}')
#
# res=add('syh',age=23,sex='女')
- 默认参数,必须在参数之后
- 默认参数为可变数据类型时,直接在可变数据类型内添加值
- 默认参数为空时,传入参数时,对应函数中的参数为空,在函数内部会做一个判断,不传值,便为空,则参数重置为空。
"""默认参数必须在参数之后"""
# 默认参数的值仅在函数定义阶段被赋值一次
"""默认参数为可变数据类型"""
# #默认参数为可变数据类型
# def append_list(num,list=[]):
# list.append(num)
# return list
# #调用时候就是在可变数据类型列表中添加元素
# res=append_list(1)
# print(res)
#列表时可变数据类型,在上面的基础上,会对列表进行添加值
# res1=append_list(2)
# print(res1)
# # [1]
# # [1, 2]
"""默认参数为空None"""
# def append_list(num,list=None):
# if list is None :
# list=[]
# list.append(num)
# return list
# #对应的函数在参数中为空,不可变数据类型
# #在函数中做一个判断后,不传值为空,列表重置为空
# res=append_list(1)
# print(res)
# #在函数中做一个判断后,不传值为空,列表重置为空
# res1=append_list(2)
# print(res1)
# # [1]
# # [2]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)