Python中的字符串,我们可以简单的认为是一组用单引号,双引号,三引号包含的一组字符,数字或者特殊字符。在Python3中,所有的字符串都是Unicode字符串。
- 变量定义
#单引号 string1 = 'abc' #双引号 string2 = "def" #三引号,文字可以换行 string3 = ''' 我可以 随便 换行 ''' print(string1) print(string2) print(string3)
- 常规操作符
对与字符串我们可以进行拼接,截取,重复,判断,格式化等操作。python中常规的操作符有如下几种:
操作符 | 描述 |
---|---|
+ | 字符串连接,将多个字符串连接成一个字符串 |
* | 重复输出字符串内容 |
[] | 通过索引获取字符串中的部分内容 |
[ : ] | 使用start:end的方式截取字符串中的一部分内容,遵循左闭右开原则,str[0,5] 是不包含第 5 个字符的,取前四个内容。 |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True |
r/R | 原始字符串 - 所有的字符串都是定义的值来显示,转译符和特殊字符不会被转译。 |
% | 格式字符串,根据定义的格式输出字符串 |
字符串连接:使用"+",将多个字符串连接成一个字符串.
string1 = 'abc' string2 = "def" string3 = '''gh ijk ''' print(string1 + string2 + string3) #输出 abcdefgh #ijk
重复输出:重复输出字符串内容。
string1 = 'abc' string2 = "def" string3 = '''gh ijk ''' print(string1 * 2) #输出:abcabc print(string1 * len(string2)) #输出: abcabcabc
索引取值:使用[]字符,通过索引获取字符串中的部分内容。注意索引正向是从 0 开始的,如果取值超过索引范围会报系统错误。索引也可以是是负数,表示反向取值。
string1 = 'abc' string2 = "def" string3 = '''gh ijk ''' print(string1[2]) #输出:c print(string1[-3]) #输出:a print(string1[3]) #输出: IndexError : string index out of range
范围取值: 使用[start:end]的形式,取字符串的部分内容,遵循左闭右开原则,str[0,5] 是不包含第 5 个字符的,取前四个内容。还可以使用[start:end:step]的形式获取内容,意思是从start到end位置,每隔step个取一个字符。
string1 = 'abc' string2 = "123456789" string3 = '''gh ijk ''' print(string1[0:2]) #输出:ab print(string1[0:10]) #输出:abc print(string1[0:-2]) #输出: a , -2表示倒数第二个字符,即 'b' print(string2[0:10:2]) #输出:13579
成员运算符: 判断主字符串是否包含子字符串,返回True or False。
string1 = 'abc' string2 = "123456789" string3 = '''gh ijk ''' print('a' in string1) #输出:True print('d' not in string1) #输出:True print(string1 in string2) #输出: False print("d" in string2) #输出:False
原始字符串: r/R + “” 用来显示原始定义的字符,转译符也将作为普通字符来显示。
string1 = 'abc' string2 = "123456789" string3 = '''gh ijk ''' string4 = r"display original chanter " string5 = R" \" print(string4) #输出:display original chanter print(string5) #输出: \
格式字符串:使用%来格式化输出想要的字符类型:
符 号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
string1 = 'abc' string2 = "123456789" int_num = 10 print("string4 is %s" % string1) #输出:string4 is abc print("string4 is %d" % int_num) #输出:string4 is abc
我们也可以使用 format关键字进行格式化,注意点“.”不要遗漏了
name = 'ralf' age = 35 print("name is {var_name} and age is {var_age}".format(var_name = name, var_age = age)) #输出: name is ralf and age is 35