python —函数

 1 #1. 必备参数
 2 def sum1(x):
 3     z = x+x
 4     return z
 5 
 6 
 7 print(sum1(10))
 8 
 9 
10 # 2. 默认参数
11 def sum2(x, y=100):
12     z = x+y
13     return z
14 
15 
16 print(sum2(100,200))
17 print(sum2(100))
18 
19 
20 # 3. 不定长参数 
# 参数个数可变 以一定的顺序传入参数,然后函数内部解析
21 # 在函数调用时,*会以单个元素的形式解包一个元祖,使其成为独立的参数。 22 def sum3(*numbers): 23 sum_temp = 0 24 for n in numbers: 25 sum_temp = sum_temp + n*n 26 return sum 27 28 29 print(sum3(1, 2, 3)) 30 31 32 # 4.关键词参数 可变参数允许你传入 0 个或任意个参数,这些可变参数在函数调用时自动组装为一个 33 # tuple(一个不可修改的数组变量),而关键字参数允许你传入 0 个或任意个含参数名的参 34 # 数,这些关键字参数在函数内部自动组装为一个 dict(键值对)。 35 # 即 在函数调用时,**会以键/值对的形式解包一个字典,使其成为独立的关键字参数。 36 def person(name, age, **kw): 37 print('name:', name, 'age:', age, 'other:', kw) 38 39 40 print(person('zhang san', 24, city = "beijing",hobby = "basketball")) 41 42 43 # 5.在函数混合使用*以及**,则可以根据数组和字典的顺序调用 44 45 def h(a, *args, **kargs): 46 print(args[0]) 47 for arg_key in kargs.keys(): 48 if arg_key == "x": 49 print(kargs.get(arg_key)) 50 51 52 h(1, 2, 3, x=4, y=5)

        5综合使用必备参数,默认参数,不定长参数、关键字参数

 1 def day_learn_python(day, plan, state="finished", *learn_time, **learn_content):
 2     """
 3     :param day: 固定参数,定义当天日期
 4     :param plan: 固定参数,表示当天是否学习python ,输入true表示学习,反之表示不学习,使用位置参数
 5     :param state:默认参数,学习计划是否完成 对应默认的参数为”finished“,如果输入参数”unfinished“,使用默认参数
 6     :param learn_time: 不定长参数,每天学习的时间 learn_time 离散的数字 每一个数字对应学习的内容  可以用可变参数以及关键参数
 7     :param learn_content: 关键字参数,每天学习的内容不定
 8     :return:返回当天日志,以及完成的情况
 9     """
10     datetime = 0
11     for time in learn_time:
12         datetime = int(time) + datetime
13     print("learnday :", day, "
"
14           "islearnpythontoday:", plan, "
"
15           "isplanfinished :", state, "
"
16           "daylylearntime :", datetime, "
"
17           "other :", learn_content)
18     return day, state
19 
20 
21 day1, state1 = day_learn_python("20190824", "learnpython", "finished", 1, 2, 3, learncontent1="pythonfunction",
22                                 learncontent2="pythonclass")
23 day2, state2 = day_learn_python("20190823", "learnpython", 1, 2, 3, learncontent1="pythonlist",
24                                 learncontent2="pythontuple")
25 print(day1,state1, "
")
26 print(day2,state2, "
")
原文地址:https://www.cnblogs.com/codeAndlearn/p/11396178.html