zoukankan      html  css  js  c++  java
  • python的参数传递机制

    调用函数时,函数参数仅仅是引用传入对象的名称。

    参数传递的基本语义和其他编程语言中已知的方式不完全相同。

    例如“按值传递” 或 “按引用传递”。

    例如,如果传递不可变的值(如tuple、string list),参数看起来实际是按值传递的。

    但如果传递可变变量(如列表或字典)给函数,然后再修改次可变对象,这些改动就会反映在原始对象中。

    像这样悄悄修改其输入值或者程序其他部分的函数具有副作用。一般来说,最好避免使用这种编程风格,因为随着程序的规模和复杂度不断增加,

    这类函数会成为各种奇怪编程错误的来源。(例如,如果函数具有副作用,只看函数调用是无法明显找到问题的。)

    在设计线程和并发性的程序中,使用此类函数的效率很低,因为通常需要使用锁定来防止副作用的影响。

    多线程环境中,对于每个run函数如果显示修改一个全局变量(一个字典),那么需要为每个线程加锁。

    一般的办法就是直接return新变量,而不是“原地修改”

  • 相关阅读:
    Mininet介绍及安装
    第9周学习进度
    团队效绩计划
    第一阶段冲刺个人博客10
    第一阶段冲刺个人博客09
    第一阶段冲刺个人博客08
    win10自带中文输入法的用户体验
    团队项目冲刺第十天
    构建之法阅读笔记02
    团队项目冲刺第九天
  • 原文地址:https://www.cnblogs.com/huazi/p/2818882.html
Copyright © 2011-2022 走看看