擅长:python、mysql、java
<p>一般来说,不要使用<code>operator.add</code>(例如<code>+</code>)来处理字符串。它没有什么特别的错误,但是使用<a href="http://docs.python.org/2/library/string.html#string-formatting" rel="nofollow">string formatting</a>是一个很好的实践。在</p>
<p>试试这个:</p>
<pre><code>last_octet = random.randint(0,255) # please use descriptive var names
IP_format = "{}.{}.{}.{}"
IP = IP_format.format(192,168,0,last_octet)
</code></pre>
<p>您的方法行不通,因为您正在字符串上使用<code>append</code>。<code>append</code>是<code>list</code>向自身添加的一种方法。如果您想使用该方法,您可以:</p>
^{pr2}$
<p>在最后一行中,我使用了你可能不知道的两个函数的组合。在</p>
<ul>
<li><p><code>map</code>有两个参数,第一个参数是一个函数(在本例中是<code>str</code>,例如<code>str(192) > "192"</code>),第二个参数是iterable(在本例中,<code>list</code><code>IP_list</code>,但是iterables是任何可以使用<code>for</code>循环的函数)。{3}中的一个名为give}的元素应用于一个不同的函数。在Python2中,它返回一个<code>list</code>。</p></li>
<li><p><code>".".join</code>显式调用<code>str.join</code>。它接受iterable作为参数(见上文),并在iterable的每个元素之间放置<code>str</code>。<code>".".join(["192","168","0","255"])</code>给你<code>"192.168.0.255"</code>。{cd21}中的一个{cdp>经常把<cd21}的<cdg}放在一个<cdg}和<cd21}之间</li>
</ul>