字符串
Posted agoni-7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串相关的知识,希望对你有一定的参考价值。
字符串
字符串是不可变的对象,任何操作对原字符串是不会有任何影响的.
索引和切片
- 索引 . 索引就是下标, 下标从 0 开始, 使用[] 来获取数据
- s1 = "0123456"
- print(s1[X]) 获取第X个,若X为负,则从倒数开始.
切片 我们可以使用下标来截取部分字符串的内容
语法: str[start: end:step]
规则: 顾头不顾尾,从start开始截取,截取到end位置,但不包括end.
跳着截取
print(str[start:end:step] # step表示步长,如果步长是正数,从左往右,负数则从右往左.表示每多少个取一个
字符串的相关操作方法
大小写转来转去
s = s1.capitalize() #首字母大写 s = s1.lower () #全部转换成小写 s = s1.upper () #全部转换成大写
while True: content = input("请输入内容") if content.upper == "Q" break print(content)
s = s1.swapcase() # 大小写互换 s= s1.casefold() #不常用,转成小写,和lower的区别: lower()对某些字符支持不够好,casefold() 对所有字母都有效 s = s1.title() #每个首字母大写
切来切去
s = s1.center(10, "*") #居中,把原来的字符拉长成10,其余位置补 * s = s1.strip() #去掉左右两端的空格 也可以去掉指定元素 s= s1.lstrip() #去掉左边空格 s= s1.rstrip() #去掉右边空格 s = s1.replace('a', 'b', X) #字符串替换,把a替换成b, X 是替换次数 s = s1.split() #字符串切割, 默认是空格分割 如果切割福在两端,会出现空字符串( " ") 分割后返回的内容是列表
print(" 1 2 3 4 \n 5 6 7") \n 是换行 用于模拟登陆,忽略用户输入的空格 ```python count = 1 while count <= 3: username = input("用户名:").strip() password = input("密码").strip() if username == "Agoni" and password == "123": print("登陆成功") break else: print("用户名或者密码错误") print("已经登录%s次,剩余%s次" % (count, 3-count)) count = count + 1
格式化输出
s1 = "我叫%s, 今年%d岁了, 我喜欢%s" % ('sylar', 18, '周杰伦') # 之前的写法 # % 占位符: 声明占位的类型 %s -- 字符串 %d/%i -- 整型 %% 转义 成为普通的% %() 不能多,不能少,一一对应 name = input("name") print(f"alexname,'aaa'") # 打印结果是 alexname,aaa # f"" 大括号里的内容一般都放变量 字符串单引号 3.6版本及以上才能使用 s1 = "我叫, 今年岁了, 我喜欢".format("周杰伦", 28, "周润发") # 按位置格式化 顺序填充 s1 = "我叫0, 今年2岁了, 我喜欢1".format("周杰伦", "周润发", 28) # 指定位置 索引填充 s1 = "我叫name, 今年age岁了, 我喜欢singer".format(name="周杰伦", singer="周润 发", age=28) # 指定关键字
查找
s = s1.startswith("XXX") # 判断是否以XXX开头 s = s1.endswith("XXX") # 是否以'XXX'结尾 s = s1.count("a") # 查找"a"出现的次数 s = s1.find("xxx") # 查找'xxx'的位置, 如果没有返回-1 s = s1.find("a", 8, 22) # 切?找 s = s1.index("xxx") # 求索引位置. 注意. 如果找不到索引. 程序会报错
条件判断
# 条件判断 s1 = "123.16" s1 = "abc" s1 = "[email protected]" # 是否由字?和数字组成 print(s1.isalnum()) # 是否由字?组成 print(s1.isalpha()) # 是否由数字组成, 不包括小数点 print(s1.isdecimal()) # 记这个 判断十进制 返回布尔值 print(s1.isdigit()) print(s1.isnumeric()) # 这个?较牛B. 中?都识别.
字符串长度
s1 = " XXXX,XXXXXX " s = len(s1) # 计算字符串的?度 注意: len()是python的内置函数. 所以访问方式也不一样. 你就记着len()和print()一样就?
以上是关于字符串的主要内容,如果未能解决你的问题,请参考以下文章