# 函数类似与方法
# 函数的定义
# 无参数 无返回值
def function() :
print('函数测试') ;
# 带参函数,默认值为0
def fun(name,age=18) :
print('%s今年%d岁'%(name,age))
# 函数实参调用
fun('小王')
fun('小王',20)
#不定长参数
# *param 带一个*的参数类型为元组; 所有命名的参数;
# **param2 带两个*的参数类型为字典数据类型;带字段命名的参数
def fun2(name,*param,**param2) :
print(name,param,param2)
# 函数调用
fun2('大王','A','B','C',age="20")
# 有返回值函数
def fun3(name) :
str = "你好,"+name;
return str ;
# 函数调用
str1 = fun3('小王');
print(str1)
# yield 关键字 语法与return相似 都可以返回该函数处理结果,但是实际用法却不同;返回类型为 <class 'generator'>
# return 当一个函数return后,代表着该函数已经结束运行,并且返回改函数执行后的结果;
# yield 可以使该函数变成一个执行计划生成器;当函数被调用后会根据将入参分别独立与该函数体进行绑定;
# 类似于一个执行过程,而不是一个确定的值;然后根据实际需要该函数返回值时通过关键字next(val)
# 才是真正使用该参数进行函数运算并且得出具体的结果;
def funYield(list):
yield list
val = funYield([1,2,3]);
print(type(val))
print(next(val))
函数小练习
# 判断润年 # 要求:输入一个年份,判断该年份是否为润年 # 润年需要具备: 1、能被4和400整除,不能被100整除 def isRun(year): if year.isdigit() == False: str1 = "请输入正确的数字!" return str1 else: yearNum = int(year) if (yearNum % 4 == 0 and yearNum % 100 != 0) or yearNum % 400 == 0 : str1 = year + "是润年!" else: str1 = year + "不是润年!" return str1 year = input("请输入一个年数:"); print(isRun(year))