Python字符串使我们最常用的数据类型。
以使用引号( ' 或 " )来创建字符串。
一:创建字符串并访问他的值
# *定义字符串 *string_one = "我是一个字符串" print("string_one:" + string_one +",并且在打印的时候被更新了")
输出:
string_one:我是一个字符串,并且在打印的时候被更新了
二:python的驻留机制
aa = 'python' bb = "python" cc = '''python''' print(id(aa)) print(id(bb)) print(id(cc))
输出:
2307494144752 2307494144752 2307494144752
上边的代码使用三种不同的方式去定义了三个字符串,但是这三个字符串的内存地址是相同的。说明,这个字符串在内存中只有一份。
python字符串是一个不可变的字符序列,这个特性和元组是一样的
python的驻留机制有一下几个特殊情况
驻留机制的几种情况(交互模式)
1:字符串的长度为0或1时
s1 = '' s2 = '' result = s1 is s2 print(result)
输出:True
2:符合标识符的字符串(标识符是由字母(A--Z 和 a--z)、下划线和数字组成。如果标识符中出现除了这 3 类字符之外的其他字符,就肯定是不合法标识符。 )
s1 = 'qwe!' s2 = 'qwe!' print(s1 is s2)
False
s1 == s2
True
id(s1)
1714461826216
id(s2)
1714461826272
s1 = 'qwe' s2 = 'qwe' s1 is s2
True
3:字符串只在编译时进行驻留,而非运行时
4:[-5,256]之间的整数数字
sys中的intern方法强制2个字符串指向同一个对象
PyCharm对字符串进行了优化处理