python中参数传递

article/2025/8/22 15:11:32

在编程语言中,函数的参数传递有两种情况:

  • 按值类型传递
num = 10
def double(arg):arg=arg*2print(arg)double(num)

调用该函数,传入一个变量,其实传入的是该变量的一个副本,该变量在函数中发生变化,不影响函数外面该变量。

值传递

  • 按引用类型(地址)传递
      def change(arg):arg.append('More data')print(arg)saying = [42,34,55]change(saying)
    

    调用该函数,传入一个变量,但是函数内部却是维护该变量的一个指向链接,链接到函数外面的这个变量;当传入函数的这个变量在函数内部发生改变,直接影响到外面的最初变量,因为有指向关系。

引用传递

python中的函数参数既支持按值调用,也支持按引用调用。

python中的变量是对象引用:变量存储的值是内存地址。当函数被调用的时候,解释器会查看传入的变量(内存地址)指的那个指的类型,如果是一个可变类型的值,就按照引用传递变量;如果是一个非可变类型的值,就考虑按照值传递变量。


可变类型:字典dict,列表list,集合set:

传入函数中的变量,函数内部的修改都会反映到函数外面,即最初始的变量会受到影响,毕竟这些初始的变量是可变类型。

不可变类型:字符串srt,整数int,元组trulp:

在这中,函数对变量的任何修改都是函数私有的,不会反映到函数外面,由于这些变量是不可变的,所以不能修改。

例外:

def double(arg):print('before: ',arg)arg = arg * 2print('After: ',arg)

例外情况

根据上面所说的,为什么这个函数里面的参数,传入的一个可变类型,函数内部发生了改变,结果却没有反映到函数外面呢?

我们考虑到这条语句:arg = arg*2

首先,传入的变量,先执行arg*2,所产生的新的变量(新对象的引用),重新赋值给原先的变量arg,覆盖其原先的引用,导致原先的变量arg与外面初始变量之间的联系断了。既然关系断了,那么函数里面的arg 的改变,没有反映出来,所以并没有影响到函数外面的变量。


http://chatgpt.dhexx.cn/article/tjbvkr80.shtml

相关文章

Python参数的传递

一、参数的传递 函数的参数传递本质上就是:从实参到形参的赋值操作。Python中“一切皆对象”,所有的赋值操作都是“引用的赋值”。所以,Python中参数的传递都是“引用传递”,不是“值传递”。 具体操作时分为两类: …

python传参数的方法

Python的参数传递是通过传参指针来完成的,当参数指针指向了另一个变量时,它就会被传递给它。这种传递方式与 Java或C#中的传参方式是类似的,在 Python中,参数可以是一个字符串,也可以是一个对象。这个方法的好处是它不…

python中参数的传递

一、函数的参数传递本质上就是∶从实参到形参的赋值操作。Python中“一切皆对象”,所有的赋值操作都是‘引用的赋值”。所以,Python中参数的传递都是“引用传递”,不是“值传递”。具体操作时分为两类︰ 1.对“可变对象”进行“写操作”&…

Python函数参数传递

Python函数参数传递 一、前言二、了解形式参数和实际参数1.通过作用理解2.通过比喻来理解形参和实参 三、位置参数1.数量必须与定义时一致2.位置必须与定义时一致 四、关键字参数五、为参数设置默认值六、可变参数1.*parameter2.**parameter 一、前言 在调用函数时,…

计算机毕业论文外文翻译是什么,毕业论文的外文翻译是什么

毕业论文的外文翻译是什么 此栏目涵盖有关于外文翻译和毕业论文的范例,免费给你学论文的外文翻译是什么提供有关参考资料。 摘要:文章从成人学生知识基础、指导教师、写作过程监控等方面,分析了成人高校学生在毕业论文写作中存在的伪造、抄袭、专业水平低…

关于android的外文论文,毕业论文外文翻译-Android开发

