Python布尔类型 bool 和字符串 str
简单6真假开关与文字贴纸——Python的布尔类型和字符串
生活中,很多事情只有两种答案:电灯要么亮着,要么不亮;判断题要么“对”,要么“错”;你早上带没带伞,要么“带了”,要么“没带”。在Python里,我们用布尔类型(bool)来记录这种“是/否”的状态,它只有两个值:True(真)和 False(假)。而字符串(str)就像你写在笔记本上的文字,用来保存一句话、一个名字或者任何你想表达的文本,比如“你好”、“Python真有趣”。字符串必须用一对单引号 ' 或双引号 " 包起来,就像给文字贴上一对标签。
下面我们一步步看看它们怎么用、需要注意什么。
1. 布尔类型:只有两个值的“开关”
布尔类型就像电灯开关,状态只有 开(True) 和 关(False)。Python程序经常根据布尔值来决定下一步做什么,比如:
is_sunny = True # 今天是晴天吗?是的
if is_sunny: # 如果今天是晴天
print("我们去公园玩!") # 输出:我们去公园玩!
如果 is_sunny 变成 False,那句 print 就不会执行。
生活中的例子:
- 你今天完成了作业 →
homework_done = True - 你的水杯是满的 →
cup_is_full = False(空了) - 考试及格了 →
passed = True
注意:True 和 False 的首字母必须大写,写成 true 或 false 会报错,Python不认识它们。
2. 字符串:用引号包起来的文字
字符串用来保存任意文本,比如名字、问候语、地址等等。字符串必须用成对的单引号或成对的双引号括起来,不能混用。
name = "小明" # 用双引号保存名字
greeting = '你好' # 用单引号保存问候
print(greeting + "," + name) # 输出:你好,小明
字符串和数字不一样,不能直接做加减乘除,但可以拼接(用 + 号把多个字符串连起来),也可以和数字互相转换(需要特殊函数,后面会讲)。
生活中的例子:
- 你在记事本上写“今天天气真好”,Python里就是
today_note = "今天天气真好" - 你想输出自己的名字和年龄,年龄是数字,需要先转成字符串才能和文字拼在一起。
3. 布尔值的常见用途:判断条件
布尔值最常出现在 if、while 等条件语句中,用来控制程序的流向。除了直接写 True 和 False,很多表达式也会产生布尔值(比如比较是否相等)。
score = 85 # 考试成绩
is_pass = score >= 60 # 是否及格?True(因为85>=60)
if is_pass:
print("恭喜你,及格了!") # 输出:恭喜你,及格了!
你还可以直接比较两个数字是否相等,结果就是布尔值:
my_age = 12 # 我的年龄
your_age = 12 # 朋友的年龄
same_age = (my_age == your_age) # == 判断相等,结果 True
print(same_age) # 输出:True
注意:判断相等用 ==(两个等号),千万别写成 =(一个等号),= 是赋值,会改变变量的值。
4. 字符串操作:拼接、重复、转换
4.1 拼接(用 +)
把多个字符串粘在一起,就像把贴纸贴到一起。
first = "小红" # 姓氏
last = "花" # 名字
full = first + last # 拼接成"小红花"
print(full) # 输出:小红花
4.2 重复(用 *)
把字符串复制多次,比如画一条分隔线。
line = "-" * 10 # 10个短横线
print(line) # 输出:----------
4.3 字符串与数字的转换
字符串不能直接跟数字相加,比如 "我的年龄是" + 12 会报错,因为一个是文字,一个是数字。必须先用 str() 把数字转成字符串,或者用 int() / float() 把字符串转成数字。
age = 12 # 整数
message = "我的年龄是" + str(age) # 把整数12转成字符串"12"
print(message) # 输出:我的年龄是12
price_str = "5.5" # 字符串形式的价钱
price_num = float(price_str) # 转成浮点数5.5
total = price_num * 2 # 计算两个的总价
print("总价:", total) # 输出:总价:11.0
生活中的例子:你输入了“80”作为成绩,但Python把“80”当成文本,不能用来比较大小。你需要用 int("80") 把它变成数字80。
5. 新手容易犯的错误
- 布尔值首字母小写:写成
true或false→ 报错NameError。 - 字符串的引号不配对:比如
'abc"或"abc'→ 语法错误,Python找不到结尾。 - 混淆赋值
=和判断相等==:if score = 60:会报错,应该用==。 - 字符串和数字直接相加:
"我" + 12报错,必须转换类型。 - 忘记加括号:
print "hello"在Python3里会报错,必须写print("hello")。
6. 完整示例代码:猜谜小程序
下面这个程序结合了布尔判断和字符串操作,猜一个数字是不是100。
# 猜谜小游戏
secret = 100 # 秘密数字
guess_str = input("猜一个数字:") # 输入的是字符串
guess_num = int(guess_str) # 把输入转成整数
is_correct = (guess_num == secret) # 判断是否猜对,得到布尔值
message = "太棒了!猜对了!" if is_correct else "不对哦,再想想~"
print(message) # 输出提示
# 用布尔值决定要不要说“你真聪明”
if is_correct:
print("你真聪明!") # 只有在猜对时才输出
运行示例:
猜一个数字:100
太棒了!猜对了!
你真聪明!
7. 相关知识点指引
- 你已经认识了布尔(
bool)和字符串(str),还有基本的整数(int)和浮点数(float)——它们一起构成了Python的四种常用基本类型。 - 学习完布尔和字符串后,下一步可以了解条件判断(
if-elif-else)和循环(while),它们让程序能根据情况做不同的事情。 - 字符串还有很多有用操作,比如获取长度(
len())、查找子串(find())、替换(replace()),这些在将来处理文本时非常常用。 - 如果你对控制台输入(
input())感兴趣,可以学习它返回的是字符串,并根据需要转换类型。
记住,布尔和字符串是编程世界里最基础的积木,多动手写代码,你很快就会熟练!
例题精讲
在Python中,以下哪个选项是合法的字符串?
布尔类型bool在Python中只有两个值,分别是?
在Python中,字符串"123"和整数123属于相同的数据类型。
定义变量name,使其存储字符串"GESP",请补全代码:
name = ___判断布尔值True和False是否相等,并输出结果,请补全代码:
print(True ___ False)