str类型内置方法

目录

  • str类型内置方法

    • 用途
    • 定义方式
    • 常用操作和内置方法
      • 优先掌握
      • 需要掌握
      • 了解
    • 存一个值or多个值
    • 有序or无序
    • 可变or不可变
    • 强化训练

str类型内置方法

用途

字符串数字、字母、下划线组成的一串字符,主要是用来描述一些类似于名字,爱好……

定义方式

在单引号、双引号、三单/双引号之间

name1 = 'hades'  # 单引号

name2 = "bonnie"  # 双引号

name3 = '''hades and bonnie'''  # 三单引号

name4 = """hades + bonnie"""  # 三双引号

print(name1)

print(name2)

print(name3)

print(name4)
hades
bonnie
hades and bonnie
hades + bonnie

常用操作和内置方法

优先掌握

按索引取值

hades_info = "hades's weight is 125,height is 168 and he likes reading"
#             0123456789……     索引序号

print(hades_info[3])    # 正值从左往右数
print(hades_info[-3])    # 负值从右往左数
e
i

切片

语法:

  • print(str[起始索引:终止索引:步长])
  • 同样的顾头不顾尾
hades_info = "hades's weight is 125,height is 168 and he likes reading"
print(hades_info[:])
print(hades_info[8:14])
print(hades_info[5:17:2])   # 如果起始索引 < 终止索引,则步长为正,默认值为1
print(hades_info[-7:-1:1])
print(hades_info[-1:-7]+ '打印不了')    # **如果起始索引 > 终止索引,则步长一定需要设置且必须为负值,否则不会打印
print(hades_info[-1:-7:-1])  
hades's weight is 125,height is 168 and he likes reading
weight
' egti
readin
打印不了
gnidae

注意:字符串里的空格也是一个字符

长度len

语法:

  • len(str)
hades_info = "hades's weight is 125,height is 168 and he likes reading"
print(len(hades_info))
56

成员运算in|not in

语法:

  • print(str1 in str)
  • print(str2 not in str)
hades_info = "hades's weight is 125,height is 168 and he likes reading"
print('hades'in hades_info)
print('girl'in hades_info)      # 这是进行判断,所打印bool值
True
False

移除空白strip

语法:

  • str.strip(‘str1‘)
  • 只能移除两端的str1,字符串中间的str1不能移除,默认值为空格
string = '  a    abcd     a   '
print(string)
print(string.strip())
string = 'aaaa    abcd     aa'
string1 =  ' aaaa    abcd     aa'
print(string.strip('a'))
print(string1.strip('a'))
  a    abcd     a
a    abcd     a
    abcd
 aaaa    abcd     

切分split

语法:

  • str.spilt(sep,maxsplit):从左往右切分
  • sep表示切分点,一般默认为空格
  • maxsplit表示切的份数,默认为最大切分数
hades_info = "hades's weight is 125,height is 168 and he likes reading"
print(hades_info.split())
print(hades_info.split('s'))   #  以's'为切分点,即遇到's'就切
print(hades_info.split('s',3))  # 这个切了3次
["hades's", 'weight', 'is', '125,height', 'is', '168', 'and', 'he', 'likes', 'reading']
['hade', "'", ' weight i', ' 125,height i', ' 168 and he like', ' reading']
['hade', "'", ' weight i', ' 125,height is 168 and he likes reading']

循环

string = 'abcd f'
for i in string:
    print(i)      # pay attention 空格也是一个字符哦
a
b
c
d

f

需要掌握

lstrip&rstrip

语法&定义:用法和strip一样

  1. str.lstrip(‘str1‘):移除str字符串左边str1
  2. str.rstrip(‘str2‘):移除str字符串右边str2
string = '    a    abcd     a   '
print(string)
print(string.lstrip())
print(string.rstrip())
    a    abcd     a
a    abcd     a
    a    abcd     a

lower & upper

语法&定义:

  1. str.lower():将字符串中的字母全部转换成小写
  2. str.upper():将字符串中的字母全部转换成大写
string = 'a  246 ABcd  %   G   '
print(string.lower())
print(string.upper())
a  246 abcd  %   g
A  246 ABCD  %   G   

startswith & endswith

语法&定义:

  1. str.startswith(str1,start,end):检查字符串的子字符串(从第start元素到第end元素)开头是否以str1字符串开头
  2. str.endswith(str2,start,end):检查字符串的子字符串(从第start元素到第end元素)结尾是否以str2字符串结尾
str = "this is string example....wow!!!";
print(str.startswith( 'this' ))
print(str.startswith( 'is', 2, 4 ))
print(str.startswith( 'this', 2, 4 ))
True
True
False

rsplit

语法&定义:用法和split一样

  • str.rsplit(‘str1‘):从右往左切分
hades_info = "hades's weight is 125,height is 168 and he likes reading"
print(hades_info.rsplit('s',3))  # 以's'为切分点,从右往左切了3次
["hades's weight i", ' 125,height i', ' 168 and he like', ' reading']

join

语法&定义:

  • str.join(list):将列表通过str串成一个字符串
