今天我们将深入探索 字符串(String) —— Python 中处理文本的核心工具。
🎯 第4天目标:
✅ 掌握字符串的创建与基本操作✅ 学会使用 f-string 进行高效格式化✅ 熟悉常用字符串方法(如 .upper(), .split() 等)✅ 理解 索引与切片(获取部分字符串)
📘 一、什么是字符串?
字符串是文本数据,用单引号 ' ' 或双引号 " " 包围:
name = "Alice"message = 'Hello, Python!' # 单双引号功能完全相同,但可以互相嵌套sentence = "She said: 'I love Python!'"
📘 二、字符串格式化(重点!推荐 f-string)
你想把变量插入到句子中?用 f-string(Python 3.6+ 最推荐的方式)
name = "小明"age = 18print(f"你好,我叫{name},今年{age}岁。")
# 输出:你好,我叫小明,今年18岁。
📌 语法:在字符串前加 f,变量用 {} 包起来。
✅ 对比其他方式(了解即可):
# 老式 % 格式化(不推荐)print("我叫%s, %d岁。" % (name, age))# .format() 方法(较旧)print("我叫{}, {}岁。".format(name, age))
💡 f-string 更快、更清晰、支持表达式:
price = 99.9print(f"商品价格:¥{price:.2f}") # 保留两位小数 → ¥99.90
📘 三、常用字符串方法
字符串是“不可变”的,所有方法都返回新字符串,不修改原字符串。
| | |
|---|
.upper() | | "hello".upper() |
.lower() | | "HELLO".lower() |
.strip() | | " hi ".strip() |
.replace(old, new) | | "apple".replace("p", "b") |
.split(sep) | | "a,b,c".split(",") |
.join(iterable) | | "-".join(['a','b']) |
✅ 动手试试:
📘 四、索引与切片(重点!)
字符串中的每个字符都有一个位置编号(索引),从 0 开始:
字符串: P y t h o n索引: 0 1 2 3 4 5反向: -6 -5 -4 -3 -2 -1
🔹 获取单个字符(索引)
s = "Python"print(s[0]) # 'P'print(s[-1]) # 'n' (最后一个字符)
🔹 获取一段字符(切片)
语法:s[start:end:step](end 不包含)
s = "Python"print(s[1:4]) # 'yth' (索引1到3)print(s[:3]) # 'Pyt' (从开头到索引2)print(s[3:]) # 'hon' (从索引3到结尾)print(s[::2]) # 'Pto' (每隔1个取1个)print(s[::-1]) # 'nohtyP' (反转字符串!)
✅ 切片不会报错!即使超出范围也会安全返回:print("Hi"[10:]) # 输出空字符串 '',不会崩溃
💻 今日实战:day4.py
✅ 今日小任务
1、提取域名:给定邮箱 "alice@gmail.com",用 .split() 提取 "gmail.com"email = "alice@gmail.com"domain = email.split("@")[1]print(domain)
2、判断回文:用切片判断一个词是否正读反读一样(如 "level")word = "level"is_palindrome = word == word[::-1]print(f"'{word}' 是回文吗?", is_palindrome)
3、格式化价格:用 f-string 输出 "价格:¥123.45",保留两位小数price = 123.453print(f"价格:¥{price:.2f}") # ¥123.45price = 123.456print(f"价格:¥{price:.2f}") # ¥123.46
📝 小结
| |
|---|
| f-string | |
| 常用方法 | .upper(), .split(), .strip() 等让文本处理超简单 |
| 索引 | s[0] |
| 切片 | s[start:end] |
🎉 恭喜完成第4天!继续加油,你离写出实用程序越来越近了!💻✨