跟我一起学Python(二)
字符串
单引号、双引号、三引号
字符串引号包括单引号'...'
、双引号"..."
、三引号"""..."""或者'''...'''
,比如'abc'
,"hello world"
。
三者区别:
-
三引号是可以换行的
str1 = """hello world """ str2 = '''hello world ''' print(str1) print(str2)
打印结果:
hello world hello world
-
如果想打印单引号,外面就需要包双引号或者三引号,或者使用转义字符
# 双引号包单引号 str1 = "hello 'every' one" # 单引号转义字符 str2 = 'hello \'every\' one' # 三引号包单引号 str3 = '''hello 'every' one''' # 三引号包双引号 str4 = '''hello "every" one''' # 双引号转义字符 str5 = "hello \"every\" one" print(str1) print(str2) print(str3) print(str4) print(str5)
打印结果:
hello 'every' one hello 'every' one hello 'every' one hello "every" one hello "every" one
字符串运算符
下表实例变量 a 值为字符串 “Hello”,b 变量值为 “Python”
操作符 | 描述 |
---|---|
+ | 字符串连接 |
* | 重复输出字符串 |
[] | 通过索引获取字符串中字符 |
[ : ] | 截取字符串中的一部分 |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True |
r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 |
例如:
str1 = 'hello'
str2 = 'python'
# 字符串连接
result = str1 + str2
print(result) # hellopython
# 重复输出字符串
print(str1 * 2) #hellohello
# 通过索引获取字符串中的字符
print(str1[2]) #l
# 截取字符串中的一部分
print(str2[1:4]) #yth
#判断字符是否在字符串中,如果存在就返回True
print('y' in str2) #True
#判断字符串是否不在字符串中
print('y' not in str2) #False
# 原始字符串。本来加上\是否转义的,例如\n,如果前面加上r,就打印出\n这个字符串
print(r'\n')
string相关函数
方法 | 描述 |
---|---|
string.capitalize() |
把字符串的第一个字符大写 |
string.center(width) |
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串 |
string.count(str, beg=0, end=len(string)) |
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数 |
string.decode(encoding='UTF-8', errors='strict') |
以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除非 errors 指 定 的 是 ‘ignore’ 或 者’replace’ |
string.encode(encoding='UTF-8', errors='strict') |
以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’ |
string.endswith(obj, beg=0, end=len(string)) |
检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False. |
string.expandtabs(tabsize=8) |
把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8。 |
string.find(str, beg=0, end=len(string)) |
检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1 |
string.format() |
格式化字符串 |
string.index(str, beg=0, end=len(string)) |
跟find()方法一样,只不过如果str不在 string中会报一个异常. |
string.isalnum() |
如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False | <