alph_list = ['a','b','c','d']
str = ' > > '
print(str.join(alph_list))
print(type(str.join(alph_list)))
a > > b > > c > > d
<class 'str'>

注意:数据类型不可和字符串拼接

alph_list = ['a','b',3,'d']
str = ' > > '
print(str.join(alph_list))    # 报错
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-56-c81183775983> in <module>
      1 alph_list = ['a','b',3,'d']
      2 str = ' > > '
----> 3 print(str.join(alph_list))    # 报错

TypeError: sequence item 2: expected str instance, int found

replace()

语法&定义:

  • str.replace(str1,str2):将字符串str中的子字符串str1替换成str2
hades_info = "hades's weight is 125,height is 168 and he likes reading"
print(hades_info.replace('is','是'))
hades's weight 是 125,height 是 168 and he likes reading

isdigit()

语法&定义:

  • str.isdigit():判断字符串str里的值是否是整型,得到的值是bool类型
str1 = '234'
str2 = ' 234'
print(str1.isdigit())
print(str2.isdigit())   
True
False

了解

  1. find|rfind|index|rindex|count

语法&定义:

  • str.find(str1):从左往右寻找str字符串中的某个子字符串str1,True则返回字符串的索引值,False则返回-1
  • str.rfind(str1):从右往左寻找str字符串中的某个子字符串str1,True则返回字符串的索引值,False则返回-1
  • str.index(str1):从左往右寻找str字符串中的某个子字符串str1,True则返回字符串的索引值,False则报错
  • str.rindex(str1):从右往左寻找str字符串中的某个子字符串str1,True则返回字符串的索引值,False则报错
  • str.count(str1):从str字符串中寻找某个子字符串str1的个数
str = 'abcdeafghijklmn'
print(str.find('b'),str.find('r'))
print(str.rfind('a'),str.rfind('r'))
print(str.index('k'),str.rindex('b'))
print(str.count('a'),str.count('r'))
1 -1
5 -1
11 1
2 0
  1. center|ljust|rjust|zfill

语法&定义:

  • str.center(width,str1):返回str居,并使用str1填充至长度 width 的新字符串,默认填充字符为空格
  • str.ljust(width,str1)):返回str居,并使用str1填充至长度 width 的新字符串,默认填充字符为空格
  • str.rjust(width,str1):返回str居,并使用str1填充至长度 width 的新字符串,默认填充字符为空格
  • str.zfill(width):返回str居,并使用0填充至长度 width 的新字符串
str = 'hades'
print(str.center(20,'*'))
print(str.ljust(20,'-'))
print(str.rjust(20,'$'))
print(str.zfill(20))
*******hades********
hades---------------
$$$$$$$$$$$$$$$hades
000000000000000hades
  1. expandtabs()

语法&定义:

  • ‘a\tbc\te‘.expandtabs():在字符串‘abce‘中插入\t的位置添加空格,默认为8个空格
print('a\tbc\te'.expandtabs())
print('a\tbc\te'.expandtabs(4))
a       bc      e
a   bc  e
  1. captalize()、swapcase()、title()

语法&定义:

  • str.capitalize():将字符串str的第一个字母转换为大写,其余的全部小写
  • str.swapcase():将字符串str的字母大小写互换
  • str.title():将每一个单词的首字母大写,其余字母小写
str = 'ab CDEfg hiJK,Lmn'
print(str.capitalize())
print(str.swapcase())
print(str.title())
Ab cdefg hijk,lmn
AB cdeFG HIjk,lMN
Ab Cdefg Hijk,Lmn
  1. is数字系列
  • isdecimal(): 检查字符串是否值包含十进制字符,如果是返回True,否则返回False
  • isdigit(): 如果字符串只包含数字,则返回True,否则返回False
  • isnumeric(): 如果字符串中只包含数字字符,则返回True,否则返回False
  1. is其他
  • isalnum(): 如果字符串至少有一个字符并且所有字符都是字母或数字,则返回True,否则返回False
  • isalpha(): 如果字符串至少有一个字符并且所有字符都是字母,则返回True,否则返回False
  • islower(): 如果字符串中只包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True,否则返回False
  • isspace(): 如果字符串中只包含空白,则返回True,否则返回False
  • isupper(): 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回True,否则返回False
  • istitle(): 如果字符串是标题类型的,则返回True,否则返回False

存一个值or多个值

  • 一个值

有序or无序

  • 有索引,所以是有序的

可变or不可变

  • 不可变数据类型

强化训练

`1. 写代码,有如下变量(name = " aleX"),请按照要求实现每个功能:

  1. 移除 name 变量对应的值两边的空格,并输出处理结果
  2. 判断 name 变量对应的值是否以 "al" 开头,并输出结果
  3. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果
  4. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
  5. 将 name 变量对应的值根据 “l” 分割,并输出结果。
  6. 将 name 变量对应的值变大写,并输出结果
  7. 将 name 变量对应的值变小写,并输出结果
  8. 请输出 name 变量对应的值的第 2 个字符?
  9. 请输出 name 变量对应的值的前 3 个字符?
  10. 请输出 name 变量对应的值的后 2 个字符?
  11. 请输出 name 变量对应的值中 “e” 所在索引位置?
  12. 获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo`
