#!/usr/bin/python# Write Python 3 code in this online editor and run it.s1='hello word'print(type(s1))print(s1)#字符串中的每个字符都有一个位置编号,从 0 开始正向编号,或从 -1 开始反向编号。print(s1[-3])s2="""I'm a student, study in Xidian, work in ShenZhen"""print(type(s2))print(s2)deftest():"""test string"""return"test pass"print(test())s3=b"hello"print(type(s3))print(s3)print(s3[2])s4=r"C:\Users\nam\Desktop"# r 指定路径中\不会被转义print(s4)# C:\Users\name\Desktop#字符编码s="你好"b=s.encode("utf-8")# str -> bytesprint(b)# b'\xe4\xbd\xa0\xe5\xa5\xbd's_b=b.decode("utf-8")# bytes -> strprint(s_b)# 常用占位符# %s - 字符串# %d - 整数# %f - 浮点数(%.2f 保留两位小数)# %x - 十六进制name="zhangsan"age=20score=85.5print("姓名:%s,年龄:%d,成绩:%.1f"%(name,age,score))# 输出:姓名:张三,年龄:20,成绩:85.5# 按位置print("姓名:{},年龄:{},成绩:{}".format(name,age,score))# 按索引print("姓名:{0},年龄:{1},成绩:{2}".format(name,age,score))# 按关键字(最清晰)print("姓名:{n},年龄:{a},成绩:{s}".format(n=name,a=age,s=score))# f-string使用,格式: f"输出语句"# 直接在字符串中用 {} 嵌入变量print(f"姓名:{name},年龄:{age},成绩:{score}")# 姓名:张三,年龄:20,成绩:85.5# 可以执行表达式print(f"明年年龄:{age+1}")# 可以调用方法print(f"姓名大写:{name.upper()}")# 对齐与填充print("{:<10}".format("左对齐"))# 左对齐,宽度10print("{:>10}".format("右对齐"))# 右对齐print("{:^10}".format("居中"))# 居中对齐print("{:*^10}".format("居中"))# 用*填充居中# 格式控制print(f"成绩保留两位:{score:.2f}")print(f"居中:{'居中':*^10}")# ****居中****#遍历: 使用len + ranges5="Hello Python"print(s5)foriinrange(len(s5)):print(f"索引{i}:{s5[i]}")#遍历:使用enumeratefori,charinenumerate(s5):print(f"索引{i}:{char}")# 指定起始索引, strat=1 指定第一位index为1, start=3 s5 index从3开始fori,charinenumerate(s5,start=1):print(f"第{i}个字符:{char}")print(s5.find("Python"))# ✅ 索引范围在 0 到 len(s)-1 之间print(s[4])# o# ❌ IndexError:索引越界# print(s[5]) # 报错!# 获取字符串长度print(len(s))# 5print(s[len(s)-1])# o(最后一个字符)#切片可以从字符串中截取一部分,语法为 s[start:end:step]s="Hello Python"# s[起始:结束:步长]# 包含起始位置,不包含结束位置print(s[0:5])# Hello(取索引0-4)print(s[6:12])# Python(取索引6-11)print(s[:5])# Hello(省略起始,从0开始)print(s[6:])# Python(省略结束,到末尾)print(s[:])# **Hello Python(复制整个字符串)#反向是-len(s) : -1print(s[-6:])# Python(取后6个字符)print(s[:-7])# Hel(去后7个字符)print(s[-6:-1])# Pytho(索引-6到-2)#步长print(s[::2])# HloPto(每隔一个取一个)print(s[1::2])# el yhn(从索引1开始,每隔一个取一个)print(s[::-1])# ***nohtyP olleH(反转字符串)