• 函数


     (1)

    >>> def add_args(arg1,arg2):
        print(arg1+arg2)
    
        
    >>> def run_someting_with_args(func,arg1,ag2):
        func(arg1,ag2)
    
    '''
    定义一个函数run_something_with_args,它带有三个参数:
    func---可以运行的函数
    arg1---func函数的第一个参数
    arg2---func函数的第二个参数
    '''    
    >>> run_something_with_args(add_args,5,9)
    14

    在函数run_something_with_args()内部,函数名add_args被赋值给参数func,5和9分别赋值给arg1和arg2。程序最后执行:
    add_args(5,9)

    可以在此用上*args(位置参数收集)和**kwargs(关键字参数收集)的技巧。备注:sum()函数,是python的一个内建函数用来计算(整数或者浮点数)参数的和

    >>> def sum_args(*args):
        return sum(args)
    
    >>> def run_with_positinoal_args(func,*args):
        retun func(*args)
        
    SyntaxError: invalid syntax
    >>> def run_with_positinoal_args(func,*args):
        return func(*args)
    
    >>> run_with_positinoal_args(sum_args,1,2,3,4)
    10
    >>> 

    (2)

    #传不可变对象实例
    def ChangeInt(a):
        print('修改前a的值:',a)
        a = 10
        print('修改后a的值:',a)
    b = 2
    ChangeInt(b)
    print(b)
    
    运行结果:
    修改前a的值: 2
    修改后a的值: 10
    
    分析:
    ChangeInt(b)把b的值复制给a,a未修改前a=b=同一内存地址;a=10重新修改后,a重新生成一个对象指针指向了10,但是b的指针还是指向的2,所以b的值为2而非10
    实例中有 int 对象 2,指向它的变量是 b,在传递给 ChangeInt 函数时,按传值的方式复制了变量 b,a 和 b 都指向了同一个 Int 对象,在 a=10 时,则新生成一个 int 值对象 10,并让 a 指向它。
  • 相关阅读:
    WPF Attached event
    WPF Progressbar
    IDisposable
    CommandTarget属性
    观察者模式
    DesignerSerializationVisibility, Browsable,Category Attribute
    CVS使用手册
    Javascript原型的简单理解
    由插件独特的处理器产生页面
    教训
  • 原文地址:https://www.cnblogs.com/bashliuhe/p/12610037.html
Copyright © 2020-2023  润新知