python中无论输入什么都会以字符串方式保存吗,python字符编码用什么储存

  python中无论输入什么都会以字符串方式保存吗,python字符编码用什么储存

  Python通过元模型在内部存储字符串。元模式是一种减少存储空间的优化方法。两个内容相同的字符串指向同一个对象,这正是元共享模式所做的。

  Python内部存储字符串采用Flyweight模式。

  (推荐教程:Python入门)

  元模式是一种减少存储空间的优化方法。我们知道两个内容相同的字符串实际上指向同一个对象,这正是元共享模式所做的。

  那么为什么可以用这种模式呢?学过python的同学应该知道,字符串在python中是不可变类型,就像tuple一样。正是因为这个原因,字符串可以采用元共享模式。

  下面我们来详细分析一下:

  用过python的人应该对==和is比较熟悉,但我想在这里介绍一下。

  ==用于推断两个事物是否相等,例如:

  a=10 .

  b=10

  print(a==b);输出为真;

  再看另一个例子:

  a=[1,2,3];

  b=[1,2,3];

  c=[1,2,4];

  print(a==b);

  print(a==c);输出分别为真和假。

  让我们看看是。是用来推断身份,而不是身份。

  看一下下面的例子:

  x=[1,2,3];

  y=[1,2,3];

  打印(xisy);输出为假;

  仅:

  x=[1,2];

  y=x;

  打印(xisy);输出为真;

  从上面的例子可以看出==和is的区别。

  那么问题来了,如果我们把比较改成字符串,结果会不会出乎意料?请看下面的例子:

  x="欢";

  y=x;

  print(x==y);

  打印(xisy);输出是:

  真实的

  false现在看看下面的例子:

  x="欢";

  y="欢";

  print(x==y);

  打印(xisy);输出是:

  真实的

  真实的

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: