• python函数-第四天


    苍井空名言:我脱光衣服躺在镜头前,是为了生存,而你衣冠楚楚的站在镜头前,却只是为了私欲和欺骗

    1.函数
    函数的声明:
    def 方法名(参数1,参数2):
    '函数文档'
    #注释
    print()
    return [expression]

    调用函数:
    方法名()

    打印函数文档:
    1.参数名.__doc__
    注:两个下划线

    2.help(参数名)


    2.参数
    参数分为形参(parameter)和实参(argument)

    3.关键字参数
    >>> def saySome(name,words):
    print(name + '->' + words)


    >>> saySome(words='让编程改变世界',name='小甲鱼')
    小甲鱼->让编程改变世界

    4.默认参数
    >>> def saySome(name = '小甲鱼',words = '让编程改变世界'):
    print(name + '->' + words)

    >>> saySome('苍井空','我脱光衣服躺在镜头前,是为了生存,而你衣冠楚楚的站在镜头前,却只是为了私欲和欺骗')
    苍井空->我脱光衣服躺在镜头前,是为了生存,而你衣冠楚楚的站在镜头前,却只是为了私欲和欺骗

    5.收集参数
    >>> def test(*params,exp):
    print('参数的长度:',len(params),exp)
    print('第二个参数是:',params[1])

    >>> test(1,'小甲鱼',3.14,5,6,7,8,exp = 8)
    参数的长度: 7 8
    第二个参数是: 小甲鱼

    >>> def test(*params,exp = 8):
    print('参数长度:',len(params),exp)
    print('第二个参数:',params[1])


    >>> test(1,'小甲鱼',3.14,5,6,7,8)
    参数长度: 7 8
    第二个参数: 小甲鱼

    6.函数(function):有返回值
    过程(procedure):是简单、特殊并且没有返回值的

    python可以返回多个值
    >>> def back():
    return 1,'小甲鱼',3.14

    >>> back()
    (1, '小甲鱼', 3.14)

    7.局部变量(Local Variable)
    全局变量(Global Variable)

    自己的话:在函数里边定义的参数以及变量,它们都成为局部变量,出了这个函数就是无效的
    原理:python在调用函数时候,它是利用栈进行存储,把函数所需的代码、变量都扔到栈里,
    当执行完该函数时,函数会被自动删除,栈的数据会自动清空,所以函数外无法访问到局部变量

    8.global 和 nonlocal关键字
    当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字了。

    exa:
    num = 1
    def fun1():
      global num # 需要使用 global 关键字声明
      print(num)
      num = 123
      print(num)
    fun1()
    print(num)

    以上实例输出结果:
    1
    123
    123

    如果要修改嵌套作用域(enclosing 作用域,外层非全局作用域)中的变量则需要 nonlocal 关键字了,如下实例:
    def outer():
      num = 10
      def inner():
        nonlocal num # nonlocal关键字声明
        num = 100
        print(num)
      inner()
      print(num)
    outer()

    以上实例输出结果:
    100
    100


    9.闭包(Closure)
    一个函数定义中引用了函数外定义的变量,并且该函数可以在其定义环境外被执行。这样的一个函数我们称之为闭包。

    闭包的理解
    我们可以将闭包理解为一种特殊的函数,这种函数由两个函数的嵌套组成,
    且称之为外函数和内函数,外函数返回值是内函数的引用,此时就构成了闭包

  • 相关阅读:
    flex做页面。用来做视频的后台服务器是fms
    indows下PHP通过ffmpeg给上传的视频截图详解
    PHP上传视频
    解决IE6浏览器下position:fixed固定定位问题
    PHP获取 当前页面名称、主机名、URL完整地址、URL参数、获取IP
    产品经理需要输出哪些文档?
    python三种回收机制
    数据库管理用户权限
    数据库6范式,一般来说,数据库满足前三范式即可
    递归迭代
  • 原文地址:https://www.cnblogs.com/LEPENGYANG/p/14111794.html
Copyright © 2020-2023  润新知