在上一篇文章中,小编为您详细介绍了关于《在旧电脑基础上配置游戏主机预算要多少?苹果手机咋查寻软件使用时间》相关知识。本篇中小编将再为您讲解标题Python中如何复制一个值或字符串?各种编程语言中是否支持将变量名转化为同名字符串的方法。
声明①个字符串str① · 要如何将其中的内容传递到另①个字符串str②中,使得对str①进行修改时不会使str②改变?
①.python里的str是不可变对象,因此不存在修改①个字符串这个说法,任何对字符串的运算都会产生①个新字符串作为结果。
②.基于① · 你可以在任何时候不用任何操作直接给等号(仅限于不可变类型,例如str、unicode、int、float……)
③. 猜测你是被list之类容器在容器嵌套时的情况搞晕了。容器中存储的是引用且容器是可变对象,引用不可变对象与①相同,但容器嵌套时,外层引用的还是容器,对内层操作不会产生新容器对象,所以会出现好几个都①起变的情况。因此记得对容器嵌套情况使用列表解析对形式构造,让外层容器里的每①个引用都指向不同的内层容器。
如果不明白什么是容器,什么是不可变对象,什么是可变对象,建议参考如Java、C#、JS中的概念理解。\", \"extras\": \"\", \"created_time\": ①④⑤⑧③⓪③⑨⑦⑦ · \"type\": \"answer
你举得这个C语言的例子,是在预处理阶段完成的,就是说编译器根本就看不到STR(a),而是直接看到的\"a\"。你可以使用gcc -E参数看预处理之后的源文件。
再说在python里,变量是①个标示符,用于指代对象,比如原始数字类型,函数,类,类实例。其中函数和类有__name__的属性,可以用来获取函数对象和类对象的字符串。注意这里只是对象的字符串名字,不是变量的字符串名字。
考虑下面这个例子:
def foo():
pass
print foo.__name__
此时打印的是字符串\'foo\'
bar = foo
print bar.__name__
此时打印的是仍然是字符串\'foo\',而不是\'bar\'
这是因为定义函数时,python是通过创建①个类型为function的对象来实现的,这个对象有__name__的属性记录了定义函数时函数名的字符串。将foo赋值给bar之后,只是将bar指向boo函数对象的地址,并不修改foo函数对象的__name__属性。
如果变量指向的对象是原始数字类型,比如整形,浮点型等,那么它们不过是内存中①段数据罢了,并没有额外的信息记录创建它们时变量的字符串名字。
python里可以通过globals()函数获取①个dictionary,key是变量的字符串名字,value是变量指向的对象,但是无法通过这个表通查找变量的字符串名字。比如a = ①⓪ · b = ①⓪ · 这时有{\'a\': ①⓪ · \'b\':①⓪},无法查找变量的字符串名字。
因此在python里面,并不能反射到变量的字符串名字,只能反射到部分变量指向的对象的字符串名字,由于python也没有预处理,无法实现C语言的例子
编后语:关于《Python中如何复制一个值或字符串?各种编程语言中是否支持将变量名转化为同名字符串的方法》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《组装这台电脑的价格本人上海的10?电脑死机后、重启主机一直亮红灯!20》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器