语法
我们可以使用引号来创建一个字符串
例如:
str1='Hello,World!'
str2="Hello,World!"
str3="""Hello,World!"""
访问字符串中的值
Python 并不支持单个字符类型,单个字符也作为字符串处理。
str="abcdef"
print "str[0]:",str[0]
print "str[1:4]:",str[1:4]
运行结果:
str[0]: a
str[1:4]: bcd
更新字符串中的值
Python不支持通过赋值改变字符串中某一个值。
str="abcdef"print "str[0]:",str[0]str[0]="g"print "str[0]:",str[0]
在执行上述代码时会出现如下错误:
str[0]="g"
TypeError: 'str' object does not support item assignment
可以通过如下方式更改某一位的值
str="abcdef"print("g"+str[1:6])
执行结果:
gbcdef
字符串运算符
| 描述 | 实例 |
+ | 字符串连接 | a+b输出 hello world |
* | 重复输出字符串 | a*2 hellohello |
[] | 通过索引获取字符串中字符 | a[1] 输出e |
[:] | 截取字符串中一部分 | a[1:2]输出el |
in | 如果字符串中包含特定的字符,则返回True | H in a 结果是True |
not in | 如果字符串中没有包含特定的字符,则返回True | H in a 结果是False |
r/R | 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 | print r'\n' prints \n 和 print R'\n' prints \n |
str1="abcdef"
str2="ghijkl"
print str1+str2
print str1*2
print "d" in str1
print "s" not in str2
print "\nHello,World!"
print r"\nHello,World!"
执行结果:
abcdefghijkl
abcdefabcdef
True
True
Hello,World!
\nHello,World!
格式输出字符串
%s | 格式化字符串 |
%d | 格式化整数 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
str1="abcdef"
nhex=0x30
print "%s" %( str1)
print "%d" %(nhex)
print "%o" %(nhex)
print "%x" %(nhex)
执行结果:
abcdef
48
60
30
三引号
三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。