为什么在Python中不能像在JavaScript中那样连接字符串和数字?

通用汽车

Python的编程语言非常简洁。与JavaScript相比,您不需要很多括号,分号和var在我看来,与这种哲学总是矛盾的是,事实是无法连接字符串和数字。无需事先使用str ()或其他构造将数字转换为字符串% s% s% (Variale, variable)这种选择的理论原因是什么?

JavaScript:
console.log("I can c"+0+"ncat"+3+"nate a "+1+"ot of num"+63+"rs!")

Python:
print "I can c%incat%inate a %iot of num%irs!" %(0,3,1,63)
----------------------------------------------------------------------------
i can c0ncat3nate a 1ot of num63rs!

编辑:Ashwini建议的答案

我不知道为什么这个问题已经结束,但是Ashwini Chaudhary发布了链接,您可以在其中找到答案。因此,不是观点而是基于理论问题的事实。这是文档页面的摘录

在强类型语言中,完全不允许您执行与正在使用的数据类型不兼容的任何操作。例如,在弱类型语言中,因为可以加数字,所以通常可以做3 + 5 + 7并得到结果15。同样,您通常可以执行'Hello'+'And'+'Goodbye'并获得结果“ HelloAndGoodBye”,因为字符串支持串联。但是在强类型语言中,您无法执行“ Hello” + 5 +“ Goodbye”,因为没有定义的方式可以将字符串和数字彼此“相加”。在弱类型语言中,编译器或解释器可以执行幕后转换,以使这些类型的操作有效。例如,弱类型的语言可能会为您提供字符串“ Hello5Goodbye” 结果是“ Hello” + 5 +“再见”。强类型语言的优点是您可以相信发生的事情:如果您做错了什么,您的程序将生成一个类型错误,告诉您哪里出了问题,而您不必记住很多奥术类型-转换规则,或者尝试调试变量在您不知情的情况下被静默更改的情况

泽维尔·康贝尔

因为隐式转换是错误的主要来源

在python 2.6及更高版本中更具可读性的替代方法是

 print ("I can c{}ncat{}nate a {}ot of num{}rs!".format(0,3,1,63))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Python中,为什么我可以将字符串乘以数字,但不能添加字符串和数字?

来自分类Dev

R:如何像在Python中那样定义+符号作为连接字符串的运算符?

来自分类Dev

像在printf中那样连接一个字符串

来自分类Dev

为什么数字+字符串是JavaScript中的字符串?

来自分类Dev

为什么我们不能像在javascript中为对象常量那样向函数体内的函数对象添加属性?

来自分类Dev

代码为什么不能正确识别字符串中的数字和/或字母?

来自分类Dev

为什么我不能在子字符串中捕获一个以上的数字?

来自分类Dev

为什么我不能在PHP中为类变量定义连接字符串?

来自分类Dev

为什么我不能在PHP中为类变量定义连接字符串?

来自分类Dev

为什么在符合 POSIX 的 shellscript 中,对于字符串和数字比较,test 命令比 case 语句更好?

来自分类Dev

为什么Go中的字符串不能为零?

来自分类Dev

连接字符串和数字

来自分类Dev

为什么我不能在JavaScript中解析此json字符串?

来自分类Dev

如何在python中的字符串中替换非字母和数字字符

来自分类Dev

删除字符串中字符和数字之间的空格

来自分类Dev

为什么我不能在Python中检查Popen()的stderr的字符串等效性?

来自分类Dev

为什么在python中拆分字符串后不能直接调用remove?

来自分类Dev

为什么我们不能在python中更改字符串的特定值

来自分类Dev

在JavaScript中,如果“字符串是对象”,那么为什么不也使用数字呢?

来自分类Dev

Python-在包含字符串和数字的列表中对数字值进行排序

来自分类Dev

为什么不能使用printf格式替换字符串中的子字符串?

来自分类Dev

为什么我不能更改字符串中的子字符串?

来自分类Dev

使用列表中的值检查字符串中的字母和数字序列(Python)

来自分类Dev

我不知道为什么不能像 Solidity 那样分配字符串大小

来自分类Dev

为什么不能像在HTML / CSS中那样直接在Android中的按钮上添加边框半径?

来自分类Dev

在angularjs中拆分字符串和数字

来自分类Dev

在erlang中从字符串和数字创建原子

来自分类Dev

如何在JavaScript中对包含字母和数字字符串的数组进行排序

来自分类Dev

如何在JavaScript中对包含字母和数字字符串的数组进行排序

Related 相关文章

  1. 1

    在Python中,为什么我可以将字符串乘以数字,但不能添加字符串和数字?

  2. 2

    R:如何像在Python中那样定义+符号作为连接字符串的运算符?

  3. 3

    像在printf中那样连接一个字符串

  4. 4

    为什么数字+字符串是JavaScript中的字符串?

  5. 5

    为什么我们不能像在javascript中为对象常量那样向函数体内的函数对象添加属性?

  6. 6

    代码为什么不能正确识别字符串中的数字和/或字母?

  7. 7

    为什么我不能在子字符串中捕获一个以上的数字?

  8. 8

    为什么我不能在PHP中为类变量定义连接字符串?

  9. 9

    为什么我不能在PHP中为类变量定义连接字符串?

  10. 10

    为什么在符合 POSIX 的 shellscript 中,对于字符串和数字比较,test 命令比 case 语句更好?

  11. 11

    为什么Go中的字符串不能为零?

  12. 12

    连接字符串和数字

  13. 13

    为什么我不能在JavaScript中解析此json字符串?

  14. 14

    如何在python中的字符串中替换非字母和数字字符

  15. 15

    删除字符串中字符和数字之间的空格

  16. 16

    为什么我不能在Python中检查Popen()的stderr的字符串等效性?

  17. 17

    为什么在python中拆分字符串后不能直接调用remove?

  18. 18

    为什么我们不能在python中更改字符串的特定值

  19. 19

    在JavaScript中,如果“字符串是对象”,那么为什么不也使用数字呢?

  20. 20

    Python-在包含字符串和数字的列表中对数字值进行排序

  21. 21

    为什么不能使用printf格式替换字符串中的子字符串?

  22. 22

    为什么我不能更改字符串中的子字符串?

  23. 23

    使用列表中的值检查字符串中的字母和数字序列(Python)

  24. 24

    我不知道为什么不能像 Solidity 那样分配字符串大小

  25. 25

    为什么不能像在HTML / CSS中那样直接在Android中的按钮上添加边框半径?

  26. 26

    在angularjs中拆分字符串和数字

  27. 27

    在erlang中从字符串和数字创建原子

  28. 28

    如何在JavaScript中对包含字母和数字字符串的数组进行排序

  29. 29

    如何在JavaScript中对包含字母和数字字符串的数组进行排序

热门标签

归档