name = ' aleX'
print(f"1.{name.strip()}")
print(f"2.{name.startswith('al')}")
print(f"3.{name.endswith('X')}")
print(f"4.{name.replace('l','p')}")
print(f"5.{name.split('l')}")
print(f"6.{name.upper()}")
print(f"7.{name.lower()}")
print(f"8.{name[1]}")
print(f"9.{name[:3]}")
print(f"10.{name[-2:]}")
print(f"11.{name.index('e')}")
print(f"12.{name[:-1]}")
1.aleX
2.False
3.True
4. apeX
5.[' a', 'eX']
6. ALEX
7. alex
8.a
9. al
10.eX
11.3
12. ale

原文地址:https://www.cnblogs.com/Hades123/p/10828047.html

时间: 2024-10-14 13:13:20

str类型内置方法的相关文章

020集合类型内置方法

集合类型内置方法 集合可以理解成一个集合体,学习Python的学生可以是一个集合体:学习Linux的学生可以是一个集合体. pythoners = ['jason', 'reed', 'tank', 'sean'] linuxers = ['reed', 'egon', 'kevin'] # 即报名pythoners又报名linux的学生 py_li_list = [] for stu in pythoners: if stu in linuxers: py_li_list.append(stu

字符串类型内置方法

# 字符串类型内置方法 # 字符串类型 ## 用途:名字,兴趣,爱好 ## 定义方式 ```pythonname1 = 'nick'name2 = "nick"name3 = """nick"""name4 = '''nick'''``` # 常用操作和内置方法 ## 优先掌握 ### 按索引取值 ```python#1 按索引取值zhuping_info_list = ['zhuping',190,140,["pi

018列表类型内置方法

列表类型内置方法(list) 列表类型内置方法 定义:[]内可以有多个任意类型的值,逗号分隔元素 # my_girl_friend = list(['jason','tank','sean']) my_girl_friend = ['jason', 111, 'sean'] print(f"my_girl_friend: {my_girl_friend}") ###输出结果: my_girl_friend: ['jason', 111, 'sean'] 1.1 优先掌握(*****)

数字类型内置方法

目录 数据为什么要分类型回顾(掌握) int(掌握) 长整型(了解) 可变or不可变 float(掌握) 数据为什么要分类型回顾(掌握) 回顾下我们存的数据为什么要分类型?数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示.比如我的姓名.身高和爱好,这三者就应该用不同的数据类型存储. int(掌握) 1.用途:年龄.号码.等级 2.定义:可以使用int()方法将纯数字的字符串转为十进制的整型 age = 19 # age = int(10) print(type(age)) <cla

元组类型内置方法

元组类型的内置方法 1.用途 ? 可以存多个数据 2.定义 ? ()内可以有多个任意类型的值,用逗号隔开,元组是不可变的列表 name_tuple=('jack','alex','peiqi') name_tuple[0]='nick' #元素不能修改,会报错 3.常用操作很内置方法 ? 1.按索引取值 name_tuple = ('nick', 'jason', 'tank', 'sean') # name_tuple[0] = 'nick handsom' # 报错 print(f"name

集合类型内置方法

目录 1.作用 2.定义方式 3.内置方法 4.存一个值还是多个值 5.有序 or 无序 6.可变 or 不可变(重点) 1.作用 是存储一大堆元素的东西,容器数据类型.用于关系运算的集合体,由于集合内的元素无序且集合元素不可重复,因此集合可以去重,但是去重后的集合会打乱原来元素的顺序. 2.定义方式 以{}用逗号隔开不可变数据类型 空大括号是字典,不是集合,定义空集合必须得用set() s = {1,2,1,'a','a','c'} print(s) 3.内置方法 ## 优先掌握 # 1.长度

str.方法的整理(字符串类型内置方法的具体使用)

1.str.strip() 方法:str.strip(self,chars) 作用:移除字符串头与尾的指定字符.(核心是头与尾) chars参数:需要移除的字符串,如果省略或者为None,则默认移除空格. 要点 ①:移除的字符串过程为从外向内,如果最外边没有要移除的字符串(假设里面却有的话),此时里面的那个字符串是不会被移除的. s1='/a=abcd*/-a' s2=s1.strip('a') print(s1) print(s2) 结果: /a=abcd*/-a /a=abcd*/- 需要移

list str dic 内置方法

1.列表的 append 和extend的区别 list.append(object) 向列表中添加一个对象object list.extend(sequence) 把一个序列seq的内容添加到列表中 music_media = ['compact disc', '8-track tape', 'long playing record'] new_media = ['DVD Audio disc', 'Super Audio CD'] music_media.append(new_media)

数据类型内置方法之数据类型与字符串类型

数据类型内置方法 数字类型内置方法 整型 1.用途:年龄.身份证号码.手机号... 2.定义方式: age1 = 18 age2 = int(18) print(age1) print(id(age1)) print(type(age1)) print(type(age2)) 18 1723559936 <class 'int'> <class 'int'> 3.常用操作和内置方法:+ - * / // ** % :无内置方法 4.存一个值or多个值:一个值 5.有序or无序(有索