问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python函数实参不是的作用域问题,高手来解释下下面的输出?

发布网友 发布时间:2022-03-26 02:18

我来回答

2个回答

热心网友 时间:2022-03-26 03:47

可以先不看f(3,[3,2,1]),这个就是来迷惑人的,光看f(2),f(3),Python函数在定义的时候,默认参数L,它指向一个对象[ ],这个对象是和函数同生同死的,每次调用该函数,都会默认指向[ ] ,除非传递了第二个参数,则改变了L的指向,但是如果前面修改了这个对象,所以也会在后面体现出来,因为他是一个默认指向的对象。所以,定义默认参数要牢记一点:默认参数必须指向不变对象!

热心网友 时间:2022-03-26 05:05

Python中函数的参数传递问题,函数参数的传递往往是一个难以理解的概念,一个经典的例子如下所示:
int swap(int a,int b)
{
int temp;
temp = a;
a = b;
b = temp;

return 0;
}

int a = 10,b = 20;
printf("Before Swap a = %d, b = %d\n",a,b);
swap(a,b);
printf("After Swap a= %d,b = %d\n",a,b);
参数是采用值传递的形式,存在形参与实参的区别,也就是将实参的值复制给形参,在函数内部操作的都只是形参的内容,并不改变实参的值,所以变量在操作过后并没有发生改变。
参数传递过程中存在两个规则:
1、通过引用将参数复制到局部作用域的对象中,意味着被用来访问函数参数的变量于提高给函数的对象无关,因为存在一个复制问题,这和C语言是相同的。而且修改局部对象不会改变原始数据。
2、可以在适当位置修改可变对象。可变对象主要就是列表和字典,这个适当位置实质上就是前面分析的局部子对象的修改不会改变字典对象或者列表对象的ID位置。追问你把C语言换成了python?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 腾讯会议共享屏幕没声音怎么办 如何在特定的作用域将python系统函数替换成自己的函数 python 程序中有多少全局作用域?有多少局部作用域 初学python,有关函数作用域问题 python for循环作用域问题 python中什么叫局部作用域 python 2.7 变量作用域的疑问 深入探究Python中变量的拷贝和作用域问题 python变量的作用域到底怎么理解怎么用呢?谢谢! python什么是闭包 闭包的作用域 PYTHON 的变量作用域与内存分配 Python 中作用域与命名空间的问题? Python 的类中到底有没有建立作用域 Python语言中作用域怎么理解? 苹果智能手机与其它品牌手机使用的实际优势在哪里? 苹果手机的优势是什么啊? 苹果手机的优点是什么? IPHONE手机有什么优点?它的好处到底在哪里? iPhone手机的优势究竟在哪里? 苹果手机比其他手机究竟好在哪里 苹果手机有什么优点?有什么缺点? 没看python的基础,求教python变量的作用域问题,下面附代码,感谢! python global的作用域 python中global的作用是什么? python3.5中,无法numpy怎么解决 dra-tl00什么型号? dra-tl00可以无线充电吗? dra-tl00能不能用三网的? 联通短信中心号码怎么设置? 苹果手机里不等于符号怎么打出来? 不等于的符号怎么打?打出来 不等于号怎么打出来? 请问不等于的符号是怎么输入进去的? 不等于号怎么打出来 不等于的符号怎么打 iPhone12里不等于≠怎么打? 不等于≠怎么打 不等于的符号怎么打啊? 不等于号怎样打 我想知道键盘上不等于号怎么打出来 如何打出“不等于”号?