毕业论文外文翻译-Android开发 (11页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 毕业设计(论文)外文翻译 毕业 论文题目 基于 Android 手机通讯录的设计与实现 作 者 姓 名 所学专业…

在哪能查到英文论文?

不论是撰写英文论文还是引用外文文献,写论文的过程中想必缺不了检索合适的英文论文这个步骤,在本篇内容里,不仅教会你如何查到英文论文,还要教会你怎么样快速找到合适的英文论文!听起来是不是令人心驰神往,…

计算机毕业论文外文译文,计算机毕业论文外文文献译文

计算机毕业论文外文文献译文 外文文献原文What is ASP.NET? ASP.NET is a programming framework built on the common language runtime that can be used on a server to build powerful Web applications. ASP.NET offers several important advantages over previous Web…

如果想要直到一篇外文论文的质量

首先在CCF A类中寻找 然后view这篇论文,然后点击这篇论文所属的期刊名称2处 就可以看到引用得分和影响因子了,3处 文献鸟自动推送:https://www.storkapp.me/main.php 文献鸟使用的教学视频:https://www.bilibili.com/video/BV1tf4…

关于php的外文论文,php毕业设计外文翻译--通过PHP访问MySQL(适用于毕业论文外文翻译+中英文对照).doc...

[摘要]PAGE 原文:? ? Getting PHP to Talk to MySQl Now that you’re comfortable using the MySQL client tools to manipulate data in the database, you can begin using PHP to display and modify data from the database. PHP has standard functions for…

都有哪些查找和下载英文文献的方法?

很多朋友在查找文献的时候,都不知道该从哪里找,也不知道从哪里下载,怎么下载,尤其是想要查找英文文献。其实查询和下载英文文献无非以下三种方式: 选择一些比较权威,内容丰富,基本覆盖所有学科…

面向对象实现游戏聊天中的敏感词屏蔽功能,将敏感词汇用星号***替换

import java.util.Scanner;//新建一个类 public class Replace {// 定义一个字符串String commons;// 建一个替换的方法public void replace() { //控制台输入Scanner sc new Scanner(System.in);// 提示输出(为方便功能实现,此处提示内定的敏感词汇&am…

腾讯敏感词汇大全_腾讯数平精准推荐 | OCR技术之识别篇

腾讯数平精准推荐(Tencent-DPPR)团队一直致力于实时精准推荐、海量大数据挖掘等领域的技术研发与落地。 在社交广告推荐领域,团队自研的深度在线点击率预估算法及全流程实时推荐系统,持续多年提升社交广告点击率。图像作为当前社交广告最重要的展示形式,文字识别、物体识别等…

小程序中关于敏感词汇检测

小程序审核增加敏感词汇校验,避免违法违规而被停用服务或者投诉。 本文例子引用的百度AI开发者提供的API: 链接位置:https://console.bce.baidu.com/ai/#/ai/ocr/overview/index 创建应用后生成应用对应的id和key 应用到小程序中,&#xff…

Python 如何检测敏感词汇

设计思路:根据敏感词库文件筛选,查看输入的文本中是否包含敏感词汇。从而过滤出相关的敏感词。 【阅读全文】 导入应用相关的模块。 import os import logging import sys导入UI界面相关的模块。 from PyQt5.QtWidgets import QApplication,QWidget,…

敏感词汇工具类sensitive word的使用及详解

简述: 1.平时工作中,只要涉及到用户可以自由发言(博客、文档、论坛),就要考虑内容的敏感性处理,sensitive word工具是一个快速的敏感词过滤工具,基于 DFA 算法实现的高性能敏感词工具(mirrors / houbb / s…

Python敏感词汇检测

只要思想不滑坡,办法总比困难多 昨天在写练习题的时候写到这点特别迷,一直绕不过这个弯,最后也算是成功实现吧,记录一下,防止下次再绕的出不来。 之前访问的的Github镜像站一直触发滥用检测机制,着实很烦…

敏感词汇检测

1、今天做测试的时候抓到一个数据包,发现一个txt文件(CensorWords.b7e4bfb.txt),第一眼反应以为是系统被入侵了,被入侵者传了个txt到服务器上面,后面发现不对啊,攻击的话也不应该上传这种txt&am…

利用Python做简单的数据可视化

import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from pylab import mpl # 正常显示中文标签 mpl.rcParams[font.sans-serif] [KaiTi] # 正常显示负号 mpl.rcParams[axes.unicode_minus] Falseimport warnings warnings.filt…