str类型内置方法

用途

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

定义方式

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

  1. name1 = 'hades' # 单引号
  2. name2 = "bonnie" # 双引号
  3. name3 = '''hades and bonnie''' # 三单引号
  4. name4 = """hades + bonnie""" # 三双引号
  5. print(name1)
  6. print(name2)
  7. print(name3)
  8. print(name4)
  1. hades
  2. bonnie
  3. hades and bonnie
  4. hades + bonnie

常用操作和内置方法

优先掌握

按索引取值

  1. hades_info = "hades's weight is 125,height is 168 and he likes reading"
  2. # 0123456789…… 索引序号
  3. print(hades_info[3]) # 正值从左往右数
  4. print(hades_info[-3]) # 负值从右往左数
  1. e
  2. i

切片

语法:

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

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

长度len

语法:

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

成员运算in|not in

语法:

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

移除空白strip

语法:

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

切分split

语法:

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

循环

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

需要掌握

lstrip&rstrip

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

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

lower & upper

语法&定义:

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

startswith & endswith

语法&定义:

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

rsplit

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

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

join

语法&定义:

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

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

  1. alph_list = ['a','b',3,'d']
  2. str = ' > > '
  3. print(str.join(alph_list)) # 报错
  1. ---------------------------------------------------------------------------
  2. TypeError Traceback (most recent call last)
  3. <ipython-input-56-c81183775983> in <module>
  4. 1 alph_list = ['a','b',3,'d']
  5. 2 str = ' > > '
  6. ----> 3 print(str.join(alph_list)) # 报错
  7. TypeError: sequence item 2: expected str instance, int found

replace()

语法&定义:

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

isdigit()

语法&定义:

  • str.isdigit():判断字符串str里的值是否是整型,得到的值是bool类型
  1. str1 = '234'
  2. str2 = ' 234'
  3. print(str1.isdigit())
  4. print(str2.isdigit())
  1. True
  2. 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的个数
  1. str = 'abcdeafghijklmn'
  2. print(str.find('b'),str.find('r'))
  3. print(str.rfind('a'),str.rfind('r'))
  4. print(str.index('k'),str.rindex('b'))
  5. print(str.count('a'),str.count('r'))
  1. 1 -1
  2. 5 -1
  3. 11 1
  4. 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 的新字符串
  1. str = 'hades'
  2. print(str.center(20,'*'))
  3. print(str.ljust(20,'-'))
  4. print(str.rjust(20,'$'))
  5. print(str.zfill(20))
  1. *******hades********
  2. hades---------------
  3. $$$$$$$$$$$$$$$hades
  4. 000000000000000hades
  1. expandtabs()

语法&定义:

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

