上期咱把变量讲明白了——就是带标签的筐,啥都能往里装。今天专门唠字符串,这玩意儿在办公自动化里天天见,文件名、表格内容、邮件正文,哪哪都是它。
创建字符串简单,引号一包就完事。单引号双引号都行,但得成对。
name = '张三'city = "北京"# 要是字符串里本身有引号,用另一种引号包msg = "他说:‘行了’"坑提醒:'It's ok' 这种会报错,因为中间的引号把字符串掐断了。要么用双引号包:"It's ok",要么转义:'It\'s ok'。
最直接的办法:用加号。
first = "数字编程"last = "现编"full = first + last # 输出"数字编程小编"# 字符串加数字不行# "年龄" + 18 报错,得先把数字转成字符串"年龄" + str(18) # "年龄18"多个字符串想拼在一起,用加号一个个加太傻。可以用join,后面循环篇会细说,今天先知道有这么个东西就Ok。
拼字符串最常用的是格式化,三种写法,咱直接上最好用的。
写法1:f-string(Python 3.6以上,现在都用这个)
name = "数字编程小编"age = 22print(f"我叫{name},今年{age}岁")# 输出:我叫数字编程小编,今年22岁f-string最直观,括号里直接写变量名,还能写简单运算。
price = 99.5print(f"打完8折是{price * 0.8}")写法2:format()方法(老写法,偶尔见)
print("我叫{},今年{}岁".format(name, age))写法3:百分号(上古写法,看见能懂就行)
print("我叫%s,今年%d岁" % (name, age))结论:无脑用f-string,简单粗暴不出错。

坑提醒:切片[1:4]是含头不含尾,取索引1、2、3,不包括4。记不住就多试两遍。切片还能跳步:"123456"[::2]取偶数位,得到'135'。这个后面处理数据有用。
用户输入手机号可能带空格、横杠、括号,得洗干净。
raw = input("输手机号:")# 去掉首尾空格cleaned = raw.strip()# 去掉横杠和空格cleaned = cleaned.replace("-", "").replace(" ", "")# 检查是不是11位数字if len(cleaned) == 11 and cleaned.isdigit():print(f"有效手机号:{cleaned}")else:print("格式不对")isdigit()判断字符串是不是全由数字组成,好用。
字符串可以拆成列表,列表也可以拼回字符串。
# 字符串转列表s = "a,b,c"lst = s.split(",") # ['a', 'b', 'c']# 列表转字符串new_s = "-".join(lst) # 'a-b-c'join的写法有点反直觉:前面的是连接符,后面的是列表。记成“用啥连接,就调谁的join”。
想打印引号、换行、制表符,得加反斜杠。

print("他说:\"行吧\"") # 他说:"行吧"print("第一行\n第二行") # 两行显示print("列1\t列2") # 列1 列2原始字符串:不想让反斜杠转义,前面加个r。
print(r"C:\new\file.txt") # 原样输出,\n不会被当成换行列表和循环——批量处理数据的神器。到时候几十个Excel文件,一行代码全读完,不用一个个手动点。
今天就到这儿,代码自己敲一遍,光看记不住哈。下期见。
想学习,拓展自己知识可以点进相应精选,查看代码解释和思路逻辑: