Python语言学习---字符串(String)

字符串


1. 字符串的解释
def main():

    str1 = 'hallo, beautiful girl!'
    # 通过len()函数计算字符串的长度
    print(len(str1))  # 字符串的长度为22
    # 获取字符串首字母的大写
    print(str1.capitalize())  # Hallo, beautiful girl!
    # 获得字符串的所有变大写
    print(str1.upper())  # HALLO, BEAUTIFUL GIRL!
    # 从字符串中查找子串所在的位置
    print(str1.find('lo'))  # 3
    print(str1.find('good'))  # 如果没有查找到,返回-1
    # 与find相同,但是如果查找不到子串,会引发异常
    print(str1.index('lo'))  # 3
    # print(str1('good'))  # 报错
    # 检查字符串是否以指定的字符串开头
    print(str1.startswith('he'))  # False
    print(str1.startswith('ha'))
    # 检查字符串是否以指定的字符串结尾
    print(str1.endswith('girl!'))  # True
    # 将字符串以指定宽度居中,并在两侧填充指定的字符
    print(str1.center(50, '★'))
    # 将字符串以指定的宽度,靠右放置,在左侧填充指定的字符
    print(str1.rjust(50, '★'))

    str2 = 'abc123456'
    # 从字符串中抽取指定位置的字符(下标运算--索引运算)
    print(str2[2])  # c
    # 字符串切片(从指定位置的开始索引,到指定位置的结束索引)
    print(str2[2:5])  # c12
    print(str2[2:])  # c123456
    print(str2[2::2])  # c246  从第二个下标开始,最后一个2为截取的步长
    print(str2[::2])  # ac246 所有的字符串,其中步长为二 ******------********
    print(str2[::-1])  # 所有字符串,只是以逆序的方式排列
    print(str2[-3:-1])  # 获取下标(索引)的倒数第二个和倒数第三个
    # 检查字符串是否以数字构成
    print(str2.isdigit())  # False
    # 检查字符串是否以字母构成
    print(str2.isalpha())  # False
    # 检查字符串是否以数字和字母构成
    print(str2.isalnum())  # True

    str3 = '   moonlight@hotmail.com'
    print(str3)
    # 获得字符串修剪左右两侧的空格
    print(str3.strip())

2. 字符串的应用
  • 设计一个函数,能够产生随机的验证码,验证码由大小写字母,数字;调一次,给一个随机的验证码。
解法1:
  • 补充知识:
    1.在Python中,内置函数chr可以将相应的0~255的数字转换为相应的字符,而ord则可以将字符码转换为相应的ASCII值。
    2.不过这里我们主要使用chr,即只要可以随机生成大小写字母所对应的ASCII值,就可以通过chr函数将其转换为对应的大小写字母,从而拼接成为随机验证码。
    3.通过查找ASCII码表可以知道:
    数字0-9ASCII码值范围:48~57
    大写字母ASCII码值范围:65~90
    小写字母ASCII码值范围:97~122
import random


def verification_code(num=4):
    random_num = ''
    for _ in range(num):
        choice = random.randint(1, 3)
        if choice == 1:
            random_num += chr(random.randint(48, 57))
        elif choice == 2:
            random_num += chr(random.randint(65, 90))
        elif choice == 3:
            random_num += chr(random.randint(97, 122))
    return random_num


if __name__ == '__main__':
    random_num1 = verification_code()
    print('生成四位随机验证码:', random_num1)
    random_num2 = verification_code(5)
    print('生成五位随机验证码:', random_num2)
    random_num3 = verification_code(6)
    print('生成六位随机验证码:', random_num3)
    random_num4 = verification_code(7)
    print('生成七位随机验证码:', random_num4)
解法2:顺便给出如何给函数写解释说明文档
def generate_code(code_len=4):
    """
    生成指定长度的验证码
    :param code_len: 验证码的长度
    :return: 由大小写和数字构成的随机验证码
    """
    all_chars = '0123456789abcdefghijkmnopqrstuvwxyzABCDEFGHIJKMLNOPQRSTUVWXYZ'
    last_pos = len(all_chars) - 1
    code = ''
    for _ in range(code_len):
        index = random.randint(0, last_pos)
        code += all_chars[index]
    return code


