有關Python程式設計語言進行描述

來源:互聯網
上載者:User
前幾天沒事看了一下Python程式設計語言中的django,正如專家學者所言,想要做一名成功的開發人員,首先必備的就是掌握另外一門語言,於是我選擇了Python程式設計語言進行下手。

從這幾天的學習中,我確實也發現其他語言及其架構等確實有一種與眾不同的感覺。下面我把自己這幾天看到的東西稍微作了一下總結。本文並不是django的教程,而是ahuaxuan對django的一些自己的理解,可能有些不成熟的地方,希望大家不要吝惜手中的磚頭。

Python程式設計語言的orm 如果有人問我最喜歡django什麼,我會耗不猶豫的告訴你是django的orm,這個想法的產生完全來自於我長時間來積累的對hibernate的“不滿”,雖然從理智的角度來看。

hibernate做的是非常的正確的,因為它並不是只針對互連網而產生的,它的主要市場應該還是在公司專屬應用程式上,不過把它用在互連網並非不可以。只不過大家更多的時候會選擇ibatis之類,因為不知道hibernate的人總是會說hibernate沒有ibatis快(其實我最煩這個,片面的比較是沒有意義的)。

正是hibernate的目標是打造成java界一個全方位,全能的orm架構,所以的它學習曲線和使用的複雜度日益的提升。要完全掌握好hibernate不是一件容易的事情(不要告訴我你會點crud,知道點lazy load你就掌握好hibernate了)。

詳談Python公司專屬應用程式廣泛領域

一覽清晰透明的Python應用程式

如何創新Python虛擬機器線程

Python主線程問題進行研究討論

有關Python線程操作問題進行學習研究


再回頭來看django的orm,如果說要把hibernate說清楚需要800頁的書,那麼要把django的orm說清楚,200頁就夠了(事實上它的官方文檔只有十幾頁的樣子)。下面我舉一個我正在做的例子。

這裡有一個自關聯的對象(事實上django的orm是基於model,這點和ror不太一樣。有人跟我講過ror是資料庫驅動),這個對象有一個父物件,通常我們的菜單會定義成這樣的對象,這樣的菜單可以無限級向下擴充:

class Category(models.Model): id = models.AutoField('id', primary_key=True) name = models.CharField(maxlength=50) code = models.CharField(maxlength=50) parentCategory = models.ForeignKey('self', 'id', null=True) enable = models.BooleanField() def __str__(self): return self.name class Admin: list_display = ('id', 'name', 'code', 'parentCategory')

Python程式設計語言中又定義的Admin是為django的Admin模組服務的。 我們定義的領域模型只需要這些代碼就夠了,models.Model是父物件。所有的model對象都需要繼承這個對象,這個對象提供了很多常用的資料庫方法,不過不是基於sql的,還是基於對象的,如同Criteria一樣。下面列出常用的一些查詢Category的方法。

當然django的orm提供了很多很常用的功能,這裡不一一舉例了,注意,這裡我說的是提供了很多很常用的功能,至於hibenate中比較複雜的映射策略。在django中我並沒有看到。

但是我反而高興我沒有在django中找到這個功能,因為django本身的定位是快速的互連網開發,它不需要太多的關注這個領域很少出現的東西,這樣帶來的優點是學習曲線的降低和開發效率的提高。

以上就是有關Python程式設計語言進行描述的內容,更多相關文章請關注topic.alibabacloud.com(www.php.cn)!

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.