Python第四课(序列之字符串)

  • 在Python中,字符串的使用随处可见,可被字符串调用的方法较之列表、元组也是最多。字符串也是Python的6中内建序列之一。
  • 字符串的基本操作

  作为序列,序列的通用操作(索引、分片、加法、乘法、成员资格、长度、最大值、最小值)对于字符串都是适用的。但是字符串和元组一样都是不可变的,所以对字符串进行分片赋值是不合法的。

  • 格式化字符串

  什么是格式化字符串?具有特定格式,可以通过给定值替换特定格式中被标记位置的字符串的操作叫格式化字符串。比如“%s年%s月%s日”中不改变字符串中的汉字部分,仅给出3个数字分别按顺序代替字符串中的“%s”标记的位置,来实现动态的年月日的输出。

  为什么要用格式化字符串?和python中的函数一样,对于在频繁使用的情况下,对于某些格式复杂的字符串,避免频繁重复的输入固定代码。

  使用方法:“%转换标志/字段宽度.精度/转换类型”%值

  “%”:标记转换说明符的开始

  转换标志:“-”表示左对齐;“+”表示在实数前加上正负号;“”(空白字符)表示在整数之前保留空格;“0”表示位数不够时使用字符“0”填充;

  字段宽度:转换后的字符串至少要有该值的宽度。如果值为“*”表示宽度从后面的元组中读取

  点.精度:如果转换的是实数,表示小数点后面的位数;如果转换的是字符串,表示转换后的字符串的最大字段宽度。如果是“*”表示精度值从元组中读取。

  转换类型:s(string)表示字符型;d表示整型;f表示浮点型;最长用的是这三个字符类型

  1.简单转换

1 >>> msg=‘‘‘**********info of %s**********
2 ... name:%s
3 ... age:%d‘‘‘
4 >>> print(msg%(‘lufei‘,‘lufei‘,19))
5 **********info of lufei**********
6 name:lufei
7 age:19

  2.字段宽度

1 >>> ‘the price of aggs:%d‘%12
2 ‘the price of aggs:12‘
3 >>> ‘the price of aggs:%10d‘%12   #字段宽度 10
4 ‘the price of aggs:        12‘

  3.转换标志

 1 >>> ‘the price of aggs:%10d‘%12      #字符宽度 10
 2 ‘the price of aggs:        12‘
 3 >>> ‘the price of aggs:%-10d‘%12     #字符宽度 10 左对齐
 4 ‘the price of aggs:12        ‘
 5 >>> ‘the price of aggs:%+10d‘%12     #字符宽度 10 显示值的正负号
 6 ‘the price of aggs:       +12‘
 7 >>> ‘the price of aggs:%+10d‘%-12    #字符宽度 10 显示值的正负号
 8 ‘the price of aggs:       -12‘
 9 >>> ‘the price of aggs:%010d‘%12     #字符宽度 10 位数不够使用0填充
10 ‘the price of aggs:0000000012‘

  4.精度

1 >>> ‘the price of aggs:%d‘%12
2 ‘the price of aggs:12‘
3 >>> ‘the price of aggs:%.5d‘%12    #转换的是整数,表示字段最大宽度,位数不足使用0填充
4 ‘the price of aggs:00012‘
5 >>> ‘login name:%s‘%‘operadmin‘
6 ‘login name:operadmin‘
7 >>> ‘login name:%.5s‘%‘operadmin‘  #转换的是字符串,表示字段最大宽度,超过最大宽度部分丢弃
8 ‘login name:opera‘9 >>> ‘the price of aggs:%.5f‘%12    #转换的是实数,表示小数点后的位数10 ‘the price of aggs:12.00000
  • 字符串方法
 1 1str.capitalize()  首字母大写
 2 2str.casefold()    字符串中的大写换成小写
 3 3str.center(width,filechar)   字符串居中打印
 4 4str.count(x,start,end)   统计某个子串在字符串中出现的次数
 5 5str.encode(self,encoding,errors)
 6 6str.endswith(self,suffix,start,end)判断字符串是否以某个子串结尾
 7 7str.expandtabs(tabsize)
 8 8str.find(sub,start,end)返回字符串中某个字符或者子串的索引。如果子串或者字符不存在返回-1
 9 9str.format()字符串的格式化输出
