随笔 - 14, 文章 - 0, 评论 - 0, 阅读 - 209

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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))
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示