python - 字符串

本文详细介绍了Python中的字符串,包括字符串的注释、转义字符,如 和 ,以及字符串的操作,如下标访问、切片、遍历。此外,还讨论了字符串的其他功能,如加法、乘法、比较运算,以及判断字符类型的条件。文章还涵盖了字符串的相关函数,如len()、str()、eval(),以及方法,如.join()、.count()、.split()、.replace()等。最后,提到了字符串的编码、格式化技巧,包括f-string和传统的%操作符。

字符串

1. str
  1. 文件(函数,类)的开头是注释,其余为字符串

  2. 字符串中的每个字符都是元素

  3. 字符串是不可变的

  4. 字符串是有序的

    # 支持下标操作
    name = 'sdasjshdhai'
    print(name[1])
    
  5. 元素可以为所有文字符号,空字符串引号中没有任何符号包括空格

  6. 字符串中的字符分为普通字符和转义字符

    # 在特定的符号前加\
    
2. 转义字符
  • \n 换行

  • \t 水平制表符(table)

  • \' 普通的单引号

  • \" 普通的双引号

  • \\ 普通的反斜杠

  • r字符串:让所有字符中所有转义字符变成普通字符

    print('c:\names\proms\python\text')
    print(r'c:\names\proms\python\text')
    '''
    打印结果:
    c:
    ames\proms\python	ext
    c:\names\proms\python\text
    '''
    
3.查
  • 获取字符 str[n] str[1:9:1](下标操作、切片操作)
  • 遍历 for str in (strs)
    • for index,str in enumerate (strs)
4.其他操作(和列表一样)
  • 加法运算

  • 乘法运算

  • 比较运算(比较字符编码值的大小)

    # 确定字符类型
    # 判断x是否是数字字符: '0' <= x <= '9'
    # 判断x是否是小写字母:'a' <= x <= 'z'
    # 判断x是否是大写字母:'A' <= x <= 'Z'
    # 判断x是否是字母:'A' <= x <= 'Z''a' <= x <= 'z'
    # 判断是否是中文'\u4e00' <= x <= '\u9fa5'
    
  • in not in

    #判断字符串二中是否包含字符串
    
5. 相关函数
  1. len(字符串)字符串长度

  2. str() 任何类型的数据都可以转换成字符串(打印结果加双引号,数据内的双引号会变成单引号)

  3. eval(字符串) 去掉字符串的引号得到对应的数据(比如eval(‘10’)结果为10类型为int)

    a = eval('3 * 5')
    print(a)
    # 结果为15
    
6. 相关方法
  1. .join()

    将序列中的元素用指定字符串连接成一个新的字符串,序列中的元素必须全都是字符串

    list1 = ['123','234','qeweqw']
    result = '+'.join(list1)
    print(result)
    # 结果为123+234+qeweqw
    # 如果序列内容不是字符串,可以先转换成字符串
    list2 = [1,2,3,4,5,6,7,8,9]
    result1 = '+'.join([str(x) for x in list2])
    print(result1)
    # 结果为1+2+3+4+5+6+7+8+9
    
  2. .count() 计数

    str1 = 'asdafadcasda'
    str1.count('a')
    # 结果为5
    
  3. .split(字符串) 将字符串按照字符串进行切割,结果返回一个列表

    str1 = 'a,s/d/a/f/a/d/c/a/s/da'
    print(str1.split('/'))
    # 结果为['a,s', 'd', 'a', 'f', 'a', 'd', 'c', 'a', 's', 'da']
    print(str1.split('/',3))
    # 结果为['a,s', 'd', 'a', 'f/a/d/c/a/s/da']
    
  4. .format() f'' 字符串格式化

    name = 'xiaoming'
    age = 18
    print('%s今年%s岁' % (name,age))
    print('{}今年{}岁'.format(name,age))
    print(f'{name}今年{age}岁')
    # 结果为:xiaoming今年18岁
    
  5. .replace() 替换

    # 在这里我定义了一个字符串数据,里面有空格
    str1 = "  老王 去 小明家 玩耍 小明妈妈做饭  "
    print(str1)
    # 这里通过方法.replace把字符串数据中的空格给替换了
    print(str1.replace(" ", ""))
    # 可以通过添加次数的参数来确定替换次数
    print(str1.replace(" ", ""3))
    # 运行结果为:老王去小明家 玩耍 小明妈妈做饭  
    
  6. .strip() 删除开头结尾的空格 .lstrip() 删除开头的空格 .rstrip() 删除结尾的空格

    str1 = "  老王去小明家玩耍小明妈妈做饭  "
    print(str1)
    #   老王去小明家玩耍小明妈妈做饭 
    result = str1.strip()
    print(result)
    # 老王去小明家玩耍小明妈妈做饭
    str1 = "//////老王去小明家玩耍小明妈妈做饭/////"
    result = str1.strip('/')
    # 老王去小明家玩耍小明妈妈做饭
    
  7. .isupper() / islower() 判断是否为大写字母/小写字母

  8. isdigit()判断字符或者字符串是否全是数字字符

  9. .lower() 把大写字母转换为小写

  10. .upper() 把小写字母转换为大写

6.字符编码
  1. 计算机只能存储数字(存的是数字的二进制补码)

  2. 数字(48-57)大写字母(65-90)小写字母(97-122)

  3. 中文编码范围(4e00-9fa5)

  4. 编码值的使用

    1. chr(编码值) 获取编码值对应的字符

    2. ord(字符) 获取指定字符对应的编码值(长度为1的字符串)

    3. 字母大小写转换

      chr(ord('a')-32)
      # 结果为A
      
    4. 编码字符

      str1 = 'a'
      str1 = '\u0061'
      
7. 字符串格式化
  1. 格式占位符

    %s - 可以给任何类型的数据占位

    %d - 可以给任何数字占位(自动转换为整形)

    %f - 可以给任何数字占位(自动转换成浮点数,保留六位小数)

    %.Nf - 可以给任何数字占位(自动转换成浮点数,并保留n位小数)

    name = 'xiaoming'
    age = 18
    print('%s今年%s岁' % (name,age))
    # 结果为:xiaoming今年18岁,想要输入什么样输出什么样子就默认%s
    print('%s今年%d岁' % (name,age))
    # 结果为:xiaoming今年18s
    print('%s今年%f岁' % (name,age))
    # 结果为:xiaoming今年18.000000岁
    print('%s今年%.2f岁' % (name,age))
    # 结果为:xiaoming今年18.00岁
    
  2. f-string

    name = 'xiaoming'
    age = 18
    print(f'{name}今年{age}岁')
    a = 100.223
    b = 1323.12
    c = 0.98
    print(f'{a:.2f}:{b:.0f}优秀率:{c:.0%}')
    # 结果为 100.22:1323优秀率:98%
    money = 105030
    print(f'余额:¥{money:,}')
    # 结果为 余额:¥105,030
    print(f'余额:¥{money:,.2f}')
    # 结果为 余额:¥105,030.00
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值