python字符串类型概述
Input:是输入
Print:是输出
案例:
注释:
字符串是一个有序的,不可修改的,元素以引号包围的序列。
python字符串的定义:双引号或者单引号中的数据,就是字符串
字符串存储的另外一种方式:
python字符串的索引(index)
超市储物柜:
在python当中所有有序的序列都是由索引概念的,它们的区别在于序列是否可以被修改;
索引在我们初学的时候我们可以理解为字符串的下标;
字符串里的每一个个体都被称作字符也是该字符串的一个元素;
比如字符串‘while’,可以按照下图理解其下标概念,索引号从0开始;
w |
h |
i |
l |
e |
0 |
1 |
2 |
3 |
4 |
索引的用法,取单个元素时,使用字符串[索引值] 索引值为对应元素的索引号;
字符串截取:字符串[start:end],得到对应索引范围的元素,该范围包含起始端,不包含结尾端,默认截取的方向是从左往右的;
步长截取:字符串[start:end:step] 按照step步长进行隔取;
切片的语法:[起始:结束:步长]
注意:选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)。
默认取法:字符串[start:end,step] 这三个参数都有默认值、start;默认值为0;end 默认值未字符串结尾元素;step 默认值为1
反取:字符串[负数],从右往左取
python字符串的方法
字符串的查找 |
count |
计数功能,返回自定字符在字符串当中的个数 |
find |
查找,返回从左第一个指定字符的索引,找不到返回-1 |
|
rfind |
查找,返回从右第一个指定字符的索引,找不到返回-1 |
|
index |
查找,返回从左第一个指定字符的索引,找不到报错 |
|
rindex |
查找,返回从右第一个指定字符的索引,找不到报错 |
字符串的分割 |
partition |
把mystr以str分割成三部分,str前,str自身和str后 |
rpartition |
类似于 partition()函数,不过是从右边开始. |
字符串的分割 |
splitlines |
按照行分隔,返回一个包含各行作为元素的列表,按照换行符分割 |
字符串的替换 |
replace |
从左到右替换指定的元素,可以指定替换的个数,默认全部替换 |
Translate |
按照对应关系来替换内容 from string import maketrans |
makestrans()用法
语法: str.maketrans(intab, outtab]);
Python maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,
第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
注:两个字符串的长度必须相同,为一一对应的关系。
str.maketrans(intab,outtab[,delchars])
· intab -- 需要转换的字符组成的字符串。
· outtab -- 转换的目标字符组成的字符串。
intab = "hecd"# test_str 值
outtab = "3723" #需要编的值
str_trantb = str.maketrans(intab,outtab)
test_str = "hello world"
print(test_str.translate(str_trantb))
字符串的修饰 |
center |
让字符串在指定的长度居中,如果不能居中左短右长,可以指定填充内容,默认以空格填充 |
ljust |
让字符串在指定的长度左齐,可以指定填充内容,默认以空格填充 |
|
rjust |
让字符串在指定的长度右齐,可以指定填充内容,默认以空格填充 |
|
zfill |
将字符串填充到指定的长度,不足地方用0从左开始补充 |
|
format |
按照顺序,将后面的参数传递给前面的大括号 |
|
strip |
默认去除两边的空格,去除内容可以指定 |
|
rstrip |
默认去除右边的空格,去除内容可以指定 |
|
lstrip |
默认去除左边的空格,去除内容可以指定 |
字符串的变形
字符串的变形 |
upper |
将字符串当中所有的字母转换为大写 |
lower |
将字符串当中所有的字母转换为小写 |
|
swapcase |
将字符串当中所有的字母大小写互换 |
|
title |
将字串符当中的单词首字母大写,单词以非字母划分 |
|
capitalize |
只有字符串的首字母大写 |
|
expandtabs |
把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8 |
字符串的判断
字符串的判断 |
isalnum |
判断字符串是否完全由字母或数字组成 |
isalpha |
判断字符串是否完全由字母组成 |
|
isdigit |
判断字符串是否完全由数字组成 |
|
isupper |
判断字符串当中的字母是否完全是大写 |
|
islower |
判断字符串当中的字母是否完全是小写 |
|
istitle |
判断字符串是否满足title格式 |
|
isspace |
判断字符串是否完全由空格组成 |
|
startswith |
判断字符串的开头字符,也可以截取判断 |
|
endswith |
判断字符串的结尾字符,也可以截取判断 |
|
split |
判断字符串的分隔符切片 |
python字符串的编码
Python 2 和 python 3的编码规则发生了巨大的变化,
Python2 当中我们的字符串有decode和encode方法
而python3 升级的过程当中讲字符串分为了字节(bytes)和字符串(str),但是大家要明白一个道理就是字符串其实就是我们python2的Unicode字符串,只是换了一个名字
但是大家要注意:
语法错误: 字节只可以包含ASCII文字字符
所以
str有方法encode
bytes 有方法 decode
欢迎大家,加入我的微信公众号:代码帮
同时,大家可以关注我的个人博客:
https://blog.csdn.net/ITLearnHall
http://www.cnblogs.com/IT-LearnHall/
人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。
目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,每天必须有收获
对应本平台的讨论和答疑QQ群:大数据和人工智能(总群)(779809018)
微信公众号(代码帮)每天分享最新IT、大数据和人工智能新技术