day 10

day 10

01.函数定义

  1. 函数就像是工具,提前造(写)好,当要用时再拿来用(执行)。

    # 函数的结构
    def 函数名(等同于变量名)():
      '''对函数的描述信息'''
      代码块
    
  2. 如何定义一个函数;工具要有名字,函数也是,给函数命名的过程就是定义函数。

    # 具体流程
    # 先正常的写一段代码
    x=10
    y=20
    if x > y:
      print(x)
    else:
      print(y)
    # 将其定义为一个函数
    def max_2():
      '''打印较大的数'''
      x=10
    	y=20
    	if x > y:
      	print(x)
    	else:
        print(y)
    
  3. 函数在定义阶段不会执行该段代码(无法检测逻辑错误),但会检测语法错误。

  4. 函数的调用

    # 如上面的函数想使用时只需
    max_2()  #调用函数阶段就会执行内部的代码块
    print(max_2) # 只打印函数名不加括号就会打印出函数的内存地址 
    
  5. 定义三种形式的函数

    # 空函数;
    # 只定义一个函数占个位置,内部没有代码
    # def 和 :下面的缩进中一定要有代码,所以当定义空函数时需要写一个pass
    def k():
      pass
    
    # 无参函数;
    # 函数名后面的括号内没有参数,在使用时也不需要输入参数,会执行出固定的结果
    # 这就是一个无参函数
    def max_2():
      '''打印较大的数'''
      x=10
    	y=20
    	if x > y:
      	print(x)
    	else:
        print(y)
    
    # 有参函数
    # 顾名思义,无参函数相对应在使用时需要输入参数,才能正确运行
    # 这就变成了一个有参函数
    def max_2(x,y):
      '''打印较大的数'''
    	if x > y:
      	print(x)
    	else:
        print(y)
    # 在函数调用时需要给x,y一个值
    max_2(10,20)
    
  6. 函数的返回值return

    def min_2(x, y):
      if x > y:
        return y
      else:
        return x
    min_num=min_2(10,20)  # min_unm=10
    # return 将函数运行的结果变成一个值输出给其他变量名
    

02.函数的参数

  1. 形参与实参

    def min_2(x, y):  # 此处的x,y叫做形参,没有实际意义,用来接收实参
      if x > y:
        return y
      else:
        return x
    min_num=min_2(10,20)  # 此处的10,20 叫做实参
    
  2. 位置参数

    位置实参会从左到右依次将值传给位置型参,位置型参与位置实参必须一一对应

    def min_2(x, y):  # 此处的x,y叫做位置形参
      if x > y:
        return y
      else:
        return x
    min_num=min_2(10,20)  # 此处的10,20 叫做位置实参
    
  3. 默认型参

    def min_2(x, y=15):  # y叫做默认形参,默认型参一定要在位置型参之后
      if x > y:
        return y
      else:
        return x
    min_num=min_2(10,20)  # 当此处给y传值时,y也会接受改值将原有的默认值替换掉
    min_num=min_2(10)  # 此时没有给y传值,y就会以默认值15往下运行
    
  4. 关键字实参

    def min_2(x,y,z):  # y和z会相应接收20和25,同默认型参关键字实参也要排在位置实参之后
      if x > y and x>z:
        return x
      elif y>x and y>z:
        return y
      else:
        return z
    min_num=min_2(10,z=25,y=20)  # z=25,y=20叫做关键字实参,会通过关键字对型参付值
    

03.可变长参数

  1. 可变长型参之*

    def sum_self(*args):  # 给args加上*号后,这个型参就可以接收无限个实参值,以元组形式输出
      res=0
      for num in args:
        res+=num
      return res
    
原文地址:https://www.cnblogs.com/luocongyu/p/11552447.html