string 字符串
1. 字符串特性
1.1不可变对象特性理解
2. 字符串定义/原始字符串定义
3. 字符串读取string里的值
4. 字符串切片
5. 字符串运算
5.1 字符串连接 +
5.2 字符串重复
5.3 字符串索引取值/字符串切片
5.4 字符串成员,list也有这个方法
6. 字符串格式化
7. 字符串常用方法
7.1 string.join(seq) 以 string 作为分隔符,将 seq 中所有的元素(元素必须是字符串)合并为一个新的字符串
7.2 string.split(str, num) 以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串
7.3 max(str) 返回字符串 str 中最大的字母。
7.4 min(str) 返回字符串 str 中最小的字母。
7.5 len(str) 返回字符串 str 长度。
7.6 string.replace(str1, str2,num) 把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.
7.7 string.upper() 转换 string 中的小写字母为大写
7.8 string.lower() 转换 string 中所有大写字符为小写.
7.9 string.count(str, beg=0, end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
7.10 string.endswith(obj, beg=0, end=len(string))检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
7.11 string.find(str, beg=0, end=len(string)) 检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
7.12 string.index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在 string中会报一个异常.
7.13 string.rstrip() 删除 string 字符串末尾的空格.
7.14 string.lstrip() 截掉 string 左边的空格
7.15 string.strip([obj]) 在 string 上执行 lstrip()和 rstrip()
7.16 string.upper() 转换 string 中的小写字母为大写
7.17 string.lower() 转换 string 中所有大写字符为小写.
7.18 string.partition(str)有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.
1.1不可变对象特性理解
2. 字符串定义/原始字符串定义
3. 字符串读取string里的值
4. 字符串切片
5. 字符串运算
5.1 字符串连接 +
5.2 字符串重复
5.3 字符串索引取值/字符串切片
5.4 字符串成员,list也有这个方法
6. 字符串格式化
7. 字符串常用方法
7.1 string.join(seq) 以 string 作为分隔符,将 seq 中所有的元素(元素必须是字符串)合并为一个新的字符串
7.2 string.split(str, num) 以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串
7.3 max(str) 返回字符串 str 中最大的字母。
7.4 min(str) 返回字符串 str 中最小的字母。
7.5 len(str) 返回字符串 str 长度。
7.6 string.replace(str1, str2,num) 把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.
7.7 string.upper() 转换 string 中的小写字母为大写
7.8 string.lower() 转换 string 中所有大写字符为小写.
7.9 string.count(str, beg=0, end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
7.10 string.endswith(obj, beg=0, end=len(string))检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
7.11 string.find(str, beg=0, end=len(string)) 检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
7.12 string.index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在 string中会报一个异常.
7.13 string.rstrip() 删除 string 字符串末尾的空格.
7.14 string.lstrip() 截掉 string 左边的空格
7.15 string.strip([obj]) 在 string 上执行 lstrip()和 rstrip()
7.16 string.upper() 转换 string 中的小写字母为大写
7.17 string.lower() 转换 string 中所有大写字符为小写.
7.18 string.partition(str)有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.
1. 字符串特性
- 不可变对象,immutable obj
1.1不可变对象特性理解
str1 = "python"
str1[1] = 'i'
# TypeError: 'str' object does not support item assignment
2. 字符串定义/原始字符串定义
- 原始字符串,r/R 原始字符串
- 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母”r”(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
str1,str2 = 'python','xman'
print str1
print str2
print type(str1)
str3 = r'python/r\n'
print str3
3. 字符串读取string里的值
str1 = 'python'
print str1[1]
4. 字符串切片
参考list切片,所有切片都是sequence的特性
5. 字符串运算
5.1 字符串连接 +
str1,str2 = 'python','xman'
str3 = str1 + str2
print str3
5.2 字符串重复
str1 = 'python '*5
print str1
5.3 字符串索引取值/字符串切片
# same an list
str1 = 'python '*5
print str1[3]
5.4 字符串成员,list也有这个方法
str1 = 'python'
print ('p' in str1) and ('o' in str1)
print ('a' in str1) and ('o' in str1)
print ('a' not in str1)
6. 字符串格式化
7. 字符串常用方法
字符串常用方法
7.1 string.join(seq) 以 string 作为分隔符,将 seq 中所有的元素(元素必须是字符串)合并为一个新的字符串
seq 为字符串,列表等list
返回为一个string
原字符串不变
str1 = '.'.join(['200','200','180','20'])
print str1
# "200.200.180.20"
str1 = '.'.join('python')
print str1
# "p.y.t.h.o.n"
7.2 string.split(str, num) 以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串
输入为俩个字符串
str不写,默认为”
输出为一个list
num 为分割逗号的数量
原字符串不变
str1 = '200 1 2 300 4000'
str2 = str1.split()
str3 = str1.split(' ',1)
str4 = str1.split('0')
print str1
print str2
print str3
print str4
'''
200 1 2 300 4000
['200', '1', '2', '300', '4000']
['200', '1 2 300 4000']
['2', '', ' 1 2 3', '', ' 4', '', '', '']
'''
7.3 max(str) 返回字符串 str 中最大的字母。
7.4 min(str) 返回字符串 str 中最小的字母。
7.5 len(str) 返回字符串 str 长度。
7.6 string.replace(str1, str2,num) 把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.
str1 = '200 1 2 300 4000 1999 200200'
str2 = str1.replace('200', 'sh')
print str2
7.7 string.upper() 转换 string 中的小写字母为大写
7.8 string.lower() 转换 string 中所有大写字符为小写.
7.9 string.count(str, beg=0, end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
str1 = '11111111111111111111111111aaaaaaaaaaaaaaaaBBBBBBB'
print str1.count('1') # 26
7.10 string.endswith(obj, beg=0, end=len(string))检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
str1 = '11111111111111111111111111aaaaaaaaaaaaaaaaBBBBBBB'
str1.endswith('BB') #True
7.11 string.find(str, beg=0, end=len(string)) 检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
str1 = '11111111111111111111111111aaaaaaaaaaaaaaaaBBBBBBB'
str1.find('BB') #42
7.12 string.index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在 string中会报一个异常.
str1 = '11111111111111111111111111aaaaaaaaaaaaaaaaBBBBBBB'
str1.index('BB') #42
7.13 string.rstrip() 删除 string 字符串末尾的空格.
str1 = ' 11111111111111111111111111aaaaaaaaaaaaaaaaBBBBBBB '
str1.rstrip() #' 11111111111111111111111111aaaaaaaaaaaaaaaaBBBBBBB'
7.14 string.lstrip() 截掉 string 左边的空格
str1 = ' 11111111111111111111111111aaaaaaaaaaaaaaaaBBBBBBB '
str1.lstrip() #'11111111111111111111111111aaaaaaaaaaaaaaaaBBBBBBB '
7.15 string.strip([obj]) 在 string 上执行 lstrip()和 rstrip()
str1 = ' 11111111111111111111111111aaaaaaaaaaaaaaaaBBBBBBB '
str1.strip() #'11111111111111111111111111aaaaaaaaaaaaaaaaBBBBBBB'
7.16 string.upper() 转换 string 中的小写字母为大写
7.17 string.lower() 转换 string 中所有大写字符为小写.
str1 = 'aaaaaaAAAAAAAAAAAAAAbbbbbbbbbVBBBBBBBBBB'
print str1.lower() #'aaaaaaaaaaaaaaaaaaaabbbbbbbbbvbbbbbbbbbb'
print str1.upper() #'AAAAAAAAAAAAAAAAAAAABBBBBBBBBVBBBBBBBBBB'
7.18 string.partition(str)有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.
返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
找到第一个str的时候开始分割
str1 = 'aaaaaaAAAAAAAAAAAAAAbbbbbbbbbVBBBBBBBBBB'
print str1.partition('aa') #('', 'aa', 'aaaaAAAAAAAAAAAAAAbbbbbbbbbVBBBBBBBBBB')