# # 函数的定义def 定义名() :
# def yq() : # 和循环一样函数的内容必须全部缩进4个空格,功能代码def 函数名()
# a = int(input('请输入你要的数字:'))
# for i in range(a) :
# print(' '*((a-1)-i),'&'*(2*i-1))
# print(type(yq)) # <class 'function'>,这个就是他的类型
# # 函数的调用 用函数的定义名加上()就可以直接调用
# yq() # 注意:调用必须在定义的后面,否则无法调用
# def tongyao():
# return 'hello world' # return 是返回结果和print显示一样,但后者只是显示,没有值
# data = tongyao()
# print(data*3) # hello worldhello worldhello worlddq # 后面*3,代表输出3次
# 返回结果,return
# def func():
# return [1,2,3,4,5] # 直接将结果保存在代码中
# li = func()
# print(li,type(li)) # [1, 2, 3, 4, 5]
# li.append("hello") # 追加括号的内容到列表中
# print(li) # [1, 2, 3, 4, 5, 'hello']
# # 函数,必备参数、默认参数、不定长参数
# def func(a): # 形参
# b = a + a
# return b
# data = func(5) # 实参
# print(data) # 10
# def func(a,b): # 形参,里面有2个形参,在实参里必须填2个数,就叫必备参数
# c = a + b
# return c
# data = func(5,6) # 实参,形参有几个数,实参这必须有几个数
# print(data) # 11
# # 默认参数
# def func(a,b,d=4): # 形参,默认参数只能放在最后,如果实参有数据时就是实参的数据,否则是默认数据
# c = a + b +d
# return c
# data = func(5,6,6) # 实参,形参里必备的参数必须满足,默认参数可填可不填
# print(data) # 17
# # 不定长参数,就是参数的长度可以是多位,不受限制,所以叫不定长,除了指定的参数外,其它全部装在*args
# # 解包,,除了指定的参数外,其它全部装在*args
# a,b,*tong,d = (1,2,3,4,5,6,7,8,9)
# print(a) # 1
# print(b) # 2
# print(*tong) # 3 4 5 6 7 8
# print(d) # 9
# # 位置参数
# def func(*args) : # 全部装在*args里面的
# print(args) # (1, 2, 3, 4, 5, 6, 7, 8, 'hollo')
# func(1,2,3,4,5,6,7,8,'hollo')
# # 关键字参数,主要是来传键值对的数据,得到字典数据
# def func(f,g,**kwargs) : # 全部装在**kwargs里面的,关键字参数必须放在后面
# print(f,g,kwargs) # 1 2 {'a': 1, 'b': 2, 'c': 3}
# func(1,2,a=1,b=2,c=3) # 必须参数的实参必须放在前面,后面才是关键字实参
# # 内置函数
enumerate()
eval()
filter()
map()
zip()
print(zip())