Python 的传参是传值还是传址?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 的传参是传值还是传址?相关的知识,希望对你有一定的参考价值。

参考技术A Python对可变对象(字典或列表)传址,
对不可变对象(数字、字符或元祖)传值。

[javaSE] 变量的传值与传址

变量:就是将不确定的数据进行存储。也就是需要在内存中开辟一个空间

这个空间需要一个名称,这个名称就是变量名

 

基本数据类型:byteshortint,longdoublefloatcharboolean

引用数据类型:类(Class),接口(interface),集合

 

传值就是把这个变量复制一份

传址就是还是同一个对象

基本数据类型一般都是传值,引用数据类型一般是传地址

import java.util.ArrayList;
import java.util.List;


public class VariableDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        //初始
        int a=1;
        List<String> arr=new ArrayList<String>();
        arr.add("taoshihan1");
        //测试
        makeChange(a, arr);
        //输出
        System.out.println(a);//输出 1
        System.out.println(arr);//输出 [taoshihan1, taoshihan2]
    }
    /**
     * 传值和传地址测试
     * @param a
     * @param arr
     */
    public static void makeChange(int a,List<String> arr){
        a=4;
        arr.add("taoshihan2");
    }

}

 

 

PHP中函数传参一般传值,加上&这个符号后就变成了传地址

 

<?php
class VariableDemo{
    public static function main(){
        $a=1;
        $arr=array("taoshihan1");
        VariableDemo::makeChange($a,$arr);
        echo $a;//输出 1
        print_r($arr);//输出 Array ( [0] => taoshihan1 [1] => taoshihan2 )
    }
    /**
     * 传值和传地址测试
     * @param a
     * @param arr
     */
    public static function makeChange($a,&$arr){
        $a=4;
        array_push($arr, "taoshihan2");
    }

}

VariableDemo::main();

 

以上是关于Python 的传参是传值还是传址?的主要内容,如果未能解决你的问题,请参考以下文章

python传参是传值还是传引用

python函数传参是传值还是传引用?

python中给函数传参是传值还是传引用

vb当中,参数传递默认方式是传值?传址?还是传址和传值?

[javaSE] 变量的传值与传址

再谈js传值和传址