10 10str.index(sub,start,end)返回字符串中某个字符或者子串的索引。如果子串或者字符不存在报错“substring not found”
11 11str.isalnum()判断字符串是否只包含字母和数字
12 12str.isalpha()判断字符串是否只包含字母字符
13 13str.isdecimal()判断字符串是否仅包含数字
14 14str.isdigit()判断字符串是否仅包含数字
15 15str.identifier()判断字符串是否是一个标准的变量名
16 16str.islower()判断字符串中的祖母字符是否都是小写字符
17 17str.isnumeric()判断字符串是否仅包含数字
18 18str.isprintable()判断字符串是否是一个可打印字符串
19 19str.isspace()判断字符串是否仅包含空格
20 20str.istitle()判断字符串是否是一个标题(单词首字母大写其他字母都小写)
21 21str.isupper()判断字符串中的字母字符是否都是大写字符
22 22str.join(sequence)在sequence中每两个元素间插入str
23 23str.ljust(width,fillchar)字符串左对齐,宽度不够使用字符填充,默认使用空格填充
24 24str.lower()将字符串中的大写字母转换为小写字母
25 25str.lstrip(char)移除字符串开头指定的字符,默认为空格
26 26maketrans
27 27str.partition(str)根据指定的分隔符将字符串进行分割。如果字符串中包含分隔符则分会一个3元的元组
28 28str.replace(old,new,count)使用指定的字符串替换掉原字符串中的某个字符或者子串,并可以指定替换数量
29 29str.rfind(sub,start,end)返回字符串中某个字符或者子串的索引,从右侧开始查找。如果子串或者字符不存在则返回“-1”
30 30str.rindex(sub,start,end)返回字符串中某个字符或者子串的索引。从右侧开始查询,如果子串或者字符不存在报错“substring not found”
31 31str.rjust(width,fillchar)功能与ljust相反,一个是左对齐一个是右对齐
32 32str.rpartition(str)使用指定的分隔符分割字符串,从右侧开始查询分隔符作为分割点。返回一个3元的元组
33 33str.rsplit(str,num)查找指定字符作为分割点分割字符串,从右侧开始查找,可指定分割成num个子字符串,返回分割后的子字符串组成的列表
34 34str.rstrip(char)移除字符串末尾指定的字符,默认为空格
35 35str.split(char,num)查找指定字符作为分割点分割字符串,可指定分割成num个子字符串,返回分割后的子字符串组成的列表
36 36str.splitlines()按照行进行分割‘\n’‘\r\n’如果参数keepends为True则保留换行符,如果keepends为False则不保留换行符
37 37str.startswith(char,start,end)判断字符串是否是以某个字符开始,可指定起始和结束位置
38 38str.strip(char)移除字符串开头和末尾的指定字符,默认为空格
39 39swapcase
40 40str.upper()将字符串中的小写字母转换成大写字母
41 41str.zfill(width)指定字符串的宽度,宽度不够字符串右对齐使用字符“0”填充

原文地址:https://www.cnblogs.com/freeasyman/p/8696564.html

时间: 2024-08-26 06:55:35

Python第四课(序列之字符串)的相关文章

Python第四课(数据类型)

Python第四课(数据类型)   >>>转到思维导图>>>转到我的博客 整型(int) 用途:记录QQ号.手机号.身份证号等 定义:age = 18 常用操作+内置的方法 ?int只能转存数字的字符串,小数点都不行 ?进制转换 >>> print(int('1100',2)) # 二进制转十进制 0,1 12 >>> print(int('14',8)) # 八进制转十进制 0-7 12 >>> print(int

python基础,python第四课

第四课学习的主要内容有生成器,迭代器,pyton装饰器,python开发规范,Json & pickle 序列化与反序列化 生成器 列表生成式 >>> b = [i+1 for i in range(0,10)] >>> b [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 生成器(Generator) 生成器的一种简单写法,把上面的列表生成式的[],换成()就成了生成器了,python3.0中通过__next__调用 >>> b

Python核心编程 6.序列:字符串、列表和元组

6.1 序列 6.1.2 序列类型操作符 seq[ind]:获得下标为ind的元素 seq[ind1:ind2]:获得下标从ind1到ind2间的元素集合 seq*expr:序列重复expr次 seq1+seq2:连接序列seq1和seq2 obj in seq:判断obj元素是否包含在seq中 obj not in seq:判断obj元素是否不包含在seq中 --成员关系操作符(in, not in) 成员关系操作符使用来判断元素是否属于一个序列的.比如对字符串类型来说,就是判断一个字符是否属

python第四课笔记

请问以下代码会打印多少次"我爱鱼C!" while 'C':        print('我爱鱼C!') 答:无数次 请问以下代码会打印多少次"我爱鱼C!" i = 10    while i:        print('我爱鱼C!')        i = i - 1 答:10次 请写出与 10 < cost < 50 等价的表达式 10 < cost and cost < 50 Python3 中,一行可以书写多个语句吗? 答:可以 用

C语言基础-第四课-数组与字符串

1   数组 1.1   一维数组定义与使用 int array[10];//定义一个一维数组,名字叫array,一共有10个元素,每个元素都是int类型的 array[0] = 20; array[1] = 30; array[9] = 80; //array[10] = 100;//错误,没有 array[10]这个元素 1.2   数组在内存的存储方式 数组在内存中就是一段连续的空间,每个元素的类型是一样的 1.3   一维数组初始化 int array[10] = { 100, 1, 5

Python第四课 map、函数引用、排序、对象

#可变类型的对象为全局变量时#MAP 可以直接迭代,不需要写for循环了#方法一:foo = [2,18,9,22,17]# mapdemo = map(lambda x:x*2+10,foo)# for i in mapdemo:# print(i) # #方法二:# def tt(x):# return x*2+10# m=tt# print("m={0}".format(m))# mresult=m(12)# print("mresult=%d"%mresul

python第四课(python分类)

python分类 1.各个公司都有自己的python JAVA公司有Javapython C有cpython python公司的python运行效率比其他公司的快. 2.每个公司的python都需要先将他的python转换成他那个公司可识别的语言,然后再进行下一段的转换. 例如:Javapython ↓ Java ↓ c语言 ↓ 二进制 原文地址:https://www.cnblogs.com/zsjlh/p/12234194.html

MIT Python 第四课函数抽象与递归简介 最后三分钟递归的经典案例:斐波那契数列

斐波那契数列Fibonacci Sequence,又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*) 有一对一个月大的一公一母的兔子,再过一个月的时候交配生小兔子,假设它们生的是两只一公一母的小兔子,在下一个月末这两只小兔子也有了后代同样是一公一母,问题是一年后你会有多少只小兔子?[呲牙]第三年的时候就像到了澳大利亚... >>&g

小哈学Python第四课--运算符

运算符: 1.算数运算符: 2. 比较运算符 3.赋值运算符 4. 逻辑运算符: 5. 成员运算: