Python字符串操作详解
菜鸟学Python第五天
流程控制
for循环
while循环 VS for循环:
while循环:称之为条件循环,循环的次数取决于条件何时为false
for循环:称之为迭代器循环,循环的次数取决于数据包含的成员个数
for循环专门用来取值,在循环取值方面比while循环强大,以后
遇到循环取值的场景,就应该用for循环
for循环对字典进行取值,取出的是字典的key。
for + break
for i in range(1,10):
if i == 3:
break 1
2
for + continue
for i in range(1,5):
if i == 3:
continue
1
2
4
for + else
注意:else只有在for循环运行完毕且不被break打断的情况下才会被运行到
for循环的嵌套
# 九九乘法表
for i in range(1, 10): # 循环输出9行
for j in range(1, i+1): # 循环输出当前行的列数(与第一行i有关,i==1时,j只能取到1...)
print('%s * %s = %s ' % (i, j, i*j), end='') # 打印,end当前行不换行
print('') # 打印完一行后换行
数据类型详解
1. 整型:int
作用:用来记录年龄、等级、各种号码状态
定义:
age = 10
类型转换:int 可以将浮点型和纯数字的字符串转换为整型。
进制转换:(十进制转其他进制)
1.bin():十进制转二进制
2.oct():十进制转八进制
3.hex():十进制转十六进制
>>> i = 28
>>> print(bin(i))
>>> print(oct(i))
>>> print(hex(i))
0b11100
0o34
0x1c
常用操作+内置方法
略
不可变
存单个值
2.浮点型:float
作用:用来记录身高,体重、工资状态
定义:
height = 1.83
类型转换:float 可以将整型和仅包含数字的字符串转换成浮点型
使用:略
3.字符串:str
作用:用来记录描述性质状态,比如名字、性别等。
定义:在单引号('')、双引号(" ")、三引号(''' ''', """ """)内包含一系列字符。
三种不同引号的区别:
单引号和双引号基本无区别,都是用来存放单个字符串,但要注意的是要保证前后的一致性
三引号多用来存放多行字符串
字符串的嵌套时,要保证内外引号的差异性,否则就会报错
x = 'abc' # 等同于x = "abc"
y = """
abc
123
hahaha
"""
msg = 'my name is "Jason"'
类型转换:可以把任意类型转成字符串类型。
使用:
字符串的加法运算(仅限于字符串同类型相加)
字符串的乘法(相乘的对象必须是int类型)
字符串之间的大小比较
常用操作及内置方法
优先掌握
按索引取值(正向取+反向取):只能取
>>> name = 'abcdef'
>>> print(name[1])
b
>>> print(name[-1])
f
>>>切片(顾头不顾尾:步长)
name = 'Jason'
print(name[:]) # 默认按照正向步长取所有值
print(name[1:4]) # 正向取索引1-3元素
print(name[-5:-1:1]) # 正向步长从倒数第五个取到倒数第二个
print(name[-1:-5:-1]) # 反向步长从倒数第一个取到倒数第四个
print(name[::-1]) # 默认反向步长取整个字符串(字符串的倒置)
Jason
aso
Jaso
nosa
nosaJ长度 len() : 统计字符的个数
>>> name = 'abcdef'
>>> len(name)
6成员运算 in / not in
判断字符串中是否包含某元素。
移除空白 strip:移除字符串左右两边的特定字符
strip("")—>括号内可以是要去除的范围
# 情镜一
name = ' Jason '
print(name.strip()) # 括号内不填默认去除空格
Jason
# 情境二
name = '*-=+h/ello*(_+__'
print(name.strip('*-=+/_()')) # 去除字符串两端所有括号内包含的字符,中间字符无法去除
h/ello切分 split : 把有规律的字符串切分成列表从而方便取值
msg = 'Jason;23;183;78;single'
print(msg.split(';'))
['Jason', '', '', '', 'single']拼接 join : Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
msg = ['Jason', '', '', '', 'single']
print(':'.join(msg))
'Jason:23:183:78:single'注:join本质上是将列表中的元素按照其原来的数据类型分别取出后进行拼接,由于字符串的拼接只支持字符串相互间的拼接,所以join只能对只含有字符串类型的序列进行拼接。
需要掌握的操作
strip()、rstrip()、lstrip():去除字符串两边字符、右边字符、左边字符
upper()、lower():将字符串转化为全部大写、将字符串转化为全部小写
startswith()、endswith():判断字符串是否以某字符开头、是否以某字符结尾结尾
格式化:format的三种玩法
用法类似于%s,赋值需要严格按照前后对应以及参数数量关系关系
msg = 'my name is {} my age is {}'. format('Jason', 23)
print(msg)
my name is Jason my age is 23用法较第一种有所改进,按照索引决定对应关系。
msg = 'my name is {0} my age is {1},{1},{1}'. format('Jason', 23)
print(msg)
my name is Jason my age is 23,23,23第三种用法更加清晰明了,在{}填充描述性的变量名,并将变量名与变量值相对映。(推荐使用)
msg = 'my name is {name} my age is {age}'. format(name='Jason', age=23)
print(msg)
my name is Jason my age is 23
split、rsplit:切分(默认从左开始切分)、从右开始切分
# str.split('切分符', 切分次数)
cmd='get|a.txt|33333'
print(cmd.split('|',1))
print(cmd.rsplit('|',1))
['get', 'a.txt|33333']
['get|a.txt', '']replace:替换
# str.replace('old','new',count)
msg = 'Jason is so humor!'
print(msg.replace('humor', 'smart'))
Jason is so smart!isdigit :判断字符串是否由纯数字组成
# str.isdigit()
age = ''
print(age.isdigit())
True
了解掌握
内嵌方法 用途 find()、rfind() 查找从左、从右元素位置,返回第一个找到的索引(找不到返回-1) index()、rindex() 查找从左、从右元素位置,返回第一个找到的索引(找不到报错) count() 查找元素在str中出现的次数,可指定范围 center() 将字符串居中显示,并指定填充内容和填充长度 ljust()、rjust() 将字符串向左、向右对齐,并指定填充内容和填充长度 zfill() 将字符串填充至指定长度,原字符串向右对齐,往左边以‘0’填充 captalize() 将字符串首字母大写 swapcase() 翻转 str 中的大小写 title() 将字符串中每个单词首字母大写 isalnum() 判断str中是否由字母 或 数字组成 isalpha() 判断字符串是否由字母组成 islower()、isupper() 判断str是否为纯小写、纯大写 isspace() 判断str是否只包含空格 istitle() 判断str中每个单词的首字母是否大写
总结:
存一个值
有序
不可变
可变:值变,id不变。可变==不可hash
不可变:值变,id就变。不可变==可hash
Python字符串操作详解的更多相关文章
- Python 字符串方法详解
Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息. ...
- python第七篇:Python 列表操作详解
Python列表操作详解 list函数 list() #生成一个空的列表 list(iterable) #用可迭代对象初始化一个列表 列表的 and 运算和 or 运算 列表and运算 > ...
- shell字符串操作详解
shell字符串操作详解的相关资料. 1.shell变量声明的判断 表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果var没有被声明, 那么就以$DE ...
- python/ORM操作详解
一.python/ORM操作详解 ===================增==================== models.UserInfo.objects.create(title='alex ...
- python 字符串操作方法详解
字符串序列用于表示和存储文本,python中字符串是不可变对象.字符串是一个有序的字符的集合,用于存储和表示基本的文本信息,一对单,双或三引号中间包含的内容称之为字符串.其中三引号可以由多行组成,编写 ...
- python字符串操作方法详解
字符串 字符串序列用于表示和存储文本,python中字符串是不可变对象.字符串是一个有序的字符的集合,用于存储和表示基本的文本信息,一对单,双或三引号中间包含的内容称之为字符串.其中三引号可以由多 ...
- linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )
在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略 ...
- linux shell 字符串操作详解(获取长度、查找,替换)
在做shell批处理程序时候,常常会涉及到字符串相关操作.有许多命令语句,如:awk,sed都能够做字符串各种操作. 事实上shell内置一系列操作符号,能够达到相似效果,大家知道,使用内部操作符会省 ...
- Python文件操作详解
Python内置了一个open()方法,用于对本地文件进行读写操作.这个功能简单.实用,属于必须掌握的基础知识. 使用open方法操作文件可以分三步走,一是打开文件,二是操作文件,三是关闭文件.下面分 ...
随机推荐
- IP服务-3-DHCP
DHCP代表了动态IP地址分配的下一阶段.DHCP建立在BOOTP协议格式的基础上,专注于动态分配多种信息,以及为未来的扩展提供灵活的消息结构,并且无需预先定义每个客户端的MAC地址.DHCP提供的功 ...
- laravel使用swoole
参考 参考2 另外主要用到artisan 首先创建SwooleCommand.php <?php namespace App\Console\Commands; use App\Http\Con ...
- HDU-1263(STL+排序)
水果 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
- (动态规划)UVA-11400:Lighting System Design
You are given the task to design a lighting system for a huge conference hall. After doing a lot of ...
- 关于JVM的一些东西
1.在JDK1.6(HotSpot虚拟机)及之前,运行时常量池(属于方法区的一部分)是永久代的,而在JDK1.7之后运行时常量池(里面用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加载后进 ...
- HDU 5974 A Simple Math Problem 数学题
http://acm.hdu.edu.cn/showproblem.php?pid=5974 遇到数学题真的跪.. 题目要求 X + Y = a lcm(X, Y) = b 设c = gcd(x, y ...
- PHP 常用的无限遍历方法
一.根据父节点ID循环遍历其下所有子节点 /** * @name 根据id递归某个父类节点下的所有分类节点 * @author tbj * @date 2015-12-19 */ public fun ...
- IOS博客
http://www.cnblogs.com/lovecode/articles/2249548.html从这个人这里了解了一些关于uiview和uilayer的区别 以及对于渲染和动画也有了一些了解 ...
- LINUX提高openfire并发数(网上收集)
谷歌博客地址:http://tsaiquinn.blogspot.com/2014/10/linuxopenfire.html 影响连接数的元素包含三种:1)Linux的系统参数2)进程自身可以创建的 ...
- mysql Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nona
1. 操作mysql的时候提示如下错误 [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and cont ...