函数

1. 什什么是函数

  对功能和动作的封装

2. 函数定义, 函数名, 函数体以及函数的调⽤用

    def 函数名(形参列表):
      函数体(return)

 

3. 函数的返回值

   1. 遇到return. 此函数结束, 函数后⾯面的东⻄西将不会再执⾏行行

   2. return 返回值

      1.如果return什什么都不写 或者 ⼲干脆不写return .那么返回的就是None

      2.如果return后⾯面写了了⼀一个值. 则调⽤用者可以接收⼀一个结果

      3.如果return后⾯面写了了多个结果, 则调⽤用者可以接收⼀一个tuple, 调⽤用者可以直接解构成 多个变量量 

4.函数形参和实参的分类:
  实参的分类:
    1.位置参数:按照位置,给形参分类
    2.关键字参数 按照形参的名字赋值
    3.混合参数 位置参数放在前面 关键字参数放在前面

  形参的分类(函数定义时)
    1.位置参数 按照位置来声明形参
    2.默认值参数(传值起不作用,不传值的话 起作用)
      顺序:位置参数放在前面 默认值参数在后面
      def regist(name,age,sex="男"):
        print(name,age,sex)
      regist("张三",18)
    3.动态参数

      1.*args位置参数的动态传参,系统会自动把所有参数聚合成元组

1 # 2,写函数,接收n个数字,求这些参数数字的和。(动态传参)
2 # def func(*nums):
3 #     sum = 0
4 #     for num in nums:
5 #         sum += num
6 #     return sum
View Code

      2. **kwargs 关键字的动态传参,系统会自动把所有关键字参数聚合成字典

      3.def(*args,**kwargs)  无敌模式

      4.顺序:位置参数 *args 默认值 **args

      5.在使用的时候可以任意搭配

    4.在实参上面,*、**表示将可迭代对象打散。在形参上面表示聚合

 1 # 5,写函数,传入函数中多个实参(均为可迭代对象如字符串,列表,元祖,集合等),
 2 # 将每个实参的每个元素依次添加到函数的动态参数args里面.
 3 # 例如 传入函数两个参数[1,2,3] (22,33)最终args为(1,2,3,22,33)
 4 # 这个题目什么意思?  ===> 这个题目不太会!!!!
 5 def func(*args):
 6     print(args)
 7     sum1 = 0
 8     for num in args:
 9         sum1 += num
10     print(sum1)
11 
12 
13 # 这个题目的点在*和** 形参里面表示聚合 实参里面表示打散
14 lst1 = [1, 2, 3]
15 tu1 = (22, 33)
16 func(*lst1, *tu1)
17 """
18 (1, 2, 3, 22, 33)
19 61
20 """
View Code

 

    

posted @ 2019-03-22 10:52  Jonathan1  阅读(161)  评论(0编辑  收藏  举报