#返回顶部按钮 #生成一个目录导航

1.今日内容

  1. 初识函数
  2. 函数的结构
  3. 函数的调用
  4. 函数的返回值
  5. 函数的传参

2.具体内容

  1. 初识函数

    '''
    面向过程编程:
    	1.代码重复
    	2.代码可读性不高
    '''
    l1 = [1,2,3]
    def new_len():
      count = 0
      for i in l1:
        count += 1
      print(count)
    new_len()
    #函数是以功能为导向,可以减轻代码的重复性,增强代码的可读性
    
    
  2. 函数的结构

    l1 = [1,2,3]
    def new_len():
      count = 0
      for i in l1:
        count += 1
      print(count)
    new_len()
    '''
    def 关键字:定义一个函数,紧跟一个空格
    new_len 函数名:与变量命名规范一致,一定要具有可描述性
    (): 结构需要,传参使用
    	: 分隔符
    tab键:四个空格,缩进,函数体
    '''
    
  3. 函数的调用

    #函数的执行写多少次,执行多少次
    new_len() #函数名() 函数的执行者,调用者
    new_len()
    for i in range(3):
      new_len()
    
  4. 函数的返回值

    • return

      • 结束函数
      l1 = [1,2,3]
      def new_len():
        print(1)
        print(2)
        return
        print(3)
      new_len()
      
      • 函数中没有return或者只写了一个return,函数的执行者得到的是None
      l1 = [1,2,3]
      def new_len():
        count = 0
        for i in l1:
          count += 1
        return
      print(new_len())
      
      • 函数中return后面是单个值,函数的执行者得到的是这个值(不改变值的类型)
      def func():
        return {1:'name'}
      print(func())
      
      • 函数中return后面是多个值,函数的执行者得到的是一个元组
      def func():
        return 1,[12,],'name'
      print(func())
      
      def func():
        return 1,[12,],'name'
      a,b,c = func()
      print(a,b,c)
      
      def func():
        return 1 > 2
      print(func())
      
  5. 函数的传参

    def new_len(a):
      count = 0
      for i in a:
        count += 1
      return count
    l1 = [1,2,3]
    print(new_len(l1))
    
    • 实参:

      • 位置参数
      #位置参数 :从左至右,按照顺序,一一对应
      def book(name,author,types):
        print(f'书名{name},作者{author},类型{types}')
      book('为什么学生不喜欢上学','丹尼尔','教育学')
      
      #函数,接受两个数字的参数,将较大的数字返回
      def comp(a,b):
        if a > b:
          return a
        else:
          return b
      # 三元运算符:简单的if else
      a1 = 2
      b2 = 1
      ret = a1 if a1 < b2 else b2
      print(ret)
      
      def comp(a,b):
        return a if a > b else b
      print(comp(1,1234))
      
      • 关键字参数.一一对应
      def books(name,author,types):
        print(f'书名{name},作者{author},类型{types}')
      print(books(types = '教育学',author = '丹尼尔',name = '为什么学生不喜欢读书'))
      
      • 混合参数。关键字参数一定在位置参数后面,一一对应
      def books(name,author,types):
        print(f'书名{name},作者{author},类型{types}')
      print(books('为什么学习不喜欢上学',types = '教育学',author = '丹尼尔'))
      
    • 形参

      • 位置参数.与实参、位置参数一样

      • 默认参数。一定在位置参数后面,不传参即沿用默认参数

      def books(name,author,types = '教育学'):
        print(f'书名{name},作者{author},类型{types}')
      print(books('为什么学生不喜欢上学','丹尼尔')) #默认
      print(books('为什么学生不喜欢上学','丹尼尔',types = '教育学'))
      print(books('为什么学生不喜欢上学','丹尼尔','教育学'))
      
      • 动态参数
      • 仅限关键字参数
posted on 2019-11-21 21:37  xingchenck  阅读(278)  评论(0编辑  收藏  举报