Python3 《零基础小白从入门到实战》之“字符串”

字符串(String)的介绍

字符串表示:两个引号中间的数据,字符串是有序的,不可变的数据类型。

可以是单引号和双引号或者三个引号,python中引号使用完全相同。

username = """谨言"""
username = "谨言"
username = '谨言'

说明:

(a)如果字符串中含有单引号,该字符串需要使用双引号括起来

(b)如果字符串中含有双引号,该字符串需要使用单引号括起来

使用三引号('''或""")可以指定一个多行字符串

例如:

name = """jin

yan

zhang

"""

print(name)

以上实例输出结果:

jin

yan

zhang

什么时候三引号表示注释?什么时候三引号表示换行呢?下面谨言为大家总结了一下

如果三引号表示换行的话 前面需要有变量,
如果三引号表示注释的话 前面是什么都没有的,

python中有多种数据类型,那么如何能知道我的数据类型是什么呢?

name = "谨言"
print(type(5))
print(type([1,2,3]))
print(type(name))

以上实例输出结果:

<class 'int'>
<class 'list'>
<class 'str'>

字符串的索引:

索引 index, 目录, 通过一定的顺序更快捷的找到字符串当中的某个字符。

Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。

例如:

name = "jinyan zhenshige hao guniang"

#输出字符串第一个字符

print(name[0])

#输出倒数第一个字符

print(name[-1])

 以上实例输出结果:

j
g

 字符串的切片:

想获取多个字符的时候,你有把刀,去切这个字符串

字符串[start:end:步长],顾头不顾腚, 骨头不顾尾

name = "jinyan zhenshige hao guniang"

#从第一个开始到最后
print(name[0:])

#相当于复制,也就是打印全部
print(name[:])

#倒叙
print(name[::-1])

#输出从第二个开始到第五个且每隔两个的字符
print(name[1:5:2])          

 以上实例输出结果:

jinyan zhenshige hao guniang
jinyan zhenshige hao guniang
gnainug oah egihsnehz naynij
iy

注意:

python是非常灵活的,如果没有写步长,那么步长默认为1

如果切片超出范围,也不会报错,那么就是到字符串的最后

例如:

name = "jinyan zhenshige hao guniang"

print(name[0:10000])

 执行以上程序会输出如下结果:

jinyan zhenshige hao guniang

取不到数据的情况

name = "jinyan zhenshige hao guniang"

print(name[-1:5])

上面取不到数据是因为:-1:5 是从右往左,但是步长为1(指定应该从左往右),二者不一致,所以取不到数据

总结

 心法:

 - 第一步:end - start 1

 - 第二步:step 1

end 是在start的右边,step 必须是正数

end 是在start的左边,step 必须是负数

字符串的常见处理函数

变量.函数名(字符串的变量.字符串的操作)

(1)获取字符串长度 --- len()

例如:

name = "jinyan shi ge hao gu niang"
# new_name = len(name)
# print(new_name)
print(len(name))

 

执行以上程序会输出如下结果:

26

(2)查找一个字符串在,另外一个字符串中首次出现的位置,如果不存在,则返回-1  --- find(str,start,end)

说明:

str:表示要查找的字符串

start:表示查找的开始位置

end:表示查找的结束位置

索引从0开始计算

例如:

name = "jinyan shi ge hao gu niang"
# new_name = name.find("i")
# print(new_name)
print(name.find("i"))

print(name.find("99"))

执行以上程序会输出如下结果:

1   # i首次出现的位置是1
-1  # 字符串中没有99 所以返回-1

(3)查找并返回一个字符串在,另外一个字符串中,出现的次数,如果不存在返回0  --- count()

例如:

name = "jinyan shi ge hao gu niang"
# new_name = name.count("i")
# print(new_name)
print(name.count("i"))

执行以上程序会输出如下结果:

3

(4)指定某个字符为分割符,从字符串左端开始,将其分隔成多个字符串,并返回分隔结果的列表 --- split()

例如:

name = "jin yan shi ge hao gu niang"
# new_name = name.count("i")
# print(new_name)
print(name.split(" "))

 执行以上程序会输出如下结果:

['jin', 'yan', 'shi', 'ge', 'hao', 'gu', 'niang']

(5)将字符串更加优雅的拼接在一起--- join()

例如:

name1 = "jinyan"
name2 = "shi ge"
name3 = "hao gu niang"

print("".join( ["jinyan","shi ge","hao gu niang"]))  

执行以上程序会输出如下结果:

jinyanshi gehao gu niang

(6)将字符串转换为小/大写显示----- lower()、upper()

例如:

name = "jinyan shi ge hao gu niang"

print(name.lower())   #小写
print(name.upper())   #大写

执行以上程序会输出如下结果:

jinyan shi ge hao gu niang
JINYAN SHI GE HAO GU NIANG

(7)将字符串转换为标题显示----- lower()、upper()

例如:


name = "jinyan shi ge hao gu niang"

print(name.title())   #首字母大写

执行以上程序会输出如下结果:

Jinyan Shi Ge Hao Gu Niang

(8)按照指定的次数,替换字符串中指定的字符串  --- replace()

例如:

name = "jinyan shi ge hao gu niang"

print(name.replace("jinyan","kaixin"))   #默认替换一次

print(name.replace("i","o",2))  #替换两次

执行以上程序会输出如下结果:

kaixin shi ge hao gu niang
jonyan sho ge hao gu niang

说明:  replace(old,new,count)

old:表示被替换的原字符串

new:表示要替换的新字符串

count:表示替换的次数,可以省略

(9)删除字符串两端、右端、左端的连续空格---strip()、rstrip()、lstrip()

例如:

name = "  jinyan shi ge hao gu niang  "

print(name.strip())
print(name.rstrip())
print(name.lstrip())

执行以上程序会输出如下结果:

jinyan shi ge hao gu niang
  jinyan shi ge hao gu niang
jinyan shi ge hao gu niang  

 (10)验证一个字符串是否在另一个字符串中---in

例如:

name1 = "jinyan shi ge hao gu niang"
name2 = "jinyan"

print(name2 in name1)

执行以上程序会输出如下结果:

True

(11)字符串的格式化---format或%

format

占位用{}表示

例如:

name = "龙衫集团"

money = 100000000

money_chinese = "一千万"


ticket = """

今收到 {}

交来的 {}

人名币 {}

""".format(name, money, money_chinese)

print(ticket)

执行以上程序会输出如下结果:

今收到 龙衫集团

交来的 100000000

人名币 一千万

例如:

(a)使用print函数,输出"欢迎使用加法计算器"
(b)获取键盘输入的数值,赋值给变量num1
(c)获取键盘输入的数值,赋值给变量num2
(d)输出num1+num2、num1-num2、num1*num2、num1/num2 的结果,使用格式化字符形式输出

print("欢迎使用加法计算器")
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
a = num1+num2
b = num1-num2
c = num1*num2
d = num1/num2
res = """
num1+num2={}
num1-num2={}
num1*num2={}
num1/num2={}
""".format(a,b,c,d)
print(res)

 执行以上程序会输出如下结果:

欢迎使用加法计算器
请输入第一个数:10
请输入第二个数:20

num1+num2=30
num1-num2=-10
num1*num2=200
num1/num2=0.5

 字符串中以%开头的字符,可以在程序中改变字符串中的内容

格式化字符 | 表示的意义
%d十进制整数
%c单个字符
%s字符串
%f浮点数
%e指数形式
%%字符%
%o八进制整数
%x十六进制整数
例如:
# 十进制整数(%d)
a = 10
b = 20
c = a + b
print("a+b=%d" %c)
# 单个字符(%c)
sex='男'
print("您的性别是:%c" %sex)
# 字符串(%s)
name = input('请输入您的姓名:')
print("输入的姓名是:%s" %name)
sex = input('请输入您的性别:')
print('输入的性别是:%s' %sex)
print('姓名是:%s,性别是:%s' %(name,sex))
# 浮点数(%f)
a = 12.345
b = 45.56
c = a + b
print("%f+%f=%f" %(a,b,c))
# 指数形式(%e)
a = 2
b = 9
print("a=%d,b=%d,a^b=%e" %(a,b,a**b))
# 输出字符%(%%)
a=85
print("a=%d" %a)
print("a=%d%%" %a)
# 八进制整数(%o)
a = 32
print("a=%o" %a)
# 十六进制整数(%x)
a = 32
print("a=%x" %a)

 (12)验证字符串是否全部都是字母、是否全部都是数字---isalpha()、isdigit()

name1= "jinyan shi ge hao gu niang  1 ya 1 ya you"

print(name1.isalpha())   #字母

name2= "123456789"

print(name2.isdigit())    #数字

  执行以上程序会输出如下结果:

False
True

以上就是关于字符串操作的全部内容,对于小白来讲,了解的太多,容易陷入误区,所以这些操作基本上就已经可以满足我们做自动化测试了,接下来就是关于python中另一重要的操作--列表的分享了,大家持续关注哦~

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

謹言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值