函数初识
一。函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。
# 定义函数 def my_len(s): sum = 0 for i in s: sum = sum + 1 return sum # 调用函数 s = 'adaasdad' length = my_len(s) print(len)
程序在运行时,是调用函数时再去运行定义函数
二。函数的参数
1.形式参数
1.默认参数:必须传
2.*args:可以接收任意多个位置参数
3.默认参数:可以不传
4.**kwargs:可以接收多个关键字参数
2.实际参数
按照位置传参
按照关键字传参
3.动态参数
*+参数名,通常为*args
接收的时按照位置传参的值,组织成一个元组
def sum(*args): n = 0 for i in args: n += 1 return n print(sum(1, 2)) print(sum(1, 2, 3)) print(sum(1, 2, 3, 4))
def func(*args): print(args) func(1, 2, 3, 4) #(1,2,3,4)
**+参数名,通常为**kwargs
接收的是按照关键字传参的值,组织成一个字典
def func (**kwargs): print(kwargs) func(a=1, b=2, c=3) # {'a': 1, 'b': 2, 'c': 3}
def func(**kwargs): print(kwargs) func(a=1,b=2) d = {'a':1,'b':2} func(**d) # {'a': 1, 'b': 2} {'a': 1, 'b': 2}
# args 必须在 kwargs 之前
6.关键字参数
参数名:‘默认的值’
7.参数的传输与接收
站在实参的角度上,可以按照位置传参,可以按照关键字传参,也可以混合传参,但是混合传参时,必须先按照位置传参,再按照关键字传参,且泵给听一个变量传多个值
站在形参的角度上,位置参数必须传,且有几个参数就传几个值。
默认参数:可以不传,如果不传就是用默认参数,如果传了就用传的参数
def class_mes (name, sex="男"): # sex = '男'即为默认参数 print("%s:%s" % (name, sex)) class_mes('张三') class_mes("李四", '女') # 张三:男 李四:女
三。函数的返回值
1.没有返回值
不写return
只写return,结束一个函数的继续
return None---- --不常用
2.返回一个值
可以返回任意数据类型
只要返回就可以接收到
如果在一个程序中有多个return,只执行第一个
3.返回多个值
多个返回值用多个变量接收,有多少返回值就用多少个变量接收
与用一个变量接收多个返回值,会得到一个元组
def cho(s): alpha = 0 numb = 0 for i in s: if i.isalpha(): numb += 1 else: alpha += 1 return alpha, numb r, r1 = cho("56a4da4sd5") print(r, r1) # 5 5 def cho(s): alpha = 0 numb = 0 for i in s: if i.isalpha(): numb += 1 else: alpha += 1 return alpha, numb r = cho("56a4da4sd5") print(r) # (5,5)

浙公网安备 33010602011771号