官术网_书友最值得收藏!

Python return semantics

Python's return statement uses the same pass-by-object-reference semantics as function arguments. When you return an object from a function in Python, what you're really doing is passing an object reference back to the caller. If the caller assigns the return value to a reference, they are doing nothing more than assigning a new reference to the returned object. This uses the exact same semantics and mechanics that we saw with explicit reference assignment and argument passing.

We can demonstrate this by writing a function which simply returns its only argument:

>>> def f(d):
... return d
...

If we create an object such as a list and pass it through this simple function, we see that it returns the very same object that we passed in:

>>> c = [6, 10, 16]
>>> e = f(c)
>>> c is e
True

Remember that is only returns True when two names refer to the exact same objects, so example this shows that no copies of the list were made.

主站蜘蛛池模板: 广水市| 抚州市| 吴江市| 安达市| 华亭县| 安达市| 松溪县| 平泉县| 蕉岭县| 察雅县| 秀山| 龙游县| 芜湖县| 台前县| 宕昌县| 广东省| 乌兰浩特市| 外汇| 甘洛县| 庆阳市| 衢州市| 崇文区| 共和县| 若羌县| 永胜县| 龙川县| 太仆寺旗| 邹平县| 安吉县| 阳城县| 成安县| 渭南市| 广州市| 长治县| 武功县| 那曲县| 永丰县| 崇明县| 桃园市| 新建县| 陕西省|