讀《python 高效開發實戰》

kaliopensourcextu發表於2017-07-04

讀《python 高效開發實戰》

2017/07/04 基礎

第一章:python基礎知識

這裡快速講了一下python的基礎語法。快速過了一遍,因為一共才64頁,還包括十幾頁的python開發環境ide等。
對我起到補充的知識點:
1. 序列運算子(‘>’,‘<’)
List和Tuple此用法和string一樣,它們同屬於Sequence。故是從左到右比較。
2. 輔助格式化符號 ‘+’ 對正數輸出正值符號+
3. python 中的不可變集合 frozenset
4. set 也有類似Sequence的異或操作(對稱差運算)
5. 函式定義時,*標記元組變長引數,**標記字典變長引數
6. ‘__’設定私有成員。其實並不是真正意義以上的私有。可以dir出它的成員,發現python只是做了修改。

class TestCls(object):
    __name = 'darren'
    def show(self):
        print self.__name

如果

print dir(TestCls)

我們可以看到:

['_TestCls__name', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'show']

注意:

'_TestCls__name'

我們是可以用下面的寫法使用它。

a = TestCls()
print a._TestCls__name

7 python的子類是多繼承且呼叫這些父類中共有的成員函式時,python直譯器會選擇距離子類最近的一個基類的成員方法。

第二章 Web程式設計之網路基礎

1、簡單的介紹了TCP/IP,非常簡略。
2、提了一下三次握手、C/S和B/S架構、HTTP等
3、TCP和UDP的Socket程式設計的兩個例子,基本上就和《python核心程式設計》一樣,這部分看《python核心程式設計》比較好。

明天繼續刷。。。

2017/07/05 基礎

第三章 客戶端程式設計技術

這部分主要講了 B/S 架構客戶端程式設計,就是網頁前端程式設計。
比較概要的講了 HTML、CSS、JavaScript語法、jQuery。
1、HTML

  • 簡單說明HTML語言的特點
  • HTML的基本標籤使用
    段落、標題、字型格式、連線與影像、表格、列表、顏色及背景、Flash及音視訊播放
  • HTML表單
    主要講了文字輸入、單項多項選擇、檔案上傳、邊框及提交。

2、CSS
- 三種CSS 宣告方式
- CSS 基礎的語法
- 基於CSS+Div的頁面佈局

3、JavaScript
- HTML中嵌入JavaScript
- JavaScript 的基礎語法
還是去看《JavaScript權威指南》吧。
- DOM以及讀寫
- Window 物件
4、jQuery
- 先舉了個使用的小例子
- 選擇器
- 行為(Action)
- 標記內容操作
- 標記新增與刪除
- 事件響應
- 標記遍歷
- jQuery 特效
例子不能實現,還是去官網學習去吧

第四章 資料庫及ORM

1、簡要講了資料庫的概念,介紹了資料庫在web程式設計中起到的作用,資料庫的種類以及資料庫建模
2、關係型資料庫程式設計
- Insert、Delete、Update、Select(書上還寫錯了)、多表連線的Select、事務控制語句
3、Python 中使用SQL,引入對應對應資料庫的包。它們的API類似,應為它們都遵守DB-API規範。
4、ORM 程式設計
- ORM的理論基礎:對映技術、CRUD操作、快取優化
- 介紹pyton ORM庫
- peewee庫實戰
關於peewee實戰的程式碼,直接跑會有問題,需要注意下面幾點

  • 注意字串編碼解碼
print '課程:%s, 學時:%d' % (record.title.encode('utf-8'),record.period)
  • 使用select會返回一個SelectQuery物件,但是你不能像對待python Sequence型別簇那樣列印,你需要使用提取迭代器內容那樣來列印以看到select的結果
course = Course.select()
for course_item in course:
    print course_item.id

晚上補充。。。

相關文章