zoukankan      html  css  js  c++  java
  • 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
      
  • 相关阅读:
    bzoj3505 数三角形 组合计数
    cogs2057 殉国 扩展欧几里得
    cogs333 荒岛野人 扩展欧几里得
    bzoj1123 BLO tarjan求点双连通分量
    poj3352 road construction tarjan求双连通分量
    cogs1804 联合权值 dp
    cogs2478 简单的最近公共祖先 树形dp
    cogs1493 递推关系 矩阵
    cogs2557 天天爱跑步 LCA
    hdu4738 Caocao's Bridge Tarjan求割边
  • 原文地址:https://www.cnblogs.com/luocongyu/p/11552447.html
Copyright © 2011-2022 走看看