zoukankan      html  css  js  c++  java
  • Python--动态类型

    函数的参数传递,本质上传递的是引用。比如说:

    def f(x):
        x = 100
        print x
    
    a = 1
    f(a)
    print a

    输出结果为:

    100
    1

    参数x是一个新的引用,指向a所指的对象。如果参数是不可变(immutable)的对象,a和x引用之间相互独立。对参数x的操作不会影响引用a。这样的传递类似于C语言中的值传递。

    如果传递的是可变(mutable)的对象,那么改变函数参数,有可能改变原对象。所有指向原对象的引用都会受影响,编程的时候要对此问题留心。比如说:

    def f(x):
        x[0] = 100
        print x
    
    a = [1,2,3]
    f(a)
    print a
    

    输出结果为:

    [100,2,3]
    [100,2,3]
  • 相关阅读:
    学习进度表
    第八次日志
    第七次日志
    第六次日志
    第五次日志
    第四次日志
    第一次日志
    第三次日志
    第二次日志
    学习进度表
  • 原文地址:https://www.cnblogs.com/hustcser/p/4301510.html
Copyright © 2011-2022 走看看