栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

抑制字符串的迭代处理

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

抑制字符串的迭代处理

不幸的是,没有任何方法可以自动执行此操作。您提出的解决方案(

str
不可迭代的子类)遭受与
isinstance()
…相同的问题,即,您必须记住在使用字符串的任何地方都使用它,因为无法使Python代替它来使用它。本机类。当然,您不能用猴子修补内置对象。

我可能建议,如果您发现自己编写的函数使用可迭代的容器 字符串,则可能是您的设计有问题。但是有时您无法避免。

在我看来,最不麻烦的事情是将检查放入函数中,并在进入循环时调用该函数。至少这会将行为更改放在您最有可能看到的位置:在

for
语句中,不要埋藏在班级的某个地方。

def iterate_no_strings(item):    if issubclass(item, str):   # issubclass(item, basestring) for Py 2.x        return iter([item])    else:        return iter(item)for thing in iterate_no_strings(things):    # do something...


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/651849.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号