zoukankan      html  css  js  c++  java
  • Python学习笔记(11)-局部变量、全局变量、返回值补充、参数补充、递归函数、匿名函数

    局部变量

    定义在函数中的变量叫做局部变量

    作用范围:只能在函数中使用,函数外无法使用,如下两图:

    图1:在函数内打印变量name,可以成功输出xiaoming

    图2:在函数外打印变量name,提示变量name未定义

    图1

    图2

    注意:形参也是局部变量

    全局变量

    定义在函数外的变量叫做全局变量

    作用范围:在任何一个函数中均可以使用,但不可以修改值,如需修改需要在函数中声明变量(global 变量名),如下三图:

    图1:在函数test1和test2分别打印变量name,均可成功输出xiaoming

    图2:在函数test1中将变量name值更改为xiaohong,在函数test2中打印变量name,结果仍输出为xiaoming,全局变量name值未被修改

    图3:在函数test1中加入声明变量global name,扔将变量name值更改为xiaohong,在函数test2中打印变量name,结果输出为xiaohong,全局变量name值被修改

    图1

    图2

    图3

    函数返回值补充

    函数的返回值除了可以是数值和字符串外还可以是列表、元组、字典

    如下三图:

    图1:返回值是列表

    图2:返回值是元组

    图3:返回值是字典

    图1

    图2

    图3

    函数参数补充

    缺省参数

    带有默认值的参数叫做缺省参数

    作用范围:缺省参数位置如果有值传入,使用所传入的值,如果没有值传入,则使用默认值,如下两图:

    注意:缺省参数要写在参数列表的最后面

    图1:缺省参数c位置没有值传入,则输出默认值100

    图2:缺省参数c位置有值传入,则输出传入的值3

    图1

    图2

    默认情况下传入的实参与形参顺序是一一对应的(第一个实参传给第一个形参),如果存在多个缺省参数,需要给指定的缺省参数传值,则在实参处指定缺省参数名字和传入的值,如图:

    不定长参数

    默认情况下传入实参的个数的与形参是一直的,如果想要不限制传入参数的个数,则使用不定长参数

    表现形式:*args  **kwargs

    说明:变量非必须使用args、kwargs,但是习惯是以这两个命名

    *args

    加上*的变量表示可以以元组的形式存放多个传入参数,如图:

    **kwargs

    加上**的变量表示可以以字典的方式存放多个命名参数(key=value),如图:

    递归函数

    函数在执行的时候调用函数自身,就叫做递归函数

    如图:

    应用场景:

    计算1到100的阶乘(1*2*3*4.......*100)

     思路:1到100的阶乘可以看做100乘以1到99的阶乘的返回结果,1到99的阶乘可以看做99乘以1到98的阶乘返回结果,依次类推

    注意:0乘以任何数都等于0,所以需要加上判断

    匿名函数

    如果一个函数的功能简单,可以省略def创建的标准步骤,使用匿名函数代替

    表现形式:

    定义:变量 = lambda   变量,变量(可以写无限多个变量):表达式

    调用:变量(和表达式前变量个数相等的值,值与值之间用逗号隔开)

    如图:

    应用场景:将匿名函数当做函数的参数传递

    说明:可以根据传入的匿名函数来计算任意两个数的加减乘除等

  • 相关阅读:
    hdu 4027 Can you answer these queries?
    hdu 4041 Eliminate Witches!
    hdu 4036 Rolling Hongshu
    pku 2828 Buy Tickets
    hdu 4016 Magic Bitwise And Operation
    pku2886 Who Gets the Most Candies?(线段树+反素数打表)
    hdu 4039 The Social Network
    hdu 4023 Game
    苹果官方指南:Cocoa框架(2)(非原创)
    cocos2d 中 CCNode and CCAction
  • 原文地址:https://www.cnblogs.com/lidongaistudy/p/9554558.html
Copyright © 2011-2022 走看看