但係另一位巴打講到嘅
python嘅function arguments係pass by reference only
我覺得怪怪哋
係咪應該係話pass by value of reference呀?
人生書家2020-12-23 10:35:48
唔係,係真係pass by reference
Python所有嘢都係pass by reference,甚至真係所有嘢都係reference,就算function,其實個function都係一個object,然後個function名都係referencing個callable object
喺C,個function係take pointer基本上就係pas by reference,你同樣都係改唔到個function外面,個pointer指向邊,但係因為個function知道原本個pointer指住嘅data,所以可以改到啲data。但係如果你喺C,你allocate一段新嘅memory,你都係改唔到function外面個pointer指去你新allocate嘅memory (除非係pointer of pointer啦,但係佢就變左reference of pointer,始終最外面嗰層都係copy一個數,只不過嗰個數究竟係value/reference)