字符串常规操作
字符串的操作一般不会对原字符串产生影响. 一般是返回一个新的字符串
字符串大小写转换
.capitalize()
是字符串方法之一,在 Python 中用于将所有字符串的第一个母转换为大写,同时将其他字母转换为小写。这个方法返回一个新的字符串,原始字符串本身不会被修改。
s = "ahdH JLUguj"
s1 = s.capitalize()
print(s) # 输出: ahdH JLUguj
print(s1) # 输出: Ahdh jluguj
在这个示例中:
原始字符串 s 是 "ahdH JLUguj"。
调用 .capitalize()
方法后,s1 的值变为首字母大写,其他字母小写的字符串,即 "Ahdh jluguj"。
输出 s,仍然是原始字符串 "ahdH JLUguj"。
输出 s1,得到经过 .capitalize() 方法处理后的字符串 "Ahdh jluguj"。
.title()
是字符串方法之一,在 Python 中用于将字符串中的每个单词的首字母转换为大写,同时将其他字母转换为小写。这个方法返回一个新的字符串,原始字符串本身不会被修改。
s = "hello world"
s1 = s.title()
print(s) # 输出: hello world
print(s1) # 输出: Hello World
在这个示例中,s
包含了 "hello world"
,使用了 .title()
方法后,s1
将得到每个单词首字母大写,其他字母小写的字符串 "Hello World"
。
需要注意的是,.title()
方法会识别单词的边界,并将每个单词的首字母都转换为大写。
s = "hello_world! hello-world hello-wor哈哈ld!"
s1 = s.title()
print(s1) # 输出: "Hello_World! Hello-World Hello_Wor哈哈Ld!"
调用 .title()
方法后,s1
的值变为每个单词首字母大写,其他字母小写的字符串,但它会将划线 _
和连字符 -
视为单词分隔符。所以结果依旧是 "Hello_World! Hello-World"
。
仔细体会Hello_Wor哈哈Ld!
这里
.lower()
是字符串方法之一,在 Python 中用于将字符串中的所有字母转换为小写形式。这个方法返回一个新的字符串,原始字符串本身不会被修改。
s = "I HAVE A DREAM"
s1 = s.lower() # 变成小写字母
print(s)
print(s1)
需要注意的是,.lower()
方法只会将字母部分转换为小写,而不会影响其他字符,如数字和特殊字符。
.upper()
是字符串方法之一,在 Python 中用于将字符串中的所有字母转换为大写形式。这个方法返回一个新的字符串,原始字符串本身不会被修改。
s = "i have a dream"
s1 = s.upper() # 把所有字母变成大写字母
print(s)
print(s1)
需要注意的是,.upper()
方法只会将字母部分转换为大写,而不会影响其他字符,如数字和特殊字符。
# 如何忽略大小写来进行判断——upper()
verify_code = "xAd1"
user_input = input(f"请输入验证码({verify_code}): ")
if verify_code.upper() == user_input.upper():
print("验证码正确")
else:
print("验证码不正确")
verify_code
存储了预设的验证码,为"xAd1"
。user_input
使用input()
函数获取用户输入的验证码。通过使用 f-string,你在输入提示中直接展示了预设的验证码。verify_code.upper() == user_input.upper()
比较时使用了.upper()
方法,将预设的验证码和用户输入的验证码都转换为大写形式,从而进行忽略大小写的比较。if verify_code.upper() == user_input.upper():
这是一个条件语句,检查用户输入的验证码是否与预设验证码一致。不论输入的验证码是大写还是小写,都会进行正确的比较。- 如果用户输入的验证码与预设验证码一致,就会输出 "验证码正确",否则输出 "验证码不正确"。
这段代码使用了 .upper()
方法来进行大小写不敏感的验证码比较,而且还通过 f-string 在用户输入时提供了友好的验证码提示。这使得代码具有可读性,同时又处理了大小写不一致的问题。
在处理大小写一致性对比上,业内通常使用.upper()
全大写进行对比,不使用.lower()
进行小写对比是因为在处理欧洲的某些英文字体时,小写的字符对比有问题。而.upper()
全大写后不存在此问题,通用性更强。