从Python 1.6开始,字符串变得更像其他标准类型,当添加方法时,这些方法提供的功能与始终使用String模块的函数时提供的功能相同。这些新方法中的大多数已被广泛接受,但似乎让一些程序员感到不舒服的一种方法是:
<span class="s2">", "</span><span class="o">.</span><span class="n"><a href="https://www.gaodaima.com/tag/join" title="查看更多关于join的文章" target="_blank">join</a></span><span class="p">([</span><span class="s1">"1"</span><span class="p">,</span> <span class="s1">"2"</span><span class="p">,</span> <span class="s1">"4"</span><span class="p">,</span> <span class="s1">"8"</span><span class="p">,</span> <span class="s1">"16"</span><span class="p">])</span>
www#gaodaima.com来源gaodai$ma#com搞$$代**码)网搞代码
结果如下:
<span class="s2">"1, 2, 4, 8, 16"</span>
反对这种用法有两个常见的论点。
第一条是这样的:“使用字符串文本(String Constant)的方法看起来真的很难看”,答案是也许吧,但是字符串文本只是一个固定值。如果在绑定到字符串的名称上允许使用这些方法,则没有逻辑上的理由使其在文字上不可用。
第二个异议通常是这样的:“我实际上是在告诉序列使用字符串常量将其成员连接在一起”。遗憾的是并非如此。出于某种原因,把 split()
作为一个字符串方法似乎要容易得多,因为在这种情况下,很容易看到:
<span class="s2">"1, 2, 4, 8, 16"</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">", "</span><span class="p">)</span>
是对字符串文本的指令,用于返回由给定分隔符分隔的子字符串(或在默认情况下,返回任意空格)。
join()
是字符串方法,因为在使用该方法时,您告诉分隔符字符串去迭代一个字符串序列,并在相邻元素之间插入自身。此方法的参数可以是任何遵循序列规则的对象,包括您自己定义的任何新的类。对于字节和字节数组对象也有类似的方法。
来源:搞代码网:原文地址:https://www.gaodaima.com