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声明闭包外作用的某个参数,可以包括外部函数的形参,他不是在闭包中的局部变量,这样就可以修改闭包外变量的值了

  • 相关阅读:
    C# 二维数组 排列组合
    highcharts(数据可视化框架),ajax传递数据问题
    EasyPoi导入验证功能
    EasyPoi使用入门
    SSJ(Spring+springMVC+JPA)设置xml文件思路流程
    spring框架设置jdbc
    使用JDBC完成CRUD(增删改查)
    Java的数据类型(常量,变量)
    jdk8的安装与卸载
    Java的第一个你好世界
  • 原文地址:https://www.cnblogs.com/ningxinjie/p/10938458.html
Copyright © 2011-2022 走看看