<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>

                有許多不同的Python框架可用于開發不同的Python應用。如果是Web應用,可以使用Django(<https://www.djangoproject.com/>)、Pylons(<http://www.pylonsproject.org/>)、TurboGears(<http://turbogears.org/>)、Tornado(<http://www.tornadoweb.org/>)、Zope(<http://www.zope.org/>)或者Plone(<http://plone.org/>)。如果你正在找事件驅動的框架,可以使用Twisted([http:// twistedmatrix.com/](http://twistedmatrix.com/))或者Circuits(<https://bitbucket.org/prologic/circuits/>)等。 框架和外部庫的主要不同在于,應用程序是建立在框架之上的,代碼對框架進行擴展而不是反過來。而外部庫更像是對代碼的擴展,賦予你的代碼更多額外的能力,而框架會為你的代碼搭好架子,只需要通過某種方式完善這個架子就行了,盡管這可能是把雙刃劍。使用框架有很多好處,如快速構建原型并開發,但也有一些明顯的缺點,如鎖定(lock-in)問題。因此,在決定使用某個框架前需要把這些都考慮在內。 這里推薦的為Python應用選擇框架的方法很大程度上類似于前面介紹過的外部庫的選擇方法,適用于框架是通過一組Python庫來進行分發的情況。有時它們還包含用于創建、運行以及部署應用的工具,但這并不影響你采用的標準。前面已經提到過,在已經寫了大量代碼之后更換外部庫是十分痛苦的,但更換框架比這還要難受1000倍,因為通常需要完全重寫你的應用程序。舉例來說,前面提及的Twisted框架還不能完全支持Python 3。如果你基于Twisted的程序在幾年之后想要支持Python 3,那么你將非常不幸,除非全部重寫代碼選用另一個框架或者有人最終為Twisted提供了Python 3的升級支持。 有些框架與其他框架相比更加輕量級。一個簡單的比較就是,Django提供了內置的ORM功能,而Flask則沒有。一個框架提供的功能越少,將來遇到的問題越少。然而,框架缺少的每個功能同時也是另一個需要去解決的問題,要么自己寫,要么再千挑萬選去找另一個能提供這個功能的庫。愿意處理哪種場景取決于個人的選擇,但需慎重選擇。當問題出現時從一個框架升級至其他框架是極其艱巨的任務,就算Python再強大,對于這類問題也沒有什么好辦法。
                  <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>

                              哎呀哎呀视频在线观看