python几大核心之——字符串

1.什么是字符串

其实前面说到数据类型时说过了,就是带有引号的参数,“”引号内的一切东西就是字符串,字符串又叫文本。

2.创建字符串的两种方式:

3.字符串的方法:

python2:

python3:

同样的,不同版本里字符串的方法还是很多不一样,老套路,我还是只解析常用的:capitalize,casefold.center,count,decode,encode,endswith,expandtabs,find,format,index,isalnum,isalpha,isdigit,isidentifier,islower,isspace,istitle,isupper,join,ljust,lower,lstrip,partition,replace,rfind,rindex,rjust,rpartition,rpslit,rstrip,split,splitines,startwith,strip', swapcase, title, translate, upper, zfill(是不是有点多,是的,因为字符串在实际的开发中最常用,所以方法用的也多)

captalize:把整个字符串的第一个单词的首字母大写并返回

但注意的是,字符串是不可变对象,所以不改变自身

casefold:把整个字符串的所有字符改为小写,python3里特有的

center(width):把字符串居中,并使用空格填充至长度 width 的新字符串

count(sub[, start[, end]]):返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,前面的集合等使用过,不再演示

decode(decode='strict'):把已知的编码方式解码为Unicode,前面解释过,在python3里不再有此方法

encode(encoding='utf-8', errors='strict'):以 encoding 指定的编码格式对字符串进行编码,前面解释过
在python3不需要decode再encode,直接使用encode:

endswith(sub[, start[, end]]):检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选

startswith(prefix[, start[, end]]):检查字符串是否以 prefix 开头,是则返回 True,否则返回 False。start 和 end 参数可以指定范围检查,可选

expandtabs([tabsize=8]):把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8

这个没法看出效果,自己动手操作体会吧

find(sub[, start[, end]]):检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选

rfind(sub[, start[, end]]):类似于 find() 方法,不过是从右边开始查找

foramt:格式化字符串(详见下面第6点)

index(sub[, start[, end]]):跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常

rindex(sub[, start[, end]]):类似于 index() 方法,不过是从右边开始

isalnum():如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

前者因为含有逗号和空格,所以False

isalpha():如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

前者含有空格

isdecimal():如果字符串只包含十进制数字则返回 True,否则返回 False,这是python3特有

isdigit():如果字符串只包含数字则返回 True,否则返回 False

isnumeric():如果字符串中只包含数字字符,则返回 True,否则返回 False,和上面的isdigit方法相同,不再演示

islower():如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回 True,否则返回 False

isspace():如果字符串中只包含空格,则返回 True,否则返回 False

istitle():如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回 True,否则返回 False

isupper():如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回 True,否则返回 False

join(sub):以字符串作为分隔符,插入到 sub 中所有的字符之间

ljust(width):返回一个左对齐的字符串,并使用空格填充至长度为 width 的新字符串

lower():转换字符串中所有大写字符为小写。

partition(sub):找到子字符串 sub,把字符串分成一个 3 元组 (pre_sub, sub, fol_sub),如果字符串中不包含 sub 则返回 ('原字符串', '', '')

rpartition(sub):类似于 partition() 方法,不过是从右边开始查找

replace(old, new[, count]):把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次

rjust(width):返回一个右对齐的字符串,并使用空格填充至长度为 width 的新字符串

split(sep=None, maxsplit=-1):不带参数默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,则仅分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表

splitlines(([keepends])):按照 '\n' 分隔,返回一个包含各行作为元素的列表,如果 keepends 参数指定,则返回前 keepends 行

strip([chars]):删除字符串前边和后边所有的空格,chars 参数可以定制删除的字符,可选

lstrip():去掉字符串左边的所有空格

rstrip():删除字符串末尾(右边)的空格。

swapcase():翻转字符串中的大小写

title():返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串

translate(table):根据 table 的规则(可以由 str.maketrans('a', 'b') 定制,maketrans方法是python特有,用的较少)转换字符串中的字符

upper():转换字符串中的所有小写字符为大写

zfill(width):返回长度为 width 的字符串,原字符串右对齐,前边用 0 填充

4.字符串也可以被看作一个不可变的列表

怎么说?请看:

5.字符串也可以切片

6.字符串拼接到字符串格式化

字符串拼接就是把多个字符串对象用符号【+】拼接起来

但是不同类型的对象是不能拼接的,比如:

其实还有个问题,用+拼接是有点万恶的,为什么叫万恶,比如:

还是这个例子,有没有发现【yangI】是连在一起的,不过你可以这样:

手动在前面加个逗号,但是如果要处理很大的数据,这样是手动搞很麻烦的,开发程序还要耗时间来搞这种毫无技术含量有费时的问题是万恶的

所以,换一种方式,格式化,格式化字符串是最常用的,格式化在数据类型提到了一点点,说,只要【%】符号遇到字符串,这符号就不再是取余。具体的符号和对应的含义请看下面:

%c:格式化字符及其 ASCII 码
%s:格式化字符串
%d:格式化整数
%o:格式化无符号八进制数
%x:格式化无符号十六进制数
%X:格式化无符号十六进制数(大写)
%f:格式化浮点数字,可指定小数点后的精度
%e:用科学计数法格式化浮点数
%E:作用同 %e,用科学计数法格式化浮点数
%g:根据值的大小决定使用 %f 或 %e
%G:作用同 %g,根据值的大小决定使用 %f 或者 %E

实例:多种方式打印【I love python】

说到这,就得把字符串格式化相关的都摆出来:

格式化操作符辅助命令:

*          定义宽度或者小数点精度
-       用做左对齐
+          在正数前面显示加号( + )
<sp>  在正数前面显示空格
\#      在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0       显示的数字前面填充`0`而不是默认的空格
%       '%%'输出一个单一的'%'
var)    映射变量(字典参数)
m.n.    m是显示的最小总宽度,n是小数点后的位数(如果可用的话)

洗礼灵魂,修炼python(9)--灵性的字符串相关推荐

  1. 洗礼灵魂,修炼python(85)-- 知识拾遗篇 —— 深度剖析让人幽怨的编码

    编码 这篇博文的主题是,编码问题,老生常谈的问题了对吧?从我这一套的文章来看,前面已经提到好多次编码问题了,的确这个确实很重要,这可是难道了很多能人异士的,当你以为你学懂了,在研究爬虫时你发现你错了, ...

  2. 【廖雪峰python入门笔记】字符串_转义字符的使用

    转义字符的使用 字符串可以用''或者""括起来表示. 如果字符串本身包含'怎么办?比如我们要表示字符串 I'm OK ,这时,可以用" "括起来表示: &quo ...

  3. python使用正则表达式判别字符串是否以一个大写字符起始而跟随了一些小写字符

    python使用正则表达式判别字符串是否以一个大写字符起始而跟随了一些小写字符 # # Python3 code to find sequences of one upper # case lette ...

  4. python使用正则化检查字符串的起始和结束字符相同

    python使用正则化检查字符串的起始和结束字符相同 #python使用正则化检查字符串的起始和结束字符相同 # Python program to check if a string starts ...

  5. python使用正则表达式统计字符串中出现次数最多的数字

    python使用正则表达式统计字符串中出现次数最多的数字 #python使用正则表达式统计字符串中出现次数最多的数字 # find the most occurring element import ...

  6. python使用正则表达式删除字符串中的其它字符只保留数字和字母

    python使用正则表达式删除字符串中的其它字符只保留数字和字母 #python使用正则表达式删除字符串中的其它字符只保留数字和字母 # Python code to demonstrate # to ...

  7. python使用正则表达式抽取字符串中最大数值数字

    python使用正则表达式抽取字符串中最大数值数字 #python使用正则表达式抽取字符串中最大数值数字 # Function to extract maximum numeric value fro ...

  8. python模块datetime将字符串转换为日期

    python模块datetime将字符串转换为日期 python datetime 模块提供用于处理日期和时间的类. 在支持日期时间数学运算的同时,实现的关注点更着重于如何能够更有效地解析其属性用于格 ...

  9. python的四种内置数字类型_浅析Python数字类型和字符串类型的内置方法

    一.数字类型内置方法 1.1 整型的内置方法 作用 描述年龄.号码.id号 定义方式 x = 10 x = int('10') x = int(10.1) x = int('10.1') # 报错 内 ...

最新文章

  1. 判断文件或文件夹(目录)是否存在 C/C++ win/linux通用
  2. CentOS 6.5 下安装 Redis 2.8.7
  3. 如何让PictureBox背景色透明
  4. DriveInfo类取得计算机的磁盘信息
  5. Android项目实战(三十二):圆角对话框Dialog
  6. 算法题指南书_分类算法指南
  7. centos6.4下安装jdk
  8. 2×3卡方检验prism_卡方独立性检验原理
  9. 【POJ 1845】 Sumdiv (整数唯分+约数和公式+二分等比数列前n项和+同余)
  10. python使用ide_python使用什么ide?[关闭]
  11. Framework7 + Angular 开发问题解决汇总
  12. 励志生活-英国式选秀带来的启示
  13. struts教程笔记4
  14. Java中 IO 常用操作
  15. 在服务器应用虚拟化中发现价值
  16. Week 8 CSP M2 HRZ学英语
  17. (4)bootstrap标签页
  18. Windows之内存映射文件
  19. python列表两两相减_Python数据分析实例一:医院药品销售数据
  20. 目前流行的机器学习算法

热门文章

  1. Kafka Topic动态迁移 (源代码解析)
  2. 海底通信光纤光缆特点简介
  3. 项目在IDEA里导不出war包
  4. 这个周末,和爱彼迎开启“浪漫满屋”之旅
  5. 电脑可以开机但是无法进入到桌面怎么办?
  6. echart柱状图、折线图自动滚动
  7. python的mkl库_[转]Numpy使用MKL库提升计算性能
  8. 加入闲鱼是一种什么体验?
  9. 萤幕不再输- iPhone 6 与各 Android 旗舰并排比 [图库]
  10. 为什么要查“圣诞树”