语法&定义:

  • str.capitalize():将字符串str的第一个字母转换为大写,其余的全部小写
  • str.swapcase():将字符串str的字母大小写互换
  • str.title():将每一个单词的首字母大写,其余字母小写
  1. str = 'ab CDEfg hiJK,Lmn'
  2. print(str.capitalize())
  3. print(str.swapcase())
  4. print(str.title())
  1. Ab cdefg hijk,lmn
  2. AB cdeFG HIjk,lMN
  3. 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`
  1. name = ' aleX'
  2. print(f"1.{name.strip()}")
  3. print(f"2.{name.startswith('al')}")
  4. print(f"3.{name.endswith('X')}")
  5. print(f"4.{name.replace('l','p')}")
  6. print(f"5.{name.split('l')}")
  7. print(f"6.{name.upper()}")
  8. print(f"7.{name.lower()}")
  9. print(f"8.{name[1]}")
  10. print(f"9.{name[:3]}")
  11. print(f"10.{name[-2:]}")
  12. print(f"11.{name.index('e')}")
  13. print(f"12.{name[:-1]}")
  1. 1.aleX
  2. 2.False
  3. 3.True
  4. 4. apeX
  5. 5.[' a', 'eX']
  6. 6. ALEX
  7. 7. alex
  8. 8.a
  9. 9. al
  10. 10.eX
  11. 11.3
  12. 12. ale

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

  1. python-数字类型内置方法

    数字类型内置方法 为什么要有数据类型? 数据是用来表示状态的,不同的状态就应该用不同的数据类型去表示 整型(int) 用途:年龄.号码.银行卡号等 定义:可以使用int()方法将纯数字的字符串转换为十 ...

  2. day07-列表类型/元组类型/字典类型/集合类型内置方法

    目录 列表类型内置方法 元组类型内置方法 字典类型内置方法 集合类型内置方法 列表类型内置方法 用来存多个元素,[]内用逗号隔开任意数据类型的元素 1. list()强制类型转换 print(list ...

  3. day08 数字,字符串类型内置方法

    目录 数字类型内置方法 为什么要有数据类型? 定义方式 方法 储存一个值or多个值? 有序or无序?(有序:有索引, 无序:无索引) 可变or不可变(可变:值变id不变,不可变:值变id也变) 字符串 ...

  4. 元组tuple类型内置方法

    目录 元组tuple类型内置方法 用途 定义 常用操作+内置方法 优先掌握 存一个值or多个值 有序or无序 可变or不可变 元组tuple类型内置方法 元组是不可变的列表,在定义完成后后面就不可以进 ...

  5. day06-数字类型、字符串类型内置方法

    目录 数字类型内置方法 字符串类型内置方法 有序 or 无序 可变 or 不可变 数字类型内置方法 1. int()强制类型转化成整型 age_str = '18' # 定义字符串 age = int ...

  6. Python-数据类型内置方法(1)

    目录 数字类型内置方法 整形(int) 浮点型(float) 字符串类型内置方法 优先掌握 需要掌握 了解 列表类型内置方法 优先掌握 需要掌握 数字类型内置方法 整形(int) 作用:年龄 定义:x ...

  7. Python基础之字符串类型内置方法

    目录 1. 字符串类型 2. 常用操作及内置方法 3. 其他内置方法 1. 字符串类型 用途:姓名,性别等 定义: name1 = 'zhaojun' name2 = "zhaojun&qu ...

  8. 7.4 元组tuple类型内置方法

    元组tuple 元组相当于不可变的列表,在定义完成后后面就不可以进行更改,因此元组只可取不可存 因为不可变,所以相对列表来说,他的功能也少了很多,所以,不难理解,他有个优点就是占用内存小. 作用:能够 ...

  9. Python-数据类型内置方法(2)

    目录 元组(tuple) 内置方法: 字典(dict) 内置方法: 优先掌握: 需要掌握 集合(set) 优先掌握 深浅拷贝 拷贝(赋值) 浅拷贝 深拷贝 总结 存值个数 有序 or 无序 可变 or ...

随机推荐

  1. 你想知道的关于JavaScript作用域的一切

    原文: https://toddmotto.com/everything-you-wanted-to-know-about-javascript-scope/ JavaScript中有许多章节是关于s ...

  2. c#.net常用函数列表

    .DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.Da ...

  3. 前端性能调优Gzip Filter

    转自:https://blog.csdn.net/zxk15982106569/article/details/18922613 客户端向web服务器端发出了请求后,通常情况下服务器端会将页面文件和其 ...

  4. 2017年最新VOS2009/VOS3000最新手机号段导入文件(手机归属地数据)

    VOS2009.vos3000.vos5000最新手机号段归属地数据库导入文件. 基于2017年4月最新版手机号段归属地制作 共360569条记录,兼容所有版本的昆石VOS,包括VOS2009.vos ...

  5. mysql数据库中的十进位是什么意思?

    一般在用小数的时候才有用,比如类型你设置了double,十进位你设为2,那么你可以放0.22的值,但是放0.222的值它会自动四舍五入为0.22,相当于小数位数吧

  6. POJ 2452 Sticks Problem (暴力或者rmq+二分)

    题意:给你一组数a[n],求满足a[i] < a[k] < a[j] (i <= k <= j)的最大的 j - i . 析:在比赛时,我是暴力做的,虽然错了好多次,后来说理解 ...

  7. 402 Remove K Digits 移掉K位数字

    给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小.注意:    num 的长度小于 10002 且 ≥ k.    num 不会包含任何前导零.示例 1 :输入: ...

  8. jQuery学习笔记(4)-设置元素的属性和样式

    一.前言 本篇主要讲解如何使用jQuery获取和操作元素的属性和css样式 二."DOM属性"与元素属性 1.运行一下代码 <img src="/images/lo ...

  9. go 语言开发环境的安装与配置

    go 语言开发环境的安装与配置 编辑器选择 一直以来都是用sublime,但是听说sublime对于golang的插件支持并不是特别完善,并且VS Code只要在自身所带的扩展商店里安装go插件就可以 ...

  10. Table标题行冻结,数据行滚动的一种方式

    这段时间在做Table标题行冻结,数据行滚动,虽然能实现,但也遇到一些问题,记录下来. 首先说说实现,实现其实不难,估计很多人都能想象出来,那就是标题行与内容行分离.我是这么做的,用两个表格,一个只有 ...