字符串是python中重要的数据对象

python字符串是以单引号、双引号、或者三个三单引号三个双引号包含的任意的python数据对象都可以称为python字符串

注意:以单引号或双引号包含的数据对象中间不可以换行(若需要换行需要用转义字符\n),三个单引号或三个双引号可以包含多行的数据对象。

一、转义符

在任何的语言里都有转义符这样的概念存在,转义符是让含有特殊意义的字符失去特殊的意义,按照普通的形式打印。

例如我们需要打印出某个文件的路径

print 'c:\note\takes.txt'

执行结果为

c:
ote akes.txt

这并不是我们想要的结果,这时需要用转义字符,使\n和\t这些含有特殊意义的字符失去本身的意义,才会按照正确的格式打印出来。

print 'c:\\note\\takes.txt'

执行结果为

c:\note\takes.txt

也可以在字符串前面添加“r”使接下来的整个字符串中的特殊字符失去特殊的意义。

print r'c:\note\takes.txt'

二、字符串分片操作(游标)

字符串是有序的序列

索引开始从0开始,结束为-1

分片操作包含索引开始值,但是不包含终止值,通常是终止值减1

字符串变量[游标]:返回当前游标所对应的字符。

字符串变量[开始游标,结束游标,步长]:开始游标指截取字符串的开始下标;结束游标指截取字符串的结束下标;步长是指游标的间隔数。

注意:截取的结果包括开始游标不包括结束游标;开始游标可以省略,省略默认为0;结束游标可省,省略默认为截取到字符串末尾;步长可省,省略默认为1。

a='0123456789'
print a[1]
print a[-2]
print a[2:4]
print a[2:8:2]
print a[:7:2]
print a[2:7:]
print a[2::]

执行结果为

1
8
23
246
0246
23456
23456789

三、字符串方法

字符串方法是针对字符串的操作,方法已经定义并封装,使用简化操作和代码重写

1.字符串填充方法

center(width[,fillchar])

字符串在指定长度内居中

ljust(width[,fillchar])

字符串在指定长度内靠左对齐

rjust(width[,fillchar])

字符串在指定长度内靠右对齐

zfill(width)

zfill()即是以字符0进行填充,在输出数值时比较常用

width:宽度表示字符在什么宽度内居中,该数值包括字符串本身的长度,若指定的长度小于字符串本身的长度,该方法不会生效

fillchar:可选参数,表示以什么字符填充空白部分,默认是空格。

注意:若指定的长度过大,运行窗口一行放不下时会换行显示,影响显示效果。

a='0123456789'
print a.center(50,'*')
print a.ljust(50,'*')
print a.rjust(50,'*')
print '1'.zfill(2)
print '10'.zfill(2)

执行结果为

********************0123456789********************
0123456789****************************************
****************************************0123456789
01
10

expandtabs([tabsize])

expandtabs()的tabsize 参数默认为8。它的功能是把字符串中的制表符tab转换为适当数量的空格。

注意:

tabsize参数包括从该制表符到它的上一个制表符的所有字符;

若tabsize的值小于等于该制表符到它的上一个制表符的所有字符,则显示的空格数是(x*tabsize-该制表符到它的上一个制表符的所有字符数);

若tabsize的值大于该制表符到它的上一个制表符的所有字符,则显示的空格数是(tabsize-该制表符到它的上一个制表符的所有字符数).

a='123\twfdsf\tadfsd'
b='012345678901234567890'
print b
print a.expandtabs(3)
print a.expandtabs(2)
print a.expandtabs(4)
print a.expandtabs(7)

执行结果为

012345678901234567890
123   wfdsf adfsd
123 wfdsf adfsd
123 wfdsf   adfsd
123    wfdsf  adfsd

2.字符串删减方法

strip()函数族用以去除字符串两端的空白符

strip([chars])    去掉字符串两端的指定的符号

rstrip([chars])    去掉字符串右端的指定的符号

lstrip([chars])    去掉字符串左端的指定的符号

chars:可省参数,表示要去掉的字符,可以是多个字符,省略默认为空格。

a='     adfasdff      '
print a.strip()
print a.lstrip()
print a.rstrip()
a='**********adfadsfasdfasd**********'
print a.strip('*')
print a.lstrip('*')
print a.rstrip('*')
a='*!*!*!*!*!adfadsfasdfasd*!*!*!*!'
print a.strip('*!')
print a.lstrip('*!')
print a.rstrip('*!')

执行结果为

adfasdff
adfasdff      adfasdff
adfadsfasdfasd
adfadsfasdfasd**********
**********adfadsfasdfasd
adfadsfasdfasd
adfadsfasdfasd*!*!*!*!
*!*!*!*!*!adfadsfasdfasd

3.字符串变形方法

lower()        将字符串转换为小写

upper()        将字符串转换为大写

capitalize()    首字母大写

swapcase()     大小写之间转换

title()        单词首字母大写(按空格等间隔符来区分单词,不能区分单词拼写是否正确)

a='Hello World,Python!'
print a.lower()
print a.upper()
print a.capitalize()
print a.swapcase()
print a.title()
a='hello world,python!'
print a.capitalize()
print a.title()

执行结果为

hello world,python!
HELLO WORLD,PYTHON!
Hello world,python!
hELLO wORLD,pYTHON!
Hello World,Python!
Hello world,python!
Hello World,Python!

4.字符串切分方法

splitlines([keepends])返回一个列表,将字符串按行\n分隔.keepends:可选参数,若为True,会在列表中分割的子串中显示换行符\n;若为False不显示.默认为False。

split([sep[,maxsplit]])返回一个列表,将字符串按某个字符从左向右分隔

rsplit([sep[,maxsplit]])返回一个列表,将字符串按某个字符从右向左分隔分隔

sep:可选参数,按指定的字符分隔字符串,默认按空格、换行、制表符等符号分隔

maxsplit:可选参数,指定分隔的次数,默认是分隔全部的字符串。

split和rsplit在不指定maxsplit参数的情况下是完全相同的效果。

a='hello world python \ni am comming \nabc123'
print a.splitlines()
print a.splitlines(True)
print a.split()
print a.split(' ')
print a.split(' ',4)
print a.rsplit()
print a.rsplit(' ')
print a.rsplit(' ',4)

执行结果为

['hello world python ', 'i am comming ', 'abc123']
['hello world python \n', 'i am comming \n', 'abc123']
['hello', 'world', 'python', 'i', 'am', 'comming', 'abc123']
['hello', 'world', 'python', '\ni', 'am', 'comming', '\nabc123']
['hello', 'world', 'python', '\ni', 'am comming \nabc123']
['hello', 'world', 'python', 'i', 'am', 'comming', 'abc123']
['hello', 'world', 'python', '\ni', 'am', 'comming', '\nabc123']
['hello world python', '\ni', 'am', 'comming', '\nabc123']

5.字符串连接方法

join(seq)将字符串的值插入到seq参数提供的字符串中

join() 函数的高效率(相对于循环相加而言)使它成为最值得关注的字符串方法之一

print '123'.join('abcdef')
print 'Hello'.join('|||')

执行结果为

a123b123c123d123e123f
|Hello|Hello|

6.字符串判断方法

isalnum()判断是否为字母或数字,不包含其他字符,若是字母或数字返回True

isalpha()判断是否为字母,若是字母,返回True

isdigit()判断是否为数字,若是数字,返回True

islower()判断字符串中的字母是否全部为小写,若是,返回True

isupper()判断字符串中的字母是否全部为大写,若是,返回True

isspace()判断是否是空格,若是空格,返回True

istitle()判断首字母是否是大写,若是,返回True

print 'python!123'.isalnum(),'python123'.isalnum()
print 'Python123'.isalpha(),'Python'.isalpha()
print 'python123'.isdigit(),'123'.isdigit()
print 'python'.islower(),'python123'.islower(),'Python'.islower(),'PYTHON'.islower()
print 'PYTHON'.isupper(),'PYTHON123'.isupper(),'Python'.isupper(),'python'.isupper()
print '   '.isspace(),'  python'.isspace()
print 'Python good'.istitle(),'python Good'.istitle(),'Python Good'.istitle()

执行结果为

False True
False True
False True
True True False False
True True False False
True False
False False True

startswith(prex[, start[, end]])判断字符串是否是以prex参数的值开始的,若是,返回True。

endswith(sux[,start[, end]])判断字符串是否是以sux参数的值结束的,若是,返回True。

start:可省参数,指定字符串的开始游标,省略默认为0

end:可省参数,指定字符串的结束游标,省略默认为截取到字符串结尾。

print 'Python123'.startswith('p'),'Python123'.startswith('P'),'Python123'.startswith('Py')
print 'Python123'.startswith('th',2),'Python123'.startswith('h',3,5)
print 'Python123'.endswith('123'),'Python123'.endswith('3')
print 'Python123'.endswith('on',2,6),'Python123'.endswith('123',4)

执行结果为

False True True
True True
True True
True True

7.字符串查找方法

count( sub[, start[, end]])统计sub参数在字符串中出现的次数

find( sub[, start[, end]])查找sub参数在字符串中首次出现的位置,若没找到,返回-1

index( sub[, start[, end]])查找sub参数在字符串中首次出现的位置,若没找到,报错

start参数和end参数与startswith()方法的start,end参数使用方法相同。

a='012345678901234567890123456789'
print a.count('3'),a.count('23',4,14)
print a.find('3'),a.find('23',14,24),a.find('e')
print a.index('3'),a.index('23',14,24),a.index('e')

执行结果为

3 1
3 22 -1
3 22Traceback (most recent call last):File "C:\Users\Administrator\Desktop\123.py", line 4, in <module>print a.index('3'),a.index('23',14,24),a.index('e')
ValueError: substring not found

8.字符串替换方法

replace(old, new[,count])将字符串中old的值替换为new的值。

replace()函数的 count 参数用以指定最大替换次数

a='012345678901234567890123456789'
print a.replace('1','q'),a.replace('1','q',2)
print a.replace('123','qw'),a.replace('123','qw',2)

执行结果为

0q234567890q234567890q23456789 0q234567890q234567890123456789
0qw4567890qw4567890qw456789 0qw4567890qw4567890123456789

9.字符串编码方法

encode([encoding[,errors]])加码

decode([encoding[,errors]])解码

这是一对互逆操作的方法,用以编码和解码字符串。因为str是平台相关的,它使用的内码依赖于操作系统环境,而unicode是平台无关的,是Python内部的字符串存储方式。unicode可以通过编码(encode)成为特定编码的str,而str也可以通过解码(decode)成为unicode

转载于:https://blog.51cto.com/raffaele/1568586

