字符串是由字符组成的序列,用引号包围。
s1 = 'Hello'
s2 = "World"
s3 = '''多行
字符串'''
s4 = """也是多行
字符串"""
print(s1)
print(s2)
print(s3)
print(s4)
print("Hello\nWorld")
print("Hello\tWorld")
print("Hello\\World")
print("Hello\"World")
print(r"Hello\nWorld")
| 转义字符 | 描述 |
|---|---|
| \n | 换行 |
| \t | 制表符 |
| \ | 反斜杠 |
| ' | 单引号 |
| " | 双引号 |
| \r | 回车 |
s = "Python"
print(s[0])
print(s[1])
print(s[-1])
print(s[-2])
s = "Python"
print(s[0:3])
print(s[2:])
print(s[:4])
print(s[:])
print(s[::2])
print(s[::-1])
print(s[-3:])
字符串[开始:结束:步长]
s1 = "Hello"
s2 = "World"
s3 = s1 + " " + s2
print(s3)
words = ["Hello", "World", "Python"]
s = " ".join(words)
print(s)
s2 = "-".join(words)
print(s2)
s = "Ha" * 3
print(s)
Python 3.6+ 推荐使用的方式:
name = "张三"
age = 25
height = 1.75
print(f"姓名:{name}")
print(f"年龄:{age}岁")
print(f"身高:{height:.2f}米")
print(f"明年{age + 1}岁")
print(f"{name.upper()}")
name = "张三"
age = 25
print("姓名:{},年龄:{}".format(name, age))
print("姓名:{0},年龄:{1},{0}很高兴".format(name, age))
print("姓名:{name},年龄:{age}".format(name=name, age=age))
print("身高:{:.2f}米".format(1.756))
print("数字:{:d}".format(42))
print("百分比:{:.1%}".format(0.856))
name = "张三"
age = 25
print("姓名:%s,年龄:%d" % (name, age))
print("身高:%.2f米" % 1.756)
| 符号 | 描述 |
|---|---|
| %s | 字符串 |
| %d | 整数 |
| %f | 浮点数 |
| %.2f | 保留2位小数 |
| %x | 十六进制 |
| %o | 八进制 |
| %e | 科学计数法 |
s = "Hello World"
print(s.upper())
print(s.lower())
print(s.title())
print(s.capitalize())
print(s.swapcase())
s = "Hello World, Hello Python"
print(s.find("World"))
print(s.find("Python"))
print(s.find("Java"))
print(s.rfind("Hello"))
print(s.index("World"))
print(s.count("Hello"))
print(s.replace("World", "Python"))
print(s.replace("Hello", "Hi", 1))
s = "apple,banana,orange"
fruits = s.split(",")
print(fruits)
s2 = " Hello World "
print(s2.split())
words = ["Hello", "World", "Python"]
print(" ".join(words))
print("-".join(words))
lines = "第一行\n第二行\n第三行"
print(lines.splitlines())
s = " Hello World "
print(s.strip())
print(s.lstrip())
print(s.rstrip())
s2 = "xxHello Worldxx"
print(s2.strip("x"))
s = "Hello World"
print(s.startswith("Hello"))
print(s.endswith("World"))
s2 = "12345"
print(s2.isdigit())
s3 = "Hello"
print(s3.isalpha())
s4 = "Hello123"
print(s4.isalnum())
s5 = " "
print(s5.isspace())
s6 = "hello world"
print(s6.islower())
s7 = "HELLO WORLD"
print(s7.isupper())
s = "Python"
print(s.center(20))
print(s.center(20, "*"))
print(s.ljust(20, "-"))
print(s.rjust(20, "-"))
print(s.zfill(20))
s = "Hello World"
print(len(s))
print(max(s))
print(min(s))
print(ord("A"))
print(chr(65))
print(s.encode("utf-8"))
print(b"Hello".decode("utf-8"))
s = "Hello World"
print("Hello" in s)
print("Python" not in s)
if "World" in s:
print("包含 World")
text = """
这是一个
多行字符串
可以保留格式
"""
print(text)
html = """
<html>
<head>
<title>标题</title>
</head>
<body>
<p>内容</p>
</body>
</html>
"""
print(html)
原始字符串不转义特殊字符:
path = "C:\\Users\\Admin\\Desktop"
print(path)
path_raw = r"C:\Users\Admin\Desktop"
print(path_raw)
regex = r"\d+\.\d+"
print(regex)
s = "你好,世界"
encoded = s.encode("utf-8")
print(encoded)
decoded = encoded.decode("utf-8")
print(decoded)
email = "user@example.com"
if "@" in email and "." in email:
print("邮箱格式正确")
else:
print("邮箱格式错误")
s = "Hello World"
reversed_s = s[::-1]
print(reversed_s)
text = "Hello World, Hello Python, Hello Everyone"
word = "Hello"
count = text.count(word)
print(f"'{word}' 出现了 {count} 次")
products = [
("苹果", 5.5, 10),
("香蕉", 3.2, 20),
("橙子", 4.8, 15)
]
print("商品\t单价\t数量\t总价")
print("-" * 40)
for name, price, qty in products:
total = price * qty
print(f"{name}\t{price:.1f}\t{qty}\t{total:.1f}")
本章我们学习了:
字符串是 Python 中最常用的数据类型之一,掌握字符串操作对于文本处理非常重要。在下一章中,我们将学习流程控制,了解如何控制程序的执行流程。