Python中的字符串

一.字符串的格式化:

假如你的女朋友不回信息,你要批评她,假如格式为“我叫xxx,今年xx岁,住在xxx,我不回信息,还是大呆瓜”。

代码如下:

name = input("请输入您的姓名:")
age = int(input("请输入您的年龄:"))
address = input("请输入您的地址:")
print(f"我叫{name},今年{age}岁,住在{address},我不回信息,还是大呆瓜")

便完成了字符串的格式化。

知识点:

  1. 使用{}来进行占位,在3.5及以上的pycharm中可在“”前加上f,然后在{}中将变量写入即可。

  1. 依然对age年龄转化为整形形式。

此外以下还有其他的代码格式可供选择:

1.

name = input("请输入您的姓名:")
age = int(input("请输入您的年龄:"))
address = input("请输入您的地址:")
print("我叫{},今年{}岁,住在{},我不回信息,还是大呆瓜".format(name,age,address))

区别:

依然为{}来占位,在“”的后面使用.format(),括号中需要按顺序写入变量。

2.

name = input("请输入您的姓名:")
age = int(input("请输入您的年龄:"))
address = input("请输入您的地址:")
print("我叫%s,今年%d岁,住在%s,我不回信息,还是大呆瓜" % (name,age,address))

区别:

这里使用%s,%d来进行占位,与C语言有类似之处,接着在“”后空格+%+空格+()的形式,再按顺序写入变量名,但1与2都过于繁琐,而不被推荐使用。

二.索引和切片

索引:

在字符串中提取一个字符。

eg:

s = "我喜欢睡大觉"
print(s[4])

由于在程序中都是从0开始数的,所以这里的4并不是字符串中的第四个字,而是第五个字,得到的则是:

切片:

指的是在一个字符串中截取一个片段。

例如我们要截取一个字符串中的第四个到第七个,则:

s = "我超级喜欢睡大觉"
print(s[3:7])

注意:

我们在这里使用的格式为s[3:7],表示截取的是从4-6,那为什么后面是7呢?

这是因为切片所得到的区间为左闭右开,得不到最右边的字符。

但是如果要截取的是第一三五个时,我们采取的格式为s[a:b:c],多出来的c实际上在这里指步调,类似于等差数列,同时步调也可指明截取的方向,如果为负,则会从右到左截取。代码如下:

s = "我超级喜欢睡大觉"
print(s[3:7:2])

但是如果我们要将整个字符串倒着输出时,应该怎么办呢?

s = "我超级喜欢睡大觉"
print(s[::-1])

在这里我们前一个冒号两边没有进行输入,则表示整个截取是从头到尾的。

eg:如果我们要截取倒数第一到倒数第四之间的字符的话,我们只需要在数字前面增加一个符号,就表示倒数的意思。

s = "我超级喜欢睡大觉"
print(s[-1:-5:-1])

也依然遵循左闭右开的原则,在此便完成了例题中的要求。

三.常用操作

将字符串中的大小写进行转换。

在这里我们需要了解:

.capitalize() #字符串的首字母大写

.upper() #每个字母都大写

.title() #每个字母的首字母为大写

.lower() #将每个字母的小写

具体操作如下:

s = "python"
s1 = s.capitalize()
print(s1)

注意:

  1. 我们需再创造一个变量,来存储新获得的字符串,在打印时,直接打印新的字符串即可。

  1. 其应有的格式为 .upper()。

例题:

假设我们需要写一个验证码来让用户进行输入验证,不论大小写均为正确:

verify_vode = "aBc2"
user_input = input(f"请输入验证码{verify_vode}:")
if verify_vode.upper() == user_input.upper():
    print("验证正确")
else:
    print("验证失败")

注意:

我们将用户输入的验证码和验证码都转化为大写来比较,嵌套进if语句,如果相等,那么就会显示输入验证正确。

四.切割和替换

strip()可以用来对字符串两段多出来的空格进行删除。

我们写一个实际的例子来对其进行解释。

我们依然来写一个账号登陆的程序:

#用户登录系统。
ZH="Mony"
MM="123456"
a = input("请输入您的账号:").strip()
b = input("请输入您的密码:").strip()
if a == ZH and b == MM:
    print("登录成功")
else :
    print("登录失败")

但在这里我们如果不用.strip()的话,就会出现空格报错的情况出现,就像下面这样:

#用户登录系统。
ZH="Mony"
MM="123456"
a = input("请输入您的账号:")
b = input("请输入您的密码:")
if a == ZH and b == MM:
    print("登录成功")
else :
    print("登录失败")

当我们在输入结束时如果输入加空格的时候,就会显示登录失败,所以我们要考虑到这种情况,

字符串的替换

replace(old, new),可以用来替换字符,new与old指要把谁替换成谁。

例如我们要将一个字符串中的空格全部删掉,代买如下:

s = "I have a dream     "
s1 = s.replace(" ","")
print(s1)

字符串的切割

split("xxx"),常被用作切割,在xxx的位置跳入谁就从谁开始切割。例如:

a = "asd sadf fewf e ef"
a1 = a.split(" ")
print(a1)

注意:

  1. 图中的[ ]为列表形式,我们在后面会提及,在这里只需知道切割的内容会被放在列表中。

  1. 在这里我们用空格开始分割,所以将它分为了五部分。使用其他进行分割也可,根据实际情况进行选择。

五.查找和判断

查找:

如果要在一个字符串中找到某一个字符串或者字符,那么我们可以用以下的几种方法:

1.

s = "我是吴彦祖"
s1 = s.find("吴彦祖")
print(s1)

就可以知道这个这个字符在第三个位置。

但是当没找到时就会出现:

s = "我是吴彦祖"
s1 = s.find("吴彦祖1")
print(s1)

当没有找到时,就会输出-1这个值。

2.

s = "我是吴彦祖"
s1 = s.index("吴彦祖")
print(s1)

如果使用index的话,若找到则结果和上一条代码的结果是一致的,如果没有找到会直接进行报错。

判断:

startswith(),来进行判断。

name = input("请输入您的名字:")
if name.startswith("张"):
        print("你姓张")
else:
        print("输入有误...")

sidigit(),来判断是否为整数:

money = input("请输入您的余额:")
if money.isdigit():
        money = int(money)
        print("富哥")
else:
        print("胡输的啥,再不要讨厌")

如果输入的为数字则输出的就是if语句后面的内容,反之则为else后面的内容。

in 和 not in:

英文翻译,意为在....里,和不在...里。

s = "我是超级无敌暴龙战士"
for name in s:
        print("超"in name )

将字符串里的字符依次进行输出,符合条件的输出则为true,不符合条件的则为false

s = "我是超级无敌暴龙战士"
for name in s:
        print("超"not in name )

六.输出字符串的长度:

通常使用len()函数来进行操作。

假设我们要得到s的字符串长度。

s = "我是大帅哥"
print(len(s))

便可以得出我们需要的结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值