草庐IT

str_clean

全部标签

《代码整洁之道 Clean Code》学习笔记 Part 1 - 命名、注释、格式

前段时间在看《架构整洁之道》,里面提到了:构建一个好的软件系统,应该从写整洁代码做起。毕竟,如果建筑使用的砖头质量不佳,再好的架构也无法造就高质量的建筑。趁热打铁,翻出《代码整洁之道》再刷一遍。《代码整洁之道CleanCode》学习笔记Part1衡量代码质量的唯一标准:WTF/min第一章整洁代码糟糕代码的代价理解、维护成本高。每次修改影响到好几处代码每次修改都会产生意想不到的问题,导致惧怕、抵触改动初期进展“迅速”,后续生产力持续下降,趋向于零破窗理论:如果对糟糕的代码放任不管,就会使人们争相效仿,甚至变本加厉不要想着先写出糟糕的代码,然后改进。勒布朗法则:LaterequalsneverD

python - 获取任意长度的所有可能的 str 分区

我想找到没有空字符串的字符串的所有可能分区,并且必须包含所有字符(不应包含原始字符串)例如:s='1234'partitions(s)#->[['1','2','3','4'],['1','2','34'],['1','23','4']#['12','3','4'],['12','34'],['1','234'],['123','4']]#shouldnotcontain['1234']编辑:可以按任何顺序为什么我的问题不是重复的:我不想要这样的排列:fromitertoolsimportpermutationss='1234'permutations(s)#returns['1','

python - 类型错误 : str object is not an iterator

我有一个由单词组成的文件,每行一个单词。该文件如下所示:aaabobffferrdddffferr我想统计一对单词的出现频率。例如,aaa,bob:1bob,fff:1fff,err:2等等。这个我试过了f=open(file,'r')content=f.readlines()f.close()dic={}it=iter(content)forlineincontent:printline,next(line);dic.update({[line,next(line)]:1})我得到了错误:TypeError:strobjectisnotaniterator然后我尝试使用迭代器:it=

Python:_ ("str") 是做什么的?

我在Django源代码中看到了这个:description=_("Comma-separatedintegers")description=_("Date(withouttime)")它有什么作用?我在Python3.1.3中尝试它但失败了:>>>foo=_("bar")Traceback(mostrecentcalllast):File"",line1,infoo=_("bar")NameError:name'_'isnotdefined2.4.4也不走运:>>>foo=_("bar")Traceback(mostrecentcalllast):File"",line1,in-top

Python:__str__,但对于一个类,而不是一个实例?

我理解以下Python代码:>>>classA(object):...def__str__(self):...return"AninstanceoftheclassA"...>>>>>>a=A()>>>printaAninstanceoftheclassA现在,我想更改的输出>>>printA我需要重载哪个函数才能做到这一点?即使从未实例化该类,该解决方案也必须有效。Python2.x和3中的情况是否不同? 最佳答案 在元类上定义__str__():classA(object):class__metaclass__(type):de

python - 'str' 对象在 Python3 中没有属性 'decode'

我对python3.3.4中的“解码”方法有一些问题。这是我的代码:forlinesinopen('file','r'):decodedLine=lines.decode('ISO-8859-1')line=decodedLine.split('\t')但是我无法解码这个问题的行:AttributeError:'str'objecthasnoattribute'decode'你有什么想法吗?谢谢 最佳答案 一个编码字符串,一个解码字节。您应该从文件中读取字节并对其进行解码:forlinesinopen('file','rb'):de

python - Python 的 str.rstrip() 函数中的错误,还是我自己的愚蠢?

要么这是一个错误,要么我即将学习一些关于Python行为方式的新知识。:)我有一个充满键/值对的字典。每个键都有一个唯一的前缀,ias_XX_XX_。我正在尝试获取字典中每个唯一前缀的列表。首先,我得到一个以'_x1'结尾的所有键的列表。接下来,我使用rstrip('_x1')从它们中去除所有的'_x1'。除了最后一个ias_1_1_x1之外,这对它们都适用。它不再被剥离为ias_1_1,而是变为ias_。运行代码自己看看:d={'ias_16_10_x2':575,'ias_16_10_x1':0,'ias_16_10_y1':0,'ias_16_10_y2':359,'ias_16

python - Python 中 str 的静态方法与实例方法

所以,我了解到字符串有一个center方法。>>>'a'.center(3)'a'然后我注意到我可以使用类型的“str”对象做同样的事情,因为>>>type(str)使用这个“类型”对象,我可以像访问静态函数一样访问字符串方法。>>>str.center('a',5)'a'唉!这违反了python的禅宗。应该有一种——最好只有一种——显而易见的方法来做到这一点。这两种方法连类型都不一样。>>>type(str.center)>>>type('Ni!'.center)现在,这是应该如何设计python类的示例吗?为什么类型不同?什么是method_descriptor,我为什么要费心?感

python - Django ModelForm 没有调用 clean

我正在执行基本的DjangoModelForm创建/验证/保存操作。当在Eclipse调试器下运行代码时调用is_valid()时,我的自定义清理方法未被调用,我在创建表单和调用is_valid().我多次跟踪Django基本代码,似乎ModelForm类上的错误字典从未设置为触发验证的None。我怀疑这是由于与调试器的交互访问ModelForm的_errors属性以显示在变量Pane中。当我删除所有断点并让代码自然流动时,我可以通过发出打印语句来证明自定义干净代码正在运行。这是DjangoModelForm设计中的缺陷、Eclipse问题还是我找错了树?模型.py:fromdjang

python - sqlalchemy:alembic 批量插入失败: 'str' 对象没有属性 '_autoincrement_column'

我的模型看起来像classCategory(UserMixin,db.Model):__tablename__='categories'uuid=Column('uuid',GUID(),default=uuid.uuid4,primary_key=True,unique=True)name=Column('name',String,nullable=False)parent=Column('parent',String,nullable=False)created_on=Column('created_on',sa.types.DateTime(timezone=True),defa