iOS开发人员如何学习Python编程10-函数1

139 阅读2分钟

这是我参与11月更文挑战的10天,活动详情查看:2021最后一次更文挑战

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数

自定义函数

定义规则:

  • 函数代码块以def关键词开头,后接函数标识符名称和圆括号()
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • 函数内容以冒号起始,并且缩进。
  • 通过函数名加英文状态下的小括号对函数进行调用,如:function_name()
def function_name(para):
    print("函数体代码")
    
function_name(1)

函数的参数

形参与实参:

  • 形参就是形式上的参数,没有实际的值,通过别人赋值后才有意义,相当于变量。
  • 实参就是实际意义上的参数,是一个实际存在的参数。
def test(b):    # 形参
    print(b)

a = 1
test(a) # 实参

可变类型参数与不可变类型参数:

  • 可变类型参数在函数体内对变量重新赋值,相当于重新开辟了一块内存来保存值:
def test(a):
    a = 10
    print('111',a)  # 10

a = 1
test(a)
print('222',a)  # 1

不可变类型参数,在函数体内可以改变原有的值:

def test1(li):
    li.extend([1,11])
    print('111',li) # [1, 2, 3, 1, 11]

li = [1,2,3]
test1(li)
print('222',li)     # [1, 2, 3, 1, 11]

位置参数:

  • 位置参数也就是实参与实参顺序一一对应,而不论变量名。

默认值参数:

  • 形参处进行赋值,所以当调用时不传该参数就默认使用形参处的值。当调用时传了该参数,则覆盖掉默认参数:
def test2(a,b=2):
    a = a+b
    print(a,b)

a = 1
test2(a)  # 3 2
test2(a,10)  # 11 10

可变长度参数:

  • *args接收时会转为元组数据类型:
def test3(*args):
    print(args)

# test3()     # ()
test3(1,2,3)  # (1, 2, 3)
  • **kwargs接收时会转为字典数据类型:
def test4(**kwargs):
    print(kwargs)

test4(a=1,b=2,c=3)  # {'a': 1, 'b': 2, 'c': 3}

解包:

def test5(a,b,c):
    print(a,b,c)

tu = (1,2,3)
test5(*tu)