1.参数传递
在python里,变量只是一个指针,储存对象的地址。且变量有可变与不可变之分。可变类型参数在进行传递时,函数外部的值会跟着内部改变而改变。而不可变类型在函数类型修改时不会影响外部变量。python中一切都是对象,一般在python不说值传递与引用传递,而说不可变类型和可变类型。(参数传递的类型:可变类型和不可变类型)
(1)可变类型
- python可变类型只包含两个:列表(List)和字典(dict)。
若在函数体内部使用切片的方式进行修改,则会影响外部对象的值。若直接进行整体赋
值,那也不会影响外部的变量,只有在使用切片修改时才会。
点击查看代码
""" 采用切片的方式在函数内部修改变量a的值,外部对象也跟着变化 """ a = [100,1] def change(a): a[1] = 200 a[0] = 2 print(a) return change(a) print(a)
点击查看代码
""" 采用整体的方式,内部修改不影响外部,这时候与不可变类型。 """ a = [100,1] def change(a): a = [200,2] print(a) return change(a) print(a)
(2)不可变类型
python的不可变类型有:元组、字符串和数值为不可变类型。函数内部的任何修改都不会影响外部对象的值。
2. 参数类型
在参数传递时的类型可分为两种类型,在函数内部进行参数调用的时候又可以按照形式分为4种类型。
(1)必须参数:必须输入,否则函数会出错。
(2)默认值参数:在函数定义时采用等号对参数进行赋初始值,如果该参数没有被传参,则使用默认值。
(3)关键字参数:在函数传参的时候采用函数中形参的关键字进行赋值,成为关键字参数
(4)不定长参数:不定长参数在不确定输入参数长度时使用,对参数使用星号来表示(具体待使用时学习)def fun(arg1,*var_arg)
3. 匿名函数
匿名函数只有一行表达式,函数名采用等号赋值,形式为:func_name = lambda x1,x2,...,xn: f(x1,x2,...xn)
点击查看代码
x1 = 100 fun = lambda x:x+5 print(fun(x1),fun(100))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统