zoukankan      html  css  js  c++  java
  • python开始学习函数

    通过def关键字创建函数

    传一个参数~

    传多个参数~

    return返回值

    在函数中写字符串相当于注释,而且这个注释是可以通过调用该函数的__doc__访问到的

    关键字参数(按照关键字来索引参数)

    默认参数(写函数的时候就给上默认值)

     

    收集参数【又名可变参数】#在参数前面加上*号即可  #原理就是python把我传递的参数打包成一个元组

     

     如果在收集参数的函数中还有其他的参数,我们必须使用关键字参数给它赋值,否则会报错! 如下图!

    所以如果在使用收集参数的时候最好给非收集参数一个默认值,防止出错!,上方的test这样定义,会好得多!如下图:

     可以看出print()函数也是使用了收集参数

    全局变量可以在函数内部访问他,但是不要试图在函数内部修改它,如果写上修改它的语句,python实际上实在函数内部创建一个局部变量,只不过这个局部变量和全局变量名字一样,因此不会影响到全局变量!!!

     但是在函数内部想修改全局变量也是可以的!看看小甲鱼怎么说!~~~~

     在函数内部把全局变量前加上global关键字,让python识别这个是全局变量,就可以修改啦

     

    内嵌函数(内部函数),就是函数内部嵌套函数【在定义函数的阶段哦,并不是我调用另一个函数哦】

    闭包!!!! 返回的是一个函数

     

    f1(2)是一个f2的函数调用这个f2的函数再给他传一个参数3 则就是f1(2)(3)>>返回的就是f2内部的调用

    容器类型,就是元组啊,列表啊之类的,就是啥都可以往里面扔的 #容器类不存在栈内,因此,可以访问以及修改,记住吧!!!!这个解决方案要记住,使用容器列表!!! 这是python2时候解决方法,当然python3也可以使用

     

    闭包函数中关键字:nonlocal声明闭包外作用的某个参数,可以包括外部函数的形参,他不是在闭包中的局部变量,这样就可以修改闭包外变量的值了

  • 相关阅读:
    升级edk2源码的一点补充
    关于Ubuntu系统忘记密码的解决方法合集
    UEFI Shell 下的程序设计
    Windows下EDK2环境的搭建以及经典的程序设计Print Hello World !-----(Linux下的待后续熟练了再更新)
    一个刚入行的BIOS工程师的自我简介
    反爬虫,非标准的json格式解析
    Scrapy+selenium爬取简书全站-爬虫
    Scrapy
    Python 爬取豆瓣电影Top250排行榜,爬虫初试
    Linux(Ubuntu) MySQL数据库安装与卸载
  • 原文地址:https://www.cnblogs.com/ningxinjie/p/10938458.html
Copyright © 2011-2022 走看看