zoukankan      html  css  js  c++  java
  • Python-函数

    def funcname(param1,param2,...):

        statements

    在函数中没有与全局变量同名的变量时,我们可以直接读取全局变量的值(不提倡这么做,容易混淆)

    要想在函数内对全局变量进行重新赋值,就得在函数内使用global语句

    e.g.

    number = 23

    def assignnum():

        number=13

    assignnum函数里的number只是一个局部变量,对它赋值不会改变全局变量number

    def assignnum():

        global number

        number=13

    global语句声明number是全局变量,此时修改的就是全局变量number的值了

    nonlocal语句

    python可以实现在一个函数中定义另一个函数,要在内层函数中使用外层函数的变量,就用nonlocal语句

    def func_outer():
        x=5
        def func_inner():
            nonlocal x
            x=2
        func_inner()
        print(x)
    func_outer

    输出2

    函数的缺省参数是从右向左的

    def func(a,b=5): #ok

    def func(a=5,b): #invalid

    keyword arguments

    #!/usr/bin/python
    
    def func(a,b=5,c=10):
        print 'a=',a,'b=',b,'c=',c
    
    func(3,7)
    func(25,c=24)
    func(c=50,a=100)

    output:

    a=3 b=7 c=10

    a=25 b=5 c=24

    a=100 b=5 c=50

    VarArgs parameters

    #!/usr/bin/python
    
    def total(initial=5,*numbers,**keywords):
        count = initial
        for number in numbers:
            count+=number
        for keyword in keywords:
            count+=keywords[keyword]
        return count
    
    print total(10,1,2,3,vagetables=50,fruits=100)

    output:

    166

    *number用来装多出来的位置参数 1,2,3. number是由这些参数组成的list

    **keywords用来装多出来的关键字参数 vagetables=50,fruits=100. keywords是由这些参数组成的字典

  • 相关阅读:
    随机生成字符串,可用来当id
    自己总结的关于uniapp项目用androidstuido打包成apk
    css3 滑动效果 门
    在数组里面随机获取随机的几个内容
    把一个数组分割成两个(不管奇数还是偶数)
    Mysql常用命令
    怎样才能彻底地删除多余输入法软件
    启动MySQL服务
    linux监控命令全覆盖
    浅谈MVC模式与SSH框架
  • 原文地址:https://www.cnblogs.com/johnsblog/p/3960248.html
Copyright © 2011-2022 走看看