成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

設計Python目標何在?

開發 后端
Python是一種簡單易學,功能強大的解釋型編程語言,它有簡潔明了的語法,高效率的高層數據結構,能夠簡單而有效地實現面向對象編程,

開發人員首先在進行對Python開發時,有一個明確的目標,所謂Python目標為:Python可以使用戶避免過分的語法的羈絆而將精力主要集中到所要實現的程序任務上。

如果有人問我最喜歡django什么,我會耗不猶豫的告訴你是django的orm,這個想法的產生完全來自于我長時間來積累的對hibernate的“不滿”。雖然從理智的角度來看,hibernate做的是非常的正確的,因為它并不是只針對互連網而產生的,它的主要市場應該還是在企業應用上。

不過把它用在互聯網并非不可以,只不過大家更多的時候會選擇ibatis之類,因為不知道hibernate的人總是會說hibernate沒有ibatis快(其實我最煩這個,片面的比較是沒有意義的)。正是Python目標是打造成java界一個全方位,全能的orm框架,所以的它學習曲線和使用的復雜度日益的提升。

要完全掌握好hibernate不是一件容易的事情(不要告訴我你會點crud,知道點lazy load你就掌握好hibernate了)。再回頭來看django的orm,如果說要把hibernate說清楚需要800頁的書,那么要把django的orm說清楚,200頁就夠了(事實上它的官方文檔只有十幾頁的樣子)。

下面我舉一個我正在做的例子,這里有一個自關聯的對象(事實上django的orm是基于model,這點和ror不太一樣,有人跟我講過ror是數據庫驅動),這個對象有一個父對象,通常我們的菜單會定義成這樣的對象,這樣的菜單可以無限級向下擴展:

  1. class Category(models.Model):     
  2.     id = models.AutoField('id', primary_key=True)     
  3.     name = models.CharField(maxlength=50)     
  4.     code = models.CharField(maxlength=50)     
  5.     parentCategory = models.ForeignKey('self', 'id', null=True)     
  6.     enable = models.BooleanField()     
  7.          
  8.     def __str__(self):     
  9.         return self.name     
  10.          
  11.     class Admin:     
  12.         list_display = ('id', 'name', 'code', 'parentCategory')   

Python目標中又定義的Admin是為django的Admin模塊服務的。 瞧,我們定義的域模型只需要這些代碼就夠了,models.Model是父對象。所有的model對象都需要繼承這個對象,這個對象提供了很多常用的數據庫方法,不過不是基于sql的,還是基于對象的,如同Criteria一樣。下面列出常用的一些查詢Category的方法。

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

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

【編輯推薦】

  1. 如何使Python嵌入C++應用程序?
  2. 深入探討Ruby與Python語法比較
  3. Python學習資料介紹分享
  4. Python學習經驗談:版本、IDE選擇及編碼解決方案
  5. 淺析Python的GIL和線程安全
責任編輯:chenqingxiang 來源: 清華大學出版社
相關推薦

2021-07-02 20:37:19

Python代碼SRP

2010-01-26 13:36:27

C++設計

2010-01-21 16:45:02

C++設計目標

2011-04-11 09:23:27

設計目標原則C++

2011-05-31 17:59:48

C++

2009-12-21 15:43:05

路由基礎算法

2010-02-04 15:20:50

Android SDK

2009-06-25 16:47:30

EJB技術

2023-10-04 17:44:27

系統設計目標

2010-01-11 17:34:37

C++語言

2024-11-08 14:27:52

系統設計數據庫

2022-04-20 15:55:29

容器架構設計

2020-03-31 21:50:41

JavaScript前端技術

2016-02-17 09:44:45

谷歌機器學習語義搜索

2014-04-23 13:13:59

OpenShift

2009-02-25 09:05:09

路由算法路由器

2011-04-19 10:45:44

路由算法

2022-10-09 10:02:09

Python3.12

2024-12-03 08:00:00

2012-04-29 16:03:28

蘋果
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩视频在线一区 | 亚洲精品视频在线播放 | 欧美黄在线观看 | www.亚洲免费 | 一区二区三区四区在线 | 一区二区三区四区国产 | 在线亚洲免费视频 | 国产剧情一区 | 日韩一级免费 | 欧美精品片 | 美女天堂av| 亚洲综合字幕 | 亚洲中午字幕 | 色爱综合 | www.亚洲国产精品 | 成人在线观看免费观看 | 日韩欧美一区二区在线播放 | 久热久热| 国产美女黄色片 | 久久久片 | 中文字幕 在线观看 | 人人性人人性碰国产 | 国产精品久久久久久一区二区三区 | 美国黄色毛片 | 亚洲精品电影在线观看 | 国产精品三级 | 亚洲国产一区在线 | 欧美黑人巨大videos精品 | 成人av免费网站 | 亚洲 欧美 日韩 在线 | 国产色婷婷久久99精品91 | 日韩有码在线观看 | 日韩在线不卡 | 福利视频一区 | 涩涩视频在线看 | 青青99| 男人的天堂久久 | 国产欧美精品一区二区 | 国产成人免费视频 | 精品国产一区二区三区四区在线 | 91精品中文字幕一区二区三区 |