⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 node5.html

📁 同样是来自国外的经典python教材
💻 HTML
📖 第 1 页 / 共 4 页
字号:
                                                                      <dd><pre class="verbatim"><tt class="samp" string[subscprt:subscprt]</tt="">&gt;&gt;&gt; a<br>['spam', 'eggs', 100, 1234]<br>&gt;&gt;&gt; a[2] = a[2] + 23<br>&gt;&gt;&gt; a<br>['spam', 'eggs', 123, 1234]<br></tt></pre>                                                                        </dd>                                                                        </dl>                                                                          <p> <tt class="samp" string[subscprt:subscprt]</tt="">你也可以设定一个值或是一个list给一个list的切割部分(slice),但是这样的结果会改变整个list的长度:  </tt></p>                                                                        <p> </p>                                                                        <dl>                                                                        <dd><pre class="verbatim"><tt class="samp" string[subscprt:subscprt]</tt="">&gt;&gt;&gt; # Replace some items:<br>... a[0:2] = [1, 12]<br>&gt;&gt;&gt; a<br>[1, 12, 123, 1234]<br>&gt;&gt;&gt; # Remove some:<br>... a[0:2] = []<br>&gt;&gt;&gt; a<br>[123, 1234]<br>&gt;&gt;&gt; # Insert some:<br>... a[1:1] = ['bletch', 'xyzzy']<br>&gt;&gt;&gt; a<br>[123, 'bletch', 'xyzzy', 1234]<br>&gt;&gt;&gt; a[:0] = a     # Insert (a copy of) itself at the beginning<br>&gt;&gt;&gt; a<br>[123, 'bletch', 'xyzzy', 1234, 123, 'bletch', 'xyzzy', 1234]<br></tt></pre>                                                                          </dd>                                                                          </dl>                                                                            <p> <tt class="samp" string[subscprt:subscprt]</tt="">内建的 <tt class="function">len()</tt> 函式仍然可用在list上面:   </tt></p>                                                                          <p> </p>                                                                          <dl>                                                                          <dd><pre class="verbatim"><tt class="samp" string[subscprt:subscprt]</tt="">&gt;&gt;&gt; len(a)<br>8<br></tt></pre>                                                                            </dd>                                                                            </dl>                                                                              <p> <tt class="samp" string[subscprt:subscprt]</tt="">一个list也可以是另一个list的成员(这叫作巢状list,nested list),参考下例:  </tt></p>                                                                            <p> </p>                                                                            <dl>                                                                            <dd><pre class="verbatim"><tt class="samp" string[subscprt:subscprt]</tt="">&gt;&gt;&gt; q = [2, 3]<br>&gt;&gt;&gt; p = [1, q, 4]<br>&gt;&gt;&gt; len(p)<br>3<br>&gt;&gt;&gt; p[1]<br>[2, 3]<br>&gt;&gt;&gt; p[1][0]<br>2<br>&gt;&gt;&gt; p[1].append('xtra')     # See section 5.1<br>&gt;&gt;&gt; p<br>[1, [2, 3, 'xtra'], 4]<br>&gt;&gt;&gt; q<br>[2, 3, 'xtra']<br></tt></pre>                                                                              </dd>                                                                              </dl>                                                                                <p> <tt class="samp" string[subscprt:subscprt]</tt="">注意前一个例子,  <code>p[1]</code> 以及  <code>q</code> 事实上指得是同一个物件。我们在之后还会再讨论物件的语法( <i>object semantics</i>)。  </tt></p>                                                                              <p>  </p>                                                                              <h1> <tt class="samp" string[subscprt:subscprt]</tt=""><br> 3.2 迈向程式设计的第一步  </tt></h1>                                                                                <p> <tt class="samp" string[subscprt:subscprt]</tt="">当然Python能做比二加二更有用更复杂的事,例如说,我们可以写一个程式来印出费氏数列(                                                                              <i>the Fibonacci series</i> )来:   </tt></p>                                                                              <p> </p>                                                                              <dl>                                                                              <dd><pre class="verbatim"><tt class="samp" string[subscprt:subscprt]</tt="">&gt;&gt;&gt; # Fibonacci series:<br>... # the sum of two elements defines the next<br>... a, b = 0, 1<br>&gt;&gt;&gt; while b &lt; 10:<br>...       print b<br>...       a, b = b, a+b<br>... <br>1<br>1<br>2<br>3<br>5<br>8<br></tt></pre>                                                                                </dd>                                                                                </dl>                                                                                  <p> <tt class="samp" string[subscprt:subscprt]</tt="">这个范例告诉了我们很多新的事情:   </tt></p>                                                                                <p>  </p>                                                                                <ul>                                                                                   <li><tt class="samp" string[subscprt:subscprt]</tt="">程式的第一行是一个多重设定( <i>multiple assignment</i> ):两个变数 <code>a</code> 以及  <code>b</code> 同时都设定了新的值0 与 1。 程式的最后一行再次使用这个技巧,这次在设定符号(等号)的右边我们使用了expression,所有在右边的expression会先求得其值(evaluate)然后才进行设定(assign)的动作。对于在右边的expression来说,其evaluate的次序则是由左至右的。  </tt>                                                                                    <p>  </p>                                                                                  </li>                                                                                  <li><tt class="samp" string[subscprt:subscprt]</tt="">在  <tt class="keyword">while</tt> 回圈中,只要条件符合(在这里是  <code>b &lt; 10</code>), 这个while 回圈就会一直执行。与C相同的是,对Python而言只要是非零的整数都代表在决定true/false的情况下都代表true,0则代表false。我们也可以在回圈的条件的地方放入字串或是一个list,只要这个字串或list的长度不是零就代表true,若是空字串或空的list就代表false。在这个例子里,我们比较两个值的大小。比较的运算元与C是完全相同的: <code>&lt;</code> (小于), <code>&gt;</code> (大于), <code>==</code> (等于), <code>&lt;=</code> (小于或等于), <code>&gt;=</code> (大于或等于)  以及  <code>!=</code> (不等于)。  </tt>                                                                                    <p>  </p>                                                                                  </li>                                                                                  <li><tt class="samp" string[subscprt:subscprt]</tt="">在回圈中的执行部分是 <i>缩排</i> 的:缩排在Python中是表示一群叙述的方法(way of grouping statements)。Python没有(还没有)提供够聪明的行排版机制,所以每个要缩排的行你都得打入空白键或是tab键来缩排。实际的工作环境中,你也许会有自己的文字编辑器,大部分的编辑器会自动帮你做缩排的工作。当在互动模式下输入一个复合的statement时(一个由许多statements组合成的statement),最后你需要再打入一个空白行(译:按ENTER键)来告诉直译器这个statement已经完成了(直译器没办法猜你什么时候完成这个statement)。值得注意的是,如果你的statement是属于同一群(block)的话,你缩排的距离就要是一样的。  </tt>                                                                                    <p>  </p>                                                                                  </li>                                                                                  <li><tt class="samp" string[subscprt:subscprt]</tt=""><tt class="keyword">print</tt> 这个叙述会印出一个expression的结果值,这点与我们之前所做的仅仅打入expression是不同的。不同之处在于对字串及多个的expression来说,用                                                                                    <tt class="keyword">print</tt>  不会印出字串的引号,也会在多个expression之间印出空白来,这样会让结果好看一点。如下所示:  </tt>                                                                                    <p> </p>                                                                                    <dl>                                                                                    <dd><pre class="verbatim"><tt class="samp" string[subscprt:subscprt]</tt="">&gt;&gt;&gt; i = 256*256<br>&gt;&gt;&gt; print 'The value of i is', i<br>The value of i is 65536<br></tt></pre>                                                                                      </dd>                                                                                      </dl>                                                                                        <p> <tt class="samp" string[subscprt:subscprt]</tt="">如果不想每次的输出都换行的话可以在 <tt class="keyword">print</tt>  叙述之后加上逗号,如下所示:  </tt></p>                                                                                      <p> </p>                                                                                      <dl>                                                                                      <dd><pre class="verbatim"><tt class="samp" string[subscprt:subscprt]</tt="">&gt;&gt;&gt; a, b = 0, 1<br>&gt;&gt;&gt; while b &lt; 1000:<br>...     print b,<br>...     a, b = b, a+b<br>... <br>1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987<br></tt></pre>                                                                                        </dd>                                                                                        </dl>                                                                                          <p> <tt class="samp" string[subscprt:subscprt]</tt="">值得注意的是如果最后一行还没有完成的话,直译器会在印出prompt之前印出新的一行。  </tt></p>                                                                                        <p>  </p>                                                                                      </li>                                                                                    </ul>                                                                                      <p>  </p>                                                                                    <div class="navigation">                                                                                    <table align="Center" width="100%" cellpadding="0" cellspacing="2"> <tbody>                                                                                        <tr> <td><a href="node4.html"><img src="../icons/previous.gif" border="0" height="32" alt="Previous Page" width="32"></a></td> <td><a href="tut.html"><img src="../icons/up.gif" border="0" height="32" alt="Up One Level" width="32"></a></td> <td><a href="node6.html"><img src="../icons/next.gif" border="0" height="32" alt="Next Page" width="32"></a></td> <td align="Center" width="100%">Python 教学文件</td> <td><a href="node2.html"><img src="../icons/contents.gif" border="0" height="32" alt="Contents" width="32"></a></td> <td><img src="../icons/blank.gif" border="0" height="32" alt="" width="32"></td> <td><img src="../icons/blank.gif" border="0" height="32" alt="" width="32"></td> </tr>                                                                                      </tbody>                                                                                    </table> <tt class="samp" string[subscprt:subscprt]</tt=""><b class="navlabel">Previous:</b> <a class="sectref" href="node4.html">2. 使用Python的直译器 </a> <b class="navlabel">Up:</b> <a class="sectref" href="tut.html">Python 教学文件</a> <b class="navlabel">Next:</b> <a class="sectref" href="node6.html">4. 更多流程控制的工具 </a> <br>                                                                                    </tt>                                                                                    <hr></div> <!--End of Navigation Panel-->                                                                                     <address> </address>                                                                                    <hr>请看<tt class="samp" string[subscprt:subscprt]</tt=""><i><a href="about.html">关于此文件&hellip;</a></i> 里面有关如何给我们建议的说明。  </tt>                                                                                    </body>                                                                                    </html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -