Python中如何复制一个值或字符串?各种编程语言中是否支持将变量名转化为同名字符串的方法

发表时间:2018-03-03 01:40:01 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《在旧电脑基础上配置游戏主机预算要多少?苹果手机咋查寻软件使用时间》相关知识。本篇中小编将再为您讲解标题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》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题