CC++ & Algorithm

Python布尔类型 bool 和字符串 str

简单6
语言版本:C++Python
概述:布尔类型只有True和False,像开关的两种状态;字符串是用引号包起来的文字。

真假开关与文字贴纸——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

注意TrueFalse 的首字母必须大写,写成 truefalse 会报错,Python不认识它们。


2. 字符串:用引号包起来的文字

字符串用来保存任意文本,比如名字、问候语、地址等等。字符串必须用成对的单引号成对的双引号括起来,不能混用。

name = "小明"           # 用双引号保存名字
greeting = '你好'       # 用单引号保存问候
print(greeting + "," + name)  # 输出:你好,小明

字符串和数字不一样,不能直接做加减乘除,但可以拼接(用 + 号把多个字符串连起来),也可以和数字互相转换(需要特殊函数,后面会讲)。

生活中的例子

  • 你在记事本上写“今天天气真好”,Python里就是 today_note = "今天天气真好"
  • 你想输出自己的名字和年龄,年龄是数字,需要先转成字符串才能和文字拼在一起。

3. 布尔值的常见用途:判断条件

布尔值最常出现在 ifwhile 等条件语句中,用来控制程序的流向。除了直接写 TrueFalse,很多表达式也会产生布尔值(比如比较是否相等)。

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. 新手容易犯的错误

  • 布尔值首字母小写:写成 truefalse → 报错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())感兴趣,可以学习它返回的是字符串,并根据需要转换类型。

记住,布尔和字符串是编程世界里最基础的积木,多动手写代码,你很快就会熟练!

例题精讲

1单选题

在Python中,以下哪个选项是合法的字符串?

AHello
B'Hello'
C"Hello
DHello"
2单选题

布尔类型bool在Python中只有两个值,分别是?

A0和1
BTrue和False
C"True"和"False"
Dyes和no
3判断题

在Python中,字符串"123"和整数123属于相同的数据类型。

4填空题
定义变量name,使其存储字符串"GESP",请补全代码:
name = ___
5填空题
判断布尔值True和False是否相等,并输出结果,请补全代码:
print(True ___ False)