Python学习笔记1—Python字符串
字符串是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字符串相关推荐
- Python学习笔记D4(字符串和序列)
Python学习笔记D4(字符串和序列) 序列 list()作为一个方法存在两个形态,一个有参数一个没参数 list():不带参数,返回一个空的列表 list([iterable]):返回一个迭代器 ...
- python基础论文_北大博士Python学习笔记,Python基础语法总结,一篇文章带你入门...
image.png 网上现在Python学习资料有很多,但是很杂.很多初学Python的朋友就不知道该怎么去抉择,那些是自己当下所需要的. 刚好朋友是北大的博士,在IT行业也工作八年了.就把他学习Py ...
- 『Python学习笔记』Python中的异步Web框架之fastAPI介绍RestAPI
Python中的异步Web框架之fastAPI介绍&RestAPI 文章目录 一. fastAPI简要介绍 1.1. 安装 1.2. 创建 1.3. get方法 1.4. post方法 1.5 ...
- Python学习笔记1 Python基础
第1章 Python基础 1.1 Python概述及版本介绍 1.Python是一种面向对象的解释型计算机程序设计语言(解释型语言源代码->解释器逐行解释每一句源代码) 2.优点:高级语言.可移 ...
- Python学习笔记: Python 标准库概览
本文来自:入门指南 开胃菜参考:开胃菜 使用Python解释器:使用Python解释器 本文对Python的简介:Python 简介 Python流程介绍:深入Python 流程 Python数据结构 ...
- python学习笔记:python类和对象,文件操作,网络编程
目录 一.python面向对象 1.类和对象的定义 2.单继承 3.多继承 4.成员属性 5.异常 6.@property 二.python文件操作 文件的打开和读写 文件对象接口汇总 三.pytho ...
- 『Python学习笔记』Python实现并发编程(补充joblibpymysql)
Python实现并发编程(补充joblib&pymysql) 文章目录 一. 并发编程知识点 1.1. 为什么引入并发编程 1.2. 如何选择多线程多进程多协程 1.2.1. 什么是CPU密集 ...
- 河南师范大学python+学习笔记2 python语言基本语法元素
吃水不忘挖井人 首先对河南师范大学的各位老师们说声谢谢.他们是: 张磊老师.张倩倩老师.刘金金老师.郭凌云老师.李晓艳老师.李志先老师.陶华亭老师.周雪燕老师.王爱菊老师.陈劲松老师.黄晓巧老师.夏辉 ...
- 2022年最高效,踏实的Python学习笔记以及Python学习规划
一.学习建议 1.找到自己感兴趣的方向,并且结合市场需求进行选择 Python的应用范围 测试 运维 web 人工智能 大数据 爬虫及数据分析 办公自动化 2.学习过程中一定要勤加练习,并且尝试去使用 ...
- Python学习笔记(一) Python基础
文章目录 1. 初始Python 1.1 Python安装 1.2 Python解释器 1.3 安装和配置PyCharm工具 2. 基础语法 2.1 注释 2.2 字面量 2.3 变量 2.4 标识符 ...
最新文章
- 读书人:人机融合中的深度态势感知
- 使用密钥加密码加密_创建基于密码的加密密钥
- React之函数中的this指向
- iis7.5配置php环境,iis7.5安装配置php环境 - iis
- Java 结构体之 JavaStruct 使用教程三 JavaStruct 数组进阶
- 数据结构之树:树的介绍——9
- Log4j漏洞?一行代码都不改就能永久修复?
- MateBook14一个多月的使用体验(开发向)
- Sphinx index.rst
- 一个很不错的开发管理中文个人网站
- 网络设备巨头优倍快的客户数据遭泄露
- linux eof打印列表,Linux:结合cat和EOF输出到文本文件
- Intel与三星合作新移动操作系统Tizen 拥抱HTML5
- 数字图像处理与分析(matlab实现)——实现空域线性及非线性低通平滑滤波
- 张量分解在无线通信和MIMO雷达中的概述
- 自主导航:赋予移动机器人智能感知与运动的能力
- STM32开发 --- W25Q128读写、SPI通信
- 高可用解决方案:同城双活?异地双活?异地多活?怎么实现?
- NLM-P (使用积分图像进行算法的优化)
- 一文详解 .obj 和 .mtl文件格式