Posted on 2012-12-15 01:47:04 python
调用函数时,函数参数仅仅是引用传入对象的名称。
参数传递的基本语义和其他编程语言中已知的方式不完全相同。
例如“按值传递” 或 “按引用传递”。
例如,如果传递不可变的值(如tuple、string list),参数看起来实际是按值传递的。
但如果传递可变变量(如列表或字典)给函数,然后再修改次可变对象,这些改动就会反映在原始对象中。
像这样悄悄修改其输入值或者程序其他部分的函数具有副作用。一般来说,最好避免使用这种编程风格,因为随着程序的规模和复杂度不断增加,这类函数会成为各种奇怪编程错误的来源。(例如,如果函数具有副作用,只看函数调用是无法明显找到问题的。)
在设计线程和并发性的程序中,使用此类函数的效率很低,因为通常需要使用锁定来防止副作用的影响。 多线程环境中,对于每个run函数如果显示修改一个全局变量(一个字典),那么需要为每个线程加锁。 一般的办法就是直接return新变量,而不是“原地修改”
All 4 patients have survived and recovered intestinal function clomid dosage for twins
Excellent to the point article and news.. Well appreciated, My sites: OKBet online casino