鱼C论坛

 找回密码
 立即注册
查看: 1480|回复: 10

[已解决]哪些数据类型是可以在函数内修改的呢

[复制链接]
发表于 2020-5-13 11:48:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Python怎么在函数内部像调用一个指针一样,去修改指针指向的地址的值呢

列表我感觉是指针like的类型,有点像数组,所以是可以直接调用列表的名称作为实参去修改列表的

那么总的来讲

哪些是可以在函数内部修改值,哪些是不能在函数内部修改值的呢

非常感谢
最佳答案
2020-5-13 14:49:07
5695585 发表于 2020-5-13 14:44
我的意思就是哪些类型的数据,可以在函数里面直接改它的值

可哈希的数据类型  字符串  元组  objects   这些 都不能被修改
不可哈希的数据类型  字典  列表  set  这些都可以被改变
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-13 11:51:12 | 显示全部楼层
from ctypes import *

library = cdll.LoadLibrary('distribution/library/libhelpers.dylib')

class Service(object):
    def __init__(self, port):
        self.obj = library.create_service(port)
        print "__init__ address: ", self.obj

    def __del__(self):
        print "__del__", self.obj
        library.release_service(self.obj);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 11:51:52 | 显示全部楼层
列表+字典+其他可变数据结构,这些是不用传参就能修改的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 11:52:21 | 显示全部楼层
https://www.it1352.com/492092.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 11:52:26 | 显示全部楼层
列表 字典 都可以吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 11:59:00 | 显示全部楼层
Python怎么在函数内部像调用一个指针一样,去修改指针指向的地址的值呢
这点我可以很明确的告诉你:没办法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 12:59:31 | 显示全部楼层
可变的数据结构可以在内部修改它的值,例如列表和字典。

而不可变的数据结构不能修改它的值,例如字符串和元组。

Python 没办法在函数内部修改变量指向的值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 13:59:47 | 显示全部楼层
你想改啥,请举例说明,拿其他语言举例也可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-13 14:44:33 | 显示全部楼层
wp231957 发表于 2020-5-13 13:59
你想改啥,请举例说明,拿其他语言举例也可

int modify(int * p)
{
        *p = 1;
        return 0;
}

int main()
{
        int a;
        a=10;
        printf("%d\n",a);
        int * p;
        p = &a;
        modify(p);
        printf("%d\n",a);
   return 0;
}

我的意思就是哪些类型的数据,可以在函数里面直接改它的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 14:49:07 | 显示全部楼层    本楼为最佳答案   
5695585 发表于 2020-5-13 14:44
我的意思就是哪些类型的数据,可以在函数里面直接改它的值

可哈希的数据类型  字符串  元组  objects   这些 都不能被修改
不可哈希的数据类型  字典  列表  set  这些都可以被改变
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 14:51:25 | 显示全部楼层
5695585 发表于 2020-5-13 14:44
我的意思就是哪些类型的数据,可以在函数里面直接改它的值

def f(lst):
    lst.append("1")

la=[]
f(la)   
print(la)
f(la)   
print(la)
f(la)   
print(la)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-3-14 19:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表