亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python是否類似于C / C ++中的->運算符?

Python是否類似于C / C ++中的->運算符?

繁星coding 2021-05-05 12:34:41
因此,在Python中,您可以執行以下操作:def append(_list):    _list.append(1)_list = [0]append(_list)print(_list)顯然,這使我可以將1附加到列表中,但是,如果我在append函數中更改列表的引用,則它不會更改(這是通過對象傳遞引用所期望的)。Java的工作原理類似,但是被認為是通過引用。這是否僅表示Python像C ++一樣,當它傳遞通過值指向對象然后再取消引用的指針(類似于使用C / C ++的->運算符時)?
查看完整描述

2 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

Python中的重要區別不是按值傳遞或-reference傳遞,而是在可變對象和不可變對象之間傳遞。

基本上所有內容都是通過引用傳遞的,但是如果對象不允許您對其進行修改(它是不可變的),則無法更改通過引用傳遞的原始對象。例如,Pythonints是不可變的,因此即使int通過引用傳遞,您也永遠無法修改原始對象。如果要執行此操作,則必須將對象包裝在可變對象(例如列表)中。列表可以修改(追加,彈出等)

因此,您可以“說” Python的屬性訪問.與C ++類似,->但這是Python的一種奇怪的術語。

在您的示例中,您傳遞了一個可變對象(列表)。因此,追加將修改原始對象。因此,您的代碼的輸出為[0, 1]。(您應該在您的問題中包括該內容。)


查看完整回答
反對 回復 2021-05-11
  • 2 回答
  • 0 關注
  • 198 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號