函数的定义
# 函数的定义
# def intro(): # 定义函数
# """
# 自我介绍
# :return:
# """
# print('我是菜鸡')
# print('我是菜鸡')
# print('我是菜鸡')
# print('我是菜鸡')
# print('我是菜鸡')
# print('我是菜鸡')
# pass
#
#
# intro()
传参
参数的分类:必选参数,默认参数,可选参数,关键字参数,复合参数
# # 传入参数
# def intro(name,height,weight,pro): # 定义函数,包含(参数)
# """
# 自我介绍
# :return:返回输入的个人信息
# """
# print('%s的身高是%s,体重是%s,专业是%s'%(name,height,weight,pro))
# pass
# intro('BBG','180','200','机器人')
# 参数的分类:必选参数,默认参数,可选参数,关键字参数
# # 必选参数
# def sum(a,b): # a b称为形式参数,形参只是意义上的一种参数,在定义的时候不占用内存地址
# summ=a+b
# print(summ)
# pass
# sum(15,25) # 15,25为实际参数,实参占用内存地址
# # 默认参数【缺省参数】,必须始终存在于参数列表的尾部
# def sum1(a=20,b=30):
# print('默认参数使用=%d'%(a+b))
# pass
# sum1()
# sum1(10) # 调用时,若未赋值,就用默认参数
# sum1(10,20)
# 可选参数 ,当参数的个数不确定时使用
# def getcpu(*args):
# '''
# :param args: 可变长的参数类型
# :return:
# '''
# print(args)
# pass
# getcpu(1)
# getcpu(1,2)
# getcpu(1,2,3)
# def getcpu(*args):
# '''
# 计算累加和
# :param args: 可变长的参数类型
# :return:
# '''
# result=0
# for i in args:
# result+=i
# pass
# print('result=%d'%result)
# pass
# getcpu(1,2,3)
# getcpu(1,2)
# getcpu(1,2,3,4)
# 关键字参数,**来定义,在函数体内,参数关键字是字典类型,key是一个字符串
# def keyf(**kwargs):
# print(kwargs)
# pass
# dicta={'name':'leo','age':20}
# keyf(**dicta)
# keyf(name='mike',age=15)
# keyf(**{'name':'mike','age':15})
# keyf()
# def complexf(*args,**kwargs): # 复合参数,组合使用
# print(args)
# print(kwargs)
# pass
# complexf(1,2,3,4)
# complexf(1,2,3,4,name='nancy')
# complexf(name='john')
#
# def complexf(**kwargs,*args): # 此语句错误,可选参数必须放到关键字参数之前.
# print(args)
# print(kwargs)
# pass
函数返回return
# 函数返回值 return可返回任意类型,一个函数体内可以有多个return,但只能返回一个
# 执行了return,函数即退出
# def sum(a,b):
# sum=a+b
# return sum
# pass
#
# rs=sum(10,20)
# print(rs)
# 返回整形
# def cal(num):
# re=0
# i=1
# while i<=num:
# re+=i
# i+=1
# pass
# return re
# t=cal(10)
# print(type(t))
# print(t)
# 返回列表
# def cal(num):
# list=[]
# re=0
# i=1
# while i<=num:
# re+=i
# i+=1
# list.append(re)
# pass
# return list
# t=cal(10)
# print(type(t))
# print(t)
# def cal():
# # return 1,2,3,4,5
# # return (1, 2, 3, 4, 5)
# # return [1, 2, 3, 4, 5]
# return {'name':'白菜'}
# t=cal()
# print(type(t))
# print(t)
函数嵌套调用和分类
# 函数嵌套调用
# def fun1():
# print('start1')
# print('end1')
# pass
# def fun2():
# print('start2')
# fun1()
# print('end2')
# pass
# fun2()
# 函数的分类:
# 有/无参数,有/无返回值