<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                > 本節主要介紹python中循環語句的用法以及其他一些語句exec等,文章后面附有之前的文章; # 循環語句 if是值執行一次而循環時在條件滿足情況下可以執行相同語句多次;使用循環可以輕松實現序列,詞典等的迭代; ### while循環: 用來在任何條件為真的情況下重復執行一個代碼快: while i>0: ~~~ 代碼快 ~~~ 其他代碼; 演示如下: ~~~ >>>i=10 >>> while i>0: ... print("i=",i) ... i-=1 ... i= 10 i= 9 i= 8 i= 7 i= 6 i= 5 i= 4 i= 3 i= 2 i= 1 >>> ~~~ ### for循環: 一般while循環已經滿足我們要求了,但是有些時候還得去選擇for循環更加有效;比如要為一個集合(序列和其他可迭代對像)的每個元素都執行一個代碼快。這時候可以使用for語句; 基本形式: for <迭代數> in <對象集合>: ~~~ >>> name=("peace","rong","nick") >>> for i in name: ... print(i) ... peace rong nick >>> ~~~ ### 一些迭代工具 之前講解字典時有講過字典的迭代,現在介紹一下常用的迭代工具; ### 并行迭代 程序可以同時迭代兩個序列 內建函數zip函數可以用來進行并行迭代,這里需要注意的是python2返回的是元祖列表,而python3中返回的是可迭代對象 ~~~ ##python2.7 >>> num = zip((1, 2), (3, 4)) >>> num [(1, 2), (3, 4)] #返回的是元祖列表; ##python3.4 >>> num=zip((1,2),(3,4)) >>> num <zip object at 0x7fc5b1e7ef08> >>> #返回的是一個對象,并且支持一次遍歷。如果需要重新遍歷得重新賦值一次; #但是都支持如下的遍歷: >>> for i,j in num: ... print(i,j) ... 1 3 2 4 ~~~ 當然也可以按索引迭代: 有些時候需要訪問序列中的對象,同時還想獲取當前對象的索引,例如替換字符串可以使用下面的方法: ~~~ >>> strings=["peace","rong","nick"] >>> index=0 >>> for string in strings: ... if "on" in string: ... strings[index]="peace" ... index+=1 ... >>> strings ['peace', 'peace', 'nick'] >>> ~~~ ### 跳出循環: 1.break語句 與其他自然語言c等沒有差別;就是結束循環; 2。continue語句: 同樣它只是讓當次迭代提前結束: 演示如下: ~~~ >>> num=[2,4,5,6,] >>> for i in num: ... if i==5: ... break ... print (i) ... 2 4 >>> for i in num: ... if i==5: ... continue ... print(i) ... 2 4 6 >>> ~~~ ### 循環中的else語句: else子句可以加在循環后,他僅在沒有調用break語句時執行:還是剛在的例子: ~~~ >>> num=[2,4,5,6] >>> for i in num: ... if i==7: ... break ... else: ... print("not 7") ... not 7 #沒有執行break打印7 ~~~ ### 列表推導式 列表推導式就是利用其他的列表創建新的列表;他的工作方式類似于for循環也很簡單; 例如:創建由range(10)中每個x的平方組成; ~~~ >>> [x*x for x in range(10)] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] ~~~ 同樣也可以加條件:比如創建只能被4整除的平方數: ~~~ >>> [x*x for x in range(10) if x%4==0] [0, 16, 64] >>> ~~~ 也可以增加更多的for: ~~~ >>> [[x*x,y*y] for x in range(10) for y in range(10) if x%4==0 if y%3==0] [[0, 0], [0, 9], [0, 36], [0, 81], [16, 0], [16, 9], [16, 36], [16, 81], [64, 0], [64, 9], [64, 36], [64, 81]] >>> ~~~ ### pass,del,exec介紹 ### python3中pass pass語句就是什么都不做,讓程序往下執行:比如可以讓if,for,while,等塊什么都不做時,我們可以加上pass ~~~ >>> for i in range(10): ... File "<stdin>", line 2 ^ IndentationError: expected an indented block >>> for i in range(10): ... pass ... >>> #從上可以看到不加pass就出錯了。因為python時不允許空塊存在的; >>> x=11 >>> if x>12: ... print("x>12") ... else: ... #等下在寫 ... pass ... >>> ~~~ ### python3中del del刪除語句不僅會刪除一個對象的引用,也會刪除那個名字本省:演示如下 ~~~ >>> x=1 >>> del x >>> x Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'x' is not defined >>> #x這個名字已經不存在了 ~~~ 但是當兩個引用指向同一個對象時,刪掉的只是引用名: ~~~ #刪掉y后x還是指向原來的對象; >>> x=[1,2] >>> y=x >>> y[1]=4 >>> x [1, 4] >>> del y >>> x [1, 4] >>> ~~~ ### python3中exec和eval 有些時候我們可能想要得到動態代碼,然后將其作為語句執行或作為表達式計算; 例如執行一個字符串的語句是exec ~~~ >>>exec("print(1+3)") 4 ~~~ 當在字符串中定義變量時一定要小心;如果重名了就會發生不必要的錯誤;可以通過in來解決,起到了放置代碼字符串命名空間的字典; 例如: ~~~ >>>from math import sin >>>scope={} >>>exec("sqrt=1") in scope >>>sqrt(4) 2 >>>scope['sqrt'] 1 ~~~ eval是類似于exec的內建函數,只不過是eval會計算表達式,并且返回結果;同樣可以使用命名空間; 簡單演示如下 ~~~ >>>eval(input("enter an expression:")) enter an expression:6+8*2 42 ~~~ #### 相關鏈接: [python3入門之類](http://rlovep.com/2015/09/23/python3%E5%85%A5%E9%97%A8%E4%B9%8B%E7%B1%BB/) [python3入門之函數](http://rlovep.com/2015/09/06/python3%E5%85%A5%E9%97%A8%E4%B9%8B%E5%87%BD%E6%95%B0/) [python3入門之循環](http://rlovep.com/2015/09/06/python3%E5%85%A5%E9%97%A8%E4%B9%8B%E5%BE%AA%E7%8E%AF/) [python3之if語句](http://rlovep.com/2015/08/05/python3%E4%B9%8Bif%E8%AF%AD%E5%8F%A5/) [python3入門之賦值語句介紹](http://rlovep.com/2015/08/03/python3%E5%85%A5%E9%97%A8%E4%B9%8B%E8%B5%8B%E5%80%BC%E8%AF%AD%E5%8F%A5%E4%BB%8B%E7%BB%8D/) [python3入門之print,import,input介紹](http://rlovep.com/2015/08/03/python3%E5%85%A5%E9%97%A8%E4%B9%8Bprint%EF%BC%8Cimport%EF%BC%8Cinput%E4%BB%8B%E7%BB%8D/) [python3入門之set](http://www.cnblogs.com/onepeace/p/4791578.html) [python3入門之字典](http://rlovep.com/2015/07/29/python3%E5%85%A5%E9%97%A8%E4%B9%8B%E5%AD%97%E5%85%B8/) [python3入門之字符串](http://rlovep.com/2015/07/28/python%E5%85%A5%E9%97%A8%E4%B9%8B%E5%AD%97%E7%AC%A6%E4%B8%B2/) [python3入門之列表和元組](http://rlovep.com/2015/07/14/python%E5%85%A5%E9%97%A8%E4%B9%8B%E5%88%97%E8%A1%A8%E5%92%8C%E5%85%83%E7%BB%84/) [python3入門之軟件安裝](http://rlovep.com/2015/07/14/python%E5%85%A5%E9%97%A8%E4%B9%8B%E8%BD%AF%E4%BB%B6%E5%AE%89%E8%A3%85/) [python3爬蟲之入門和正則表達式](http://rlovep.com/2015/09/23/python3%E7%88%AC%E8%99%AB%E4%B9%8B%E5%85%A5%E9%97%A8%E5%92%8C%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看