day9

#函数

# #长度1 len
# s='你好智旻'
# print(len(s))
#
#
# #长度2
# i=0
# for k in s:
#     i +=1
# print(i)

#命名函数
'''
s='包头市大宝贝'
#len(s)
def my_len():#命名函数
    i = 0
    for k in s:
        i += 1
    print(i)

my_len()#运行函数,没有返回值
'''

#返回值
'''
a='觉得卡死了'
#len(s)
def my_len():#命名函数
    i = 0
    for k in a:
        i += 1
    return i#返回值

length1=my_len()#运行函数
s='包头市大宝贝'
def my_len():#命名函数
    i = 0
    for k in s:
        i += 1
    return i#返回值
length2=my_len()
print(length1+length2)
'''

#返回值的分类
'''
#没有返回值
    #不写return i
    #只写return,不写i ,又表示结束一个函数
    #return none--不常用
#有一个返回值
def func():
    return 1
    return 1 #这个不执行
print(func())
#有多个返回值
    #多个变量接收多个返回值
def func():
    return 1,2
r1,r2=func()
print(r1,r2)
    #一个变量接收一个返回值,返回元组
def func():
    return 1,2,3
r1=func()
print(r1)
'''
#参数

# def my_len(a):#自定义参数,接收参数,形式参数
#     i = 0
#     for k in a:
#         i += 1
#     return i#返回值
# length1=my_len('觉得卡死了')#传递参数
# length1=my_len([1,2,3,4])#传递参数,实际参数
# print(length1)
#
# def my_len(a):#自定义参数,接收参数,形式参数
#     for k in a:
#         print(k)
#
# def my_len1(a):  # 自定义参数,接收参数,形式参数
#     for k in a:
#         print(k)
# my_len([1,2,3,5])
# my_len1([1,2,3,5])

# def my_len(a):#3
#     for k in a:#4
#         print(k)#5
#
# def my_len1(a):  # 1
#     my_len(a)#2
#     for k in a:#6
#         print(k)#7
# my_len1([1,2,3,5])


# def f1(a,b):  #位置传参
#     res=a+b
#     return res
# print(f1(1,2))
#
# def f1(a,b):  # 关键字传参
#     res=a+b
#     return res
# print(f1(a=1,b=2))

#参数
'''
#位置参数在前 默认参数(即关键字传参)在后
def classmate(sexy,name='人间芭比'):
    print("%s,%s"%(name,sexy))
classmate(name='兄嘚',sexy='男')
classmate(sexy='女')
# classmate('女') #位置参数必须在动态参数之前定义
classmate(sexy='女',name='小姐姐')#关键字传参,可以调换位置
classmate('女','小姐姐')#位置传参不可以

#动态参数  args必须在kwargs之前
#*args 接受位置参数,组成元组
def sum(*args):
    n=0
    for i in args:
        n+=i
    return n
sum(1,2)
print(sum(1,2))
print(sum(1,2,3,4))

#args 默认参数
def sum(*args,l=[]):#args无法进行关键字传参
    print(args,l)
sum(1,2,'saK',l=[2,'jk'])

#kwargs 关键字传参,组成一个字典
def func(**kwargs):
    print(kwargs)
func(a=1,b='hk',c=["jka",'js'])

#顺序:位置参数 args 默认参数 kwargs
def func(*args,de=1,**kwargs):
    print(de,args,kwargs)
func(1,2,3,'sd',de=5,a='sj',c=2)
'''

#*args另一种方法
def func(*args):
    print(args)
func(1,2,3,4,5)
l=[1,2,3,4,5,6]
func(*l)#*l给序列加*就是将序列按顺序打散

#**kwargs另一种方法
def func(**kwargs):
    print(kwargs)
func(de=5,a='sj',c=2)
e={"a":1,'b':'hk','c':"jka"}
func(**e)

  

posted @ 2018-12-03 12:25  菜菜会回来改名字的  阅读(101)  评论(0编辑  收藏  举报