日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【中级软考】函数参数传递传值与传引用的区别(global关键字,函数内定义全局变量)

發布時間:2025/3/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【中级软考】函数参数传递传值与传引用的区别(global关键字,函数内定义全局变量) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

傳值調用最顯著的特征就是被調用的函數內部對形參的修改不影響實參的值。
引用調用是將實參的地址傳遞給形參,使得形參的地址就是實參的地址。
(對于python而言,普通的實參傳個變量(或常量)進去就相當于以上說的傳值)

python:
和其他語言不一樣,傳遞參數的時候,python不允許程序員選擇采用傳值還是傳引用。Python參數傳遞采用的肯定是“傳對象引用”的方式。

實際上,這種方式相當于傳值和傳引用的一種綜合。如果函數收到的是一個可變對象(比如字典或者列表)的引用,

就能修改對象的原始值--相當于通過“傳引用”來傳遞對象。如果函數收到的是一個不可變對象(比如數字、字符或者元組)的引用,

就不能直接修改原始對象--相當于通過“傳值’來傳遞對象。

例如:
傳遞數字時,在函數內部是不能改變它在外部的值的,但是若傳的是列表之類的,在函數內部可以調用列表方法來改變它外部的值(但是使用“=”賦值也是沒法改變的)

def fo1(num):num=2print(num) # 2 def fo2(list):list.append(4) # 使用列表方法可以改變它list=[4,5,6] print(list) # list=[4,5,6]if __name__ == "__main__": num=1list1=[1,2,3]fo1(num) print(num) # 1fo2(list1)print(list1) # [1, 2, 3, 4]

在函數內使用global關鍵字可以更改外部的值:

def fo1(num):global num1num1=num+1print(num1) # 2if __name__ == "__main__": num1=1fo1(num1)print(num1)

結果:

2 2

參考文章:python實現在函數中修改變量值的方法

總結

以上是生活随笔為你收集整理的【中级软考】函数参数传递传值与传引用的区别(global关键字,函数内定义全局变量)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。