欢迎您进入老吴的博客,如有联系请加QQ群:1055524279
3.1 python字符串类型概述
'''
字符串:在引号(单引号,双引号,三引号)里定义的一堆字符
状态:描述性的内容,比如名字,性别,国籍
'''
# gender='male' #gender=str('male')
# print(type(gender))
#定义:在单引号\双引号\三引号内,由一串字符组成 name='Test'
3.1.1 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
3.2 python字符串的方法
字符串的查找 |
count |
计数功能,返回自定字符在字符串当中的个数 |
find |
查找,返回从左第一个指定字符的索引,找不到返回-1 |
|
index |
查找,返回从左第一个指定字符的索引,找不到报错 |
代码:
#coding:utf-8
str = "hello world"
print(str.count('o')) # 统计次数
print(str.find('w')) # 查找
print(str.find('x')) # 查找,找不到返回-1
print(str.index('x')) # 查找,找不到报错
3.2.1 字符串的分割
字符串的分割 |
splitlines |
按照行分隔,返回一个包含各行作为元素的列表,按照换行符分割 |
参考代码:
mystr = "hello world java\n welecome to \nbeijing"
# \n表示换行
print(mystr)
print(mystr.splitlines()) # 安装行分割,返回的就是列表
3.2.2 字符串的替换
字符串的替换 |
replace |
从左到右替换指定的元素,可以指定替换的个数,默认全部替换 |
3.2.3 字符串的修饰
字符串的修饰 |
center |
让字符串在指定的长度居中,如果不能居中左短右长,可以指定填充内容,默认以空格填充 |
ljust |
让字符串在指定的长度左齐,可以指定填充内容,默认以空格填充 |
|
rjust |
让字符串在指定的长度右齐,可以指定填充内容,默认以空格填充 |
|
format |
按照顺序,将后面的参数传递给前面的大括号 |
|
strip |
默认去除两边的空格,去除内容可以指定 |
|
rstrip |
默认去除右边的空格,去除内容可以指定 |
|
lstrip |
默认去除左边的空格,去除内容可以指定 |
参考代码:
#coding:utf-8
str = " Love "
print(str.center(50,"*")) #让字符串在指定的长度居中,
print(str.ljust(30,"*")) #让字符串在指定的长度左齐
print(str.rjust(30,"*")) #让字符串在指定的长度右齐
print(str.rstrip()) #默认去除右边的空格
print(str.lstrip()) #默认去除左边的空格
#format 按照顺序,将后面的参数传递给前面的大括号
python = '{} love {}'
print(python.format('I','you'))
3.2.4字符串的变形
字符串的变形
字符串的变形 |
upper |
将字符串当中所有的字母转换为大写 |
lower |
将字符串当中所有的字母转换为小写 |
|
swapcase |
将字符串当中所有的字母大小写互换 |
|
title |
将字串符当中的单词首字母大写,单词以非字母划分 |
|
capitalize |
只有字符串的首字母大写 |
3.2.5 字符串的判断
字符串的判断
字符串的判断 |
isalnum |
判断字符串是否完全由字母或数字组成 |
isalpha |
判断字符串是否完全由字母组成 |
|
isdigit |
判断字符串是否完全由数字组成 |
|
isupper |
判断字符串当中的字母是否完全是大写 |
|
islower |
判断字符串当中的字母是否完全是小写 |
|
istitle |
判断字符串是否满足title格式 |
|
isspace |
判断字符串是否完全由空格组成 |
|
startswith |
判断字符串的开头字符 |
|
endswith |
判断字符串的结尾字符 |
|
split |
判断字符串的分隔符切片 |
参考代码:
#isalnum
print("123456e".isalnum()) #判断字符串是否完全由字母或数字组成
#isdigit 判断字符串是否完全由数字组成
print("123456".isdigit())
#isupper
print("HELLO".isupper()) #判断字符串当中的字母是否完全是大写
#islower 判断字符串当中的字母是否完全是小写
print("hello".islower()) #判断字符串当中的字母是否完全是小写
#istitle
print("Hello World".istitle()) #判断字符串的开头首字母是否大写
#isalpha
print("HelloWorld".isalpha()) #判断字符串是否完全由字母组成
# startwith
print("hello world 2.txt".startswith("hello")) #判断字符串的开头
#endswith
print("hello world 2.txt".endswith(".txt")) #判断字符串是否.txt结尾
#replace
print("hello world".replace("hello","LOVE")) #替换
#split
print("hello world".split(" ")) # 按照空格切 ,结果变成列表的元素
拓展:
txt = "Gologle#Runoob#Taobao#Facebook"
# 第二个参数为 1,返回两个参数列表
x = txt.split("e", 1)
print(x)
# 将字符串分割成列表
s = "test laowu baisheng "
print(s.split()) # 默认按照空格分隔
s1 = "test laowu , baisheng "
print(s1.split(',')) # 按照,号分隔。
s2 = "test laowu baisheng "
print(s2.split(' '))
s3= "testlaoweeubaisheng "
print(s3.split('e',2)) # 可设置分隔次数
函数:string.join()
join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
代码:
str = "-"
seq = ("a", "b", "c") # 字符串序列
print( str.join( seq ))
以上这段代码中,引号中的‘-’,就是’用来连接各个元素的指定字符‘。
所以以上代码的打印结果是:
a-b-c
str1 = 'baishengjiaoyu'
s = "*".join(str1)
print(s)
来源:https://www.cnblogs.com/wusirtpc/p/12312269.html