Python初学者零碎基础笔记(二)

Python初学者零碎基础笔记

字符串常用的内置函数:

  1. capitalize():将字符串的第一个字符换成大写
name='xiao ming'
names=name.capitalize()
print(names)
>>>
Xiao ming

  1. title():每个单词的首字母换成大写
name='xiao ming'
names=name.title()
print(names)
>>>
Xiao Ming
  1. istitle():判断语句,判断每个单词的首字母是否为大写,返回的结果是布尔类型True/Fase
name='xiao ming'
names=name.istitle()
print(names)
>>>
False
name='Xiao Ming'
names=name.istitle()
print(names)
>>>
True
  1. upper():将字符串全部转换成大写的表达式
name='xiao ming'
names=name.upper()
print(names)
>>>
XIAO MING
  1. lower():将字符串全部转换成小写的表达式
name='XIAO MING'
names=name.lower()
print(names)
>>>
xiao ming
  1. len(文件名):求字符串的长度
name='xiao ming'
print(len(name))
name='xiaoming'
print(len(name))
>>>9
>>>8
  1. 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
  1. 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  
  1. 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
  1. 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
>>>
  1. 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
  1. 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
  1. 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
  1. max(str):返回字符串str中最大的字母
    min(str):返回字符串str中最小的字母
name='hcdf'
result=max(name)
print(result)
>>>h
name='hcdf'
result=min(name)
print(result)
>>>c
  1. 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)
>>>他你好
  1. 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']
  1. count(指定参数x):求字符串中指定参数的个数
name='张三,李四,王五,张三,张三,holle world'
result=name.count('张三')
print(result)
>>>3
  1. Ljust():返回一个原字符串左对齐,并使用空格填充至长度width的新字符串
    rjust():返回一个原字符串右对齐,并使用空格填充至长度width的新字符串
    例:左对齐
L1='11111111111'
L2=L1.ljust(20)
print(L2)
>>>11111111111 

例:右对齐

L1='11111111111'
L2=L1.rjust(20)
print(L2) 
>>>         11111111111

你可能感兴趣的:(python笔记一天一个小知识,python)