if __name__ == '__main__':
    for _ in range(10):
        print(generate_code(6))
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: f-stringPython3.6及更高版本中引入的一种字符串格式化方法。除了基本的变量插入外,f-string还支持一些高级的用法。 首先,f-string支持表达式的内嵌计算。我们可以在花括号内使用任何有效的Python表达式,例如函数调用、数学运算等。这样我们可以直接在格式化字符串中执行计算,避免了额外的步骤。 其次,f-string还支持设定字段的宽度和对齐方式。可以在花括号中使用冒号(:)来进行格式设置。可以指定字段的宽度以及对齐方式(左对齐:<,右对齐:>,居中对齐:^),方便美化输出格式。 另外,f-string还可以在花括号内使用格式化说明符。格式化说明符可以用来指定数值的显示格式,如小数位数、千位分隔符等。通过在冒号后加上格式化指令,可以实现更加灵活的数值格式化。 此外,f-string还支持特殊字符的转义。在花括号内使用双花括号({{}})表示打印花括号字符本身,避免被解析为变量插入。 总的来说,f-string提供了一种简洁而强大的字符串格式化方式。它可以方便地嵌入变量和表达式,支持字段宽度和对齐方式的设置,允许使用格式化说明符进行数值格式化,并支持特殊字符的转义。这些高级用法使得f-string在日常编程中能够更好地满足我们对字符串格式化的需求。 ### 回答2: Python 3 中的 f-string 是一种方便的字符串格式化方法,在格式化字符串时具有一些高级用法。 首先,可以在 f-string 中使用表达式。除了简单的变量名外,还可以在大括号中使用任何有效的表达式,例如数学运算、函数调用等。这样可以灵活地对字符串进行计算或处理。 其次,可以在 f-string 中使用属性和方法。如果大括号中的表达式是一个对象的属性或方法调用,f-string 将自动获取或调用它们的值。这使得处理对象属性和方法时更加方便。 此外,可以在 f-string 中使用格式化选项。通过在大括号中使用冒号:,可以指定格式化选项。例如,可以设置宽度、精度、填充字符等等。这样可以方便地控制输出的格式。 另外,可以在 f-string 中使用字典和列表。通过使用花括号 {} 和索引或键名,可以方便地获取字典和列表中的元素,并进行格式化输出。 最后,可以在 f-string 中使用循环和条件语句。通过在大括号中使用循环和条件表达式,可以根据需要多次输出字符串或进行条件判断,并灵活地处理输出结果。 综上所述,Python 3 的 f-string 提供了一种高级的字符串格式化方法,不仅可以进行简单的变量替换,还可以使用表达式、属性和方法、格式化选项、字典和列表、循环和条件语句等高级功能。这些特性使得 f-string 成为一种非常方便和灵活的字符串格式化工具。 ### 回答3: Python3中的f-string是一种方便且直观的格式化字符串的方式。除了基本的字符串插值功能外,它还有一些高级用法,可以更灵活地处理字符串的格式化需求。 一、格式化变量: f-string可以直接在字符串中插入变量,并使用大括号{}将变量包裹起来。可以在大括号内使用简单表达式对变量进行格式化。例如: name = 'Alice' age = 20 print(f'My name is {name} and my age is {age}.') # 输出:My name is Alice and my age is 20. 二、格式化数字: f-string支持在大括号内使用格式化选项,对数字进行格式化。例如: num = 3.1415926 print(f'The value of pi is approximately {num:.2f}.') # 输出:The value of pi is approximately 3.14. 三、调用函数: f-string中可以直接调用函数,并将函数的返回值插入到字符串中。例如: def get_greeting(): return 'Hello' print(f'{get_greeting()} World!') # 输出:Hello World! 四、使用表达式: f-string支持在大括号内使用复杂的表达式,可以对变量进行运算、取长度等操作。例如: name = 'Alice' print(f'My name is {name.upper()} and my name has {len(name)} characters.') # 输出:My name is ALICE and my name has 5 characters. 总结: Python3的f-string是一种强大的字符串格式化工具,它不仅可以简洁地插入变量,还支持格式化数字、调用函数和使用表达式。它的高级用法可以满足更复杂的字符串格式化需求,提高开发效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值