为何将bool_to_string赋值为str是布尔转字符串的有效实现?
为什么
bool_to_string = str就能实现布尔值转字符串? 咱们先把需求明确:要实现一个bool_to_string(flag)函数,输入布尔值True或False,返回对应的字符串"True"或"False"。
直接写bool_to_string = str就行的核心原因有两个:
- 内置函数
str()本身就完全匹配这个需求:当你把布尔值传给str(),它返回的就是咱们要的字符串结果,和需求里的函数功能100%重合。 - Python里函数是一等对象——简单说就是函数可以像普通变量一样被赋值、传递。
bool_to_string = str这行代码,其实是把内置函数str的引用赋值给bool_to_string这个名字。之后调用bool_to_string(True),就跟调用str(True)完全一样,自然能得到正确结果。
至于你提到的lambda写法,其实是多了一层包装:用lambda创建一个新的匿名函数,内部再调用str。而直接赋值str的写法,完全复用了现成的内置函数,没有额外的开销,所以是最简洁的实现方案。
内容的提问来源于stack exchange,提问作者hjajasd
相关产品推荐
相关产品推荐

