zoukankan      html  css  js  c++  java
  • python基础学习函数

    函数的定义:
    def 函数名:
    def test():
    函数的调用:
    test()
    接收函数返回值:
    result = test()
    函数的参数
    在函数中使用return 来返回一个值
    返回值可以使数字、字符串、列表、元组、 字典等。
    如果没有返回值则返回none
    可以有多个返回值。
    返回值个数 = 0时 :返回none
    返回值个数 = 1 时 :返回object
    返回值个数 > 1时 :返回元组类型

    参数的分类
    位置参数:形参和实参必须顺序和数量对应
    关键字参数:以形参=实参的方式传入参数,可以不按顺序,形参和实参的数量必须一致
    默认参数: 在形参处指定默认值,如果没有传入此参数,则参数为默认值
    参数组:
    *args :当拥有多个参数并且参数数量不固定时,使用*args,以列表的形式传入多个位置参数
    **kwargs : 当拥有多个关键字参数并却参数数量不固定时,使用**kwargs,以字典的形式传入多个关键字参数

    全局变量在文件头部定义,全局变量可以在程序任意地方都可以使用
    局部变量只能在定义局部变量的函数内使用
    如果在函数内定义的局部变量和全局变量名称一致,则在函数内默认使用局部变量,如果要在函数内使用全局变量时,需要先声明该变量(global 全局变量名)

    递归函数
    递归函数就是在函数内自己调用自己
    递归特性
    1.必须有一个明确的结束条件
    2.每次进入更深一层递归时,问题规模相比上次递归都应有所减少
    3.递归效率不高,递归层次过多会导致栈溢出(最大递归次数为999次)
    def test(n):
    print(n)
    if n > 0 : #这是一个结束条件
    test(int(n/2)) #递归调用
    test(10)

    高阶函数
    将函数作为参数传入另一个函数叫做高阶函数
    函数的结果可以赋值给变量,而变量又可以作为函数的参数,所以我们可以直接用函数来作为函数的参数
    def add(a,b,f):
    return f(a)+f(b) #这里对变量a 和变量b 使用了函数f
    add(1,-1,abs) #这里求绝对值的函数abs作为实参传入形参f

  • 相关阅读:
    Keras实例教程(2)
    Keras实例教程(1)
    tf.nn.l2_loss()的用法
    在tensorflow中使用batch normalization
    Tensorflow的LRN是怎么做的
    CNN卷积中多通道卷积的参数问题
    caffe学习网站
    交叉熵反向求导计算过程
    矩阵求导
    循环神经网络(RNN)模型与前向反向传播算法
  • 原文地址:https://www.cnblogs.com/uyahs/p/7720851.html
Copyright © 2011-2022 走看看