布尔值True还能做算术?聊聊Python中反直觉的设计|零壹教育分享
接触Python之后你会发现,有不少语言设计,和普通人的固有认知不太一样,属于反直觉的小细节。其中布尔值可以直接参与算术运算,就是很典型的一个。在我们常规的认知里面,布尔值只有两种状态:成立或者不成立,专门用来做条件判断,和数字是完全分开的两类数据。
Python集合去重太狠_存1和True只给你留一个
前面几篇文章,我们聊了列表、元组、字符串这三种数据容器。它们有个共同点:元素有序,而且允许重复。你存10个1进去,它老老实实给你留着10个1,一个都不删。但现实场景里,很多时候我们不需要重复数据。比如统计全班有多少人选了"计算机"这门课,同一个学号出现10次也只能算1个人。
Python逻辑运算符and返回0不是False?新手懵了
先看一行代码:print(2 - 2 and True)你觉得打印出来的是什么?False?错,是 0。90%的新手到这里直接懵了——逻辑运算符不是应该返回 True 或 False 吗?怎么返回了个数字?这不是bug,而是Python逻辑运算符的一个核心设计。
2026-05-30:反转一个字符串里的字母后反转特殊字符。用go语言,
2026-05-30:反转一个字符串里的字母后反转特殊字符。用go语言,给定一个只包含小写英文字母和特殊字符的字符串 s。按顺序进行两步变换:先把所有小写字母的相对顺序整体反过来,并放回到它们原来所在的位置;再把所有特殊字符的相对顺序整体反过来,并放回到它们原来所在的位置。
Python编程:从QDialog的返回值一口气搞懂Qt和Python的枚举差异
写 PyQt / PySide 的时候,你肯定写过这种代码:pythondialog = LoginDialog(self)if dialog.exec(): # 用户点了确定 ...else: # 用户取消了 ...
图灵星环:Python 基础,Python 中的真值测试与 bool 转换规则
Python里,if判断、while循环、逻辑运算符and和or,并不会只接收True或者False。程序会先对对象执行真值测试,把任意对象翻译成“真”或者“假”,再决定分支走向。
Python列表取值翻车_写1取到第二个写0才对
上一节我们认识了数据容器——一个能装很多数据的"箱子"。这节正式打开第一种箱子:列表(list)。它是Python里最常用的容器,没有之一。但很多人刚上手就翻车了:明明想取第一个元素,写了[1],结果取出来的是第二个。为什么?因为Python列表的编号,从0开始,不从1开始。