Python初学者零碎基础笔记
字符串的常用方法:
- capitalize():将字符串的第一个字符换成大写
name='xiao ming'
names=name.capitalize()
print(names)
>>>
Xiao ming
- title():每个单词的首字母换成大写
name='xiao ming'
names=name.title()
print(names)
>>>
Xiao Ming
- istitle():判断语句,判断每个单词的首字母是否为大写,返回的结果是布尔类型True/Fase
name='xiao ming'
names=name.istitle()
print(names)
>>>
False
name='Xiao Ming'
names=name.istitle()
print(names)
>>>
True
- upper():将字符串全部转换成大写的表达式
name='xiao ming'
names=name.upper()
print(names)
>>>
XIAO MING
- lower():将字符串全部转换成小写的表达式
name='XIAO MING'
names=name.lower()
print(names)
>>>
xiao ming
- len(文件名):求字符串的长度
name='xiao ming'
print(len(name))
name='xiaoming'
print(len(name))
>>>9
>>>8
- find:检测str是否包含在字符中,如果指定范围beg开始和end结束,
则检查是否包含在指定范围内,如果包含,返回开始的索引值,否则返回-1,也就是错误报-1
rfind(‘x’):表示从右边找x,从左边下标开始数起
find(‘x’):表示从左边找x
例:找到要找的字符报出下标(所谓下标是左边下标开始数起到目的下标)没找到要找的字符,报异常!报结果为-1
-----找到字符串“n”
name='https://w.baidu.com/img/bd_logo|.png'
names=name.rfind('n')
print(names)
>>> 34 #指的是要找的"n"的下标
-----没找到字符串“e”
name='https://w.baidu.com/img/bd_logo|.png'
names=name.rfind('e')
print(names)
>>> -1 #没找到 “e”,报错-1
又例:要截取bd_logo|.png
name='https://w.baidu.com/img/bd_logo|.png'
names=name.rfind('/')
print(names)
M1=name[names+1:]
print(M1)
>>> bd_logo|.png
例:要截取/w.baidu.com/img/bd_logo|.png
name='https://w.baidu.com/img/bd_logo|.png'
names=name.find('/')
print(names)
M1=name[names+1:]
print(M1)
>>> /w.baidu.com/img/bd_logo|.png
例:要截取png
name='https://w.baidu.com/img/bd_logo|.png'
names=name.rfind('.')
print(names)
M1=name[names+1:]
print(M1)
>>> png
- index():表示从左边找,和fint的用法一样,从左边下标开始数起
但是不同之处在于如果str不在字符串中会报一个异常,而find会报-1
例:找到字符串“n”
name='https://w.baidu.com/img/bd_logo|.png'
names=name.index('n')
print(names)
>>>34
-----没找到字符串“e”
name='https://w.baidu.com/img/bd_logo|.png'
names=name.index('e')
print(names)
>>>ValueError: substring not found #报错
例:要截取baidu.com/img/bd_logo|.png
name='https://w.baidu.com/img/bd_logo|.png'
names=name.index('.')
print(names)
M1=name[names+1:]
print(M1)
>>>baidu.com/img/bd_logo|.png
- replace:替换(原数据old,新数据new,替换次数max)
例:把空格换成$
name='张三,李四,王五,张三,张三,holle world'
names=name.replace(' ','$')
print(names)
>>> 张三,李四,王五,张三,张三,holle$world
例:从左到右,将第一个张三换小吴
name='张三,李四,王五,张三,张三,holle world'
names=name.replace('张三','小吴',1)
print(names)
>>>小吴,李四,王五,张三,张三,holle world
例:从左到右,将第一个和第二个张三换小吴
name='张三,李四,王五,张三,张三,holle world'
names=name.replace('张三','小吴',2)
print(names)
>>>
小吴,李四,王五,小吴,张三,holle world
例:将所有的张三换成小吴
name='张三,李四,王五,张三,张三,holle world'
names=name.replace('张三','小吴')
print(names)
>>>
小吴,李四,王五,小吴,小吴,holle world
- encode编码(指定的编码格式编码字符串,如果出错,默认报一个 ValueError的 异常.除非errors指定是’ignore’或者’replace
decode解码
例如:encode编码: ‘上课啦!认真听课!’
name='上课啦!认真听课!'
names=name.encode('utf-8')
print(names)
>>>b'\xe4\xb8\x8a\xe8\xaf\xbe\xe5\x95\xa6\xef
\xbc\x81\xe8\xae\xa4\xe7\x9c\x9f\xe5\x90\xac\xe8\xaf\xbe\xef\xbc\x81'
decode解码:b’\xe4\xb8\x8a\xe8\xaf…
L1=names.decode('utf-8')
print(L1)
>>>上课啦!认真听课!
获取字符的编码值
print(ord("A"))
print(ord("真"))
>>>65
>>>30495
根据码值获取指定字符
print(chr(65))
print(chr(30495))
>>>A
>>>真
- startswith(xxx):判断是否以xxx开头,返回值为布尔类型True/False
endswith(xxx):判断是否以xxx结尾,返回值为布尔类型True/False
例:判断是否以1开头
name='1.doc'
result=name.startswith('1')
print(result)
>>>True
例:判断是否以2开头
name='1.doc'
result=name.startswith('2')
print(result)
>>>False
例:判断是否以’doc’结尾
name='1.doc'
result=name.endswith('doc')
print(result)
>>>True
例:判断是否以’txt’结尾
name='1.doc'
result=name.endswith('txt')
print(result)
>>>False
- isalpha():判断语句,所有字符是否都是字母
isdigit():判断语句,所有字符是否都是数字
isalnum():所有字符都是字母或数字组成,返回值为布尔类型True/Fase
例:判断所有的字符是否都是字母
name='dsdoc'
result=name.isalpha()
print(result)
>>>True
name='dsdoc1'
result=name.isalpha()
print(result)
>>>False
例:判断所有的字符是否都是数字
name='12555'
result=name.isdigit()
print(result)
>>>True
name='12cdf'
result=name.isdigit()
print(result)
>>>False
例:判断所有的字符是否由字母或数字组成
name='12cdf'
result=name.isalnum()
print(result)
>>>True
- join(文件名或内容):加入—主要用于拼接等[‘x’.join(文件名或内容)]
例如:用’-'拼接
name=['a','b','c']
result='-'.join(name)
print(result)
>>>a-b-c
result='-'.join('abc')
print(result)
>>>a-b-c
name=['a','b','c']
result=''.join(name)
print(result)
>>>abc
- max(str):(内置函数)返回字符串str中最大的字母
min(str):(内置函数)返回字符串str中最小的字母
name='hcdf'
result=max(name)
print(result)
>>>h
name='hcdf'
result=min(name)
print(result)
>>>c
- lstrip():去除字符左侧空格
rstrip():去除字符右侧空格
strip():去除字符两侧侧空格
例:去除字符左侧空格
L1=' 你好'
L2=L1.lstrip()
print(L2)
>>>你好
例:去除右侧空格
L1='你好 '
L2=L1.rstrip()
print(L2)
>>>你好
例:去除字符两侧侧空格
L1=' 你好 '
L2=L1.strip()
print(L2)
>>>你好
还有另一种用法:去除字符最左侧字符
L1='他你好啊'
L2=L1.lstrip('他')
print(L2)
>>>你好啊
同理:去除字符最右侧字符
L1='他你好啊'
L2=L1.rstrip('啊')
print(L2)
>>>他你好
- split():分割字符串,将分割的字符串保存在列表中
split(选中参数,分割个数n)
split()[截取部分X的下标数]
例:
L1='ddkskm\ndds cedsss\nddw\nd'
L2=L1.split()
print(L2)
>>>['ddkskm', 'dds', 'cedsss', 'ddw', 'd']
例:当有各种分割符时,想截取需要的部分,如需截取cedsss
L1='ddkskm\ndds cedsss\nddw\nd'
L2=L1.split()[2]
print(L2)
>>>cedsss
split(选中\n,分割个数为2)
L1='ddkskm\ndds cedsss\nddw\nd'
L2=L1.split('\n',2)
print(L2)
>>>['ddkskm', 'dds cedsss', 'ddw\nd']
split(选中空格,分割个数为2)
name='a b c d e'
names=name.split(' ',2)
print(names)
>>>['a', 'b', 'c d e']
- count(指定参数x):求字符串中指定参数的个数
name='张三,李四,王五,张三,张三,holle world'
result=name.count('张三')
print(result)
>>>3
- Ljust():返回一个原字符串左对齐,并使用空格填充至长度width的新字符串
rjust():返回一个原字符串右对齐,并使用空格填充至长度width的新字符串
例:左对齐
L1='11111111111'
L2=L1.ljust(20)
print(L2)
>>>11111111111
例:右对齐
L1='11111111111'
L2=L1.rjust(20)
print(L2)
>>> 11111111111