Python学习笔记1—Python字符串相关推荐

  1. Python学习笔记D4(字符串和序列)

    Python学习笔记D4(字符串和序列) 序列 list()作为一个方法存在两个形态,一个有参数一个没参数 list():不带参数,返回一个空的列表 list([iterable]):返回一个迭代器 ...

  2. python基础论文_北大博士Python学习笔记,Python基础语法总结,一篇文章带你入门...

    image.png 网上现在Python学习资料有很多,但是很杂.很多初学Python的朋友就不知道该怎么去抉择,那些是自己当下所需要的. 刚好朋友是北大的博士,在IT行业也工作八年了.就把他学习Py ...

  3. 『Python学习笔记』Python中的异步Web框架之fastAPI介绍RestAPI

    Python中的异步Web框架之fastAPI介绍&RestAPI 文章目录 一. fastAPI简要介绍 1.1. 安装 1.2. 创建 1.3. get方法 1.4. post方法 1.5 ...

  4. Python学习笔记1 Python基础

    第1章 Python基础 1.1 Python概述及版本介绍 1.Python是一种面向对象的解释型计算机程序设计语言(解释型语言源代码->解释器逐行解释每一句源代码) 2.优点:高级语言.可移 ...

  5. Python学习笔记: Python 标准库概览

    本文来自:入门指南 开胃菜参考:开胃菜 使用Python解释器:使用Python解释器 本文对Python的简介:Python 简介 Python流程介绍:深入Python 流程 Python数据结构 ...

  6. python学习笔记:python类和对象,文件操作,网络编程

    目录 一.python面向对象 1.类和对象的定义 2.单继承 3.多继承 4.成员属性 5.异常 6.@property 二.python文件操作 文件的打开和读写 文件对象接口汇总 三.pytho ...

  7. 『Python学习笔记』Python实现并发编程(补充joblibpymysql)

    Python实现并发编程(补充joblib&pymysql) 文章目录 一. 并发编程知识点 1.1. 为什么引入并发编程 1.2. 如何选择多线程多进程多协程 1.2.1. 什么是CPU密集 ...

  8. 河南师范大学python+学习笔记2 python语言基本语法元素

    吃水不忘挖井人 首先对河南师范大学的各位老师们说声谢谢.他们是: 张磊老师.张倩倩老师.刘金金老师.郭凌云老师.李晓艳老师.李志先老师.陶华亭老师.周雪燕老师.王爱菊老师.陈劲松老师.黄晓巧老师.夏辉 ...

  9. 2022年最高效,踏实的Python学习笔记以及Python学习规划

    一.学习建议 1.找到自己感兴趣的方向,并且结合市场需求进行选择 Python的应用范围 测试 运维 web 人工智能 大数据 爬虫及数据分析 办公自动化 2.学习过程中一定要勤加练习,并且尝试去使用 ...

  10. Python学习笔记(一) Python基础

    文章目录 1. 初始Python 1.1 Python安装 1.2 Python解释器 1.3 安装和配置PyCharm工具 2. 基础语法 2.1 注释 2.2 字面量 2.3 变量 2.4 标识符 ...

最新文章

  1. 读书人:人机融合中的深度态势感知
  2. 使用密钥加密码加密_创建基于密码的加密密钥
  3. React之函数中的this指向
  4. iis7.5配置php环境,iis7.5安装配置php环境 - iis
  5. Java 结构体之 JavaStruct 使用教程三 JavaStruct 数组进阶
  6. 数据结构之树:树的介绍——9
  7. Log4j漏洞?一行代码都不改就能永久修复?
  8. MateBook14一个多月的使用体验(开发向)
  9. Sphinx index.rst
  10. 一个很不错的开发管理中文个人网站
  11. 网络设备巨头优倍快的客户数据遭泄露
  12. linux eof打印列表,Linux:结合cat和EOF输出到文本文件
  13. Intel与三星合作新移动操作系统Tizen 拥抱HTML5
  14. 数字图像处理与分析(matlab实现)——实现空域线性及非线性低通平滑滤波
  15. 张量分解在无线通信和MIMO雷达中的概述
  16. 自主导航:赋予移动机器人智能感知与运动的能力
  17. STM32开发 --- W25Q128读写、SPI通信
  18. 高可用解决方案:同城双活?异地双活?异地多活?怎么实现?
  19. NLM-P (使用积分图像进行算法的优化)
  20. 一文详解 .obj 和 .mtl文件格式

热门文章

  1. 缓存大小_详解高速缓存存储器的3种映射方式
  2. 浅谈C++中qsort与sort的使用方法与区别
  3. js常用循环遍历方法
  4. 云小蜜知识库维护的流程和维护建议
  5. python简单查询用户
  6. RedisRepository封装—Redis发布订阅以及StackExchange.Redis中的使用
  7. Ubuntu上安装ns2-2.34
  8. 顶顶顶!! Xcode7.1下用CocoaPods安装Alamofire--swift下的第三方网络库
  9. 重启Windows的PowerShell
  10. SQL SERVER获取数据库文件信息