• Python基础-函数


     

       函数的参数,分为

    # 必填参数,位置参数
    # 默认值参数,不是必填的
    # 可变参数,也不是必填的 *args
    # 关键字参数,也不是必填的 **kwargs kwargs他是一个字典
    # 如果这四种参数类型,你要连起来用的话,必须按照 必填参数、默认值参数、可变参数、关键字参数
    # 可变参数和关键字参数在参数比较多的情况下和参数不确定是多少个的情况下,可以用

    局部变量和全局变量
    # 局部变量就是在函数内部定义的变量,在函数内可以随便用,一但出了函数,那么就不能用了
    # 全局变量是大家都可以用的变量
    # 全局变量是list和字典的话,不需要用global声明,就可以直接修改
    # 其他的类型,(str,元组,集合。。)如果要修改值,那么必须使用global声明
    # 尽量不要全局变量,因为不安全
    递归
    递归就是函数自己调用自己

    递归调用的特性:

    1. 必须有一个明确的结束条件

    2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少

    3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)

    
    
    def new_aa():
        num = int(input('请输入一个数字:'))
        if num % 2 == 0:
            print('是整数')#当输入数字是整数时,程序结束
            return
        else:
            print('奇数')#如果输入时奇数,就会继续调用new_aa()函数本身
            new_aa()
    new_aa()
    
    
    
     
  • 相关阅读:
    SharePoint安全性验证无效
    纠结的TreeView动态加载节点
    Microsoft CRM 安装问题汇总
    moss里用Response生成Excel以后页面按钮失效问题
    zt:System.Globalization 命名空间
    ZT:自定义的泛型类和泛型约束
    开博了,,,
    zt:SilverLight遍历父子控件的通用方法
    zt: 学习WPF绑定
    zt:使用复杂类型定义模型(实体框架)
  • 原文地址:https://www.cnblogs.com/niuniu2018/p/7700497.html
Copyright © 2020-2023  润新知