字符串常规操作

字符串的操作一般不会对原字符串产生影响. 一般是返回一个新的字符串

字符串大小写转换

.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()全大写后不存在此问题,通用性更强。