老吴Python宝典之——Python字符串类型(第三章)

僤鯓⒐⒋嵵緔 提交于 2020-02-15 15:45:51

欢迎您进入老吴的博客,如有联系请加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)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!