【練習題】第十六章--類和函式(Think Python)
class Time:
hour=0
minute=0
second=0
def print_time(t):
print("%.2d:%.2d:%.2d"%(t.hour,t.minute,t.second))
def is_after(t1,t2):
return (t1.hour,t1.minute,t1.second)>(t2.hour,t2.minute,t2.second)
純函式:不會導致已有物件的修改;
修改器:會導致已有物件的修改。
總的來說,我還是建議你寫純函式,除非用修改器有特別顯著的好處。這種模式也叫做函數語言程式設計。
ef add_time(t1, t2):
assert valid_time(t1) and valid_time(t2)
seconds = time_to_int(t1) + time_to_int(t2)
return int_to_time(seconds)
assert 語句是很有用的,可以用來區分條件語句的用途,將 assert 這種用於檢查錯誤的語句與常規的條件語句在程式碼上進行區分。
相關推薦
【練習題】第十六章--類和函式(Think Python)
class Time: hour=0 minute=0 second=0 def print_time(t): print("%.2d:%.2d:%.2d"%(t.hour,t.minute,t.second)) def is_after(t1,t2):
【練習題】第十五章--類和物件(Think Python)
別名有可能讓程式讀起來有困難,因為在一個位置做出的修改有可能導致另外一個位置發生不可預知的情況。這樣也很難去追蹤指向一個物件的所有變數。所以就可以不用別名,而用複製物件的方法。copy 模組包含了一個名叫 copy 的函式,可以複製任意物件: >>> p1 = Point()
【練習題】第十四章--檔案(Think Python)
2.讀寫檔案 要寫入一個檔案,就必須要在開啟它的時候用『w』作為第二個引數(譯者注:w 就是 wirte 的意思了): >>> fout = open('output.txt', 'w') 如果檔案已經存在了,這樣用寫入的模式來開啟,會把舊的檔案都清
【練習題】第十二章--元組(Think Python)
元組 1.元組不可修改 元組是一系列的值。這些值可以是任意型別的,並且用整數序號作為索引,所以可以發現元組和列表非常相似。二者間重要的區別就是元組是不可修改的。 元組的語法是一系列用逗號分隔的值: >>> t = 'a', 'b', 'c', 'd', 'e'
【練習題】第十一章--字典(Think python)
字典 字典包括一系列的索引,不過就已經不叫索引了,而是叫鍵(Key),然後還對應著一個個值,就叫鍵值(Key Value)。每個鍵對應著各自的一個單獨的鍵值。這種鍵和鍵值的對應關係也叫鍵值對,有時候也叫項。 這種輸出的格式也可以用來輸入。比如你可以這樣建立一個有三個項的字典: >&
【MySQL必知必會】第十六章 創建高級聯結
類型 where子句 contact items order by 其他 mysq custom 必知必會 1、使用表別名 好處: a、縮短SQL語句。 b、允許在單條SELECT語句中多次使用相同的表。 輸入: SELECT cust_name,cu
【練習題】第十章--列表(Think Python)
列表 在列表裡面,這些值可以是任意型別的。一個列表中的值一般叫做列表的元素,有時候也叫列表項。 列表內部可以包含一個列表作為元素,這種包含列表的列表也叫做網狀列表: ['spam', 2.0, 5, [10, 20]] 列表元素可修改 和字串不同的是,列表是可以修改的。 列
【練習題】第六章--有返回值的函式(Think Python)
增量式開發(incremental development): 這個過程的核心如下: 一定要用一個能工作的程式來開始,每次逐漸新增一些細小增補。在任何時候遇到錯誤,都應該弄明白錯誤的位置。 用一些變數來儲存中間值,這樣你可以顯示一下這些值,來檢查一下。 程式一旦能
【WPF學習】第十六章 鍵盤輸入
當用戶按下鍵盤上的一個鍵時,就會發生一系列事件。下表根據他們的發生順序列出了這些事件: 表 所有元素的鍵盤事件(按順序) 鍵盤處理永遠不會像上面看到的這麼簡單。一些控制元件可能會掛起這些事件中的某些事件,從而可執行自己更特殊的鍵盤處理。最明顯的例子是TextBox控制元件,
Python編程:從入門到實踐——【作業】——第十一章(測試代碼)
stc 增加 收集 得到 width .com ast 接受 ted 第十一章 11-1 城市和國家 : 編寫一個函數, 它接受兩個形參: 一個城市名和一個國家名。 這個函數返回一個格式為City, Country 的字符串, 如Santiago, Chile 。 將這個函
Python編程:從入門到實踐——【作業】——第十四章(記分)
wid ont elif pac rom ext splay 添加 能夠 第十四章 14-1 按P開始新遊戲 : 鑒於遊戲《外星人入侵》 使用鍵盤來控制飛船, 最好讓玩家也能夠通過按鍵來開始遊戲。 請添加讓玩家在按P時開始遊戲的代碼。 也許這樣做會有所幫助: 將check_
【練習題】第三章--函式(Think Python)
讀書筆記: 1.函式定義的第一行叫做頭部,剩下的叫做函式體。函式頭部的末尾必須有一個冒號,函式體必須是相對函式頭部有縮排的,距離行首相對於函式頭要有四個空格的距離。函式體可以有任意長度的語句。 2.在函式定義完畢的結尾,必須輸入一行空白行。定義函式會建立一個函式類的物件,有type函式。
【JanusGraph】第十一章:使用索引提升效能
11. 使用索引提升效能 Chapter 11. Indexing for Better Performance JanusGraph支援2種類型的索引用以提升查詢處理速度,分別是圖索引(graph indexes)和中心節點索引(vertex-centric inde
【odoo14】第十八章、自動化測試
當我們開發大型應用的時候,通過自動化測試可以大幅提高應用的健壯性。每年,odoo都會發布新版本,自動化測試對於應用的迴歸測試非常有幫助。幸運的是,odoo框架有不同自動化測試用例。odoo主要包括三種測試方案: * Python test case: 用於測試Python的業務邏輯測試 * JavaScrip
第十二章 類和動態內存分配
其它 成對 關鍵字 類型 fault ptr 釋放緩存 別名 返回 靜態成員變量 不能在類聲明中初始化靜態成員變量(聲明描述了如何分配內存,但並不分配內存); 可以在類聲明之外(在方法文件中)用單獨的語句初始化靜態成員變量; 初始化語句必須指出類型,並使用作用域解析運算符,
【練習題】第一章--程式設計之路(Think Python)
在這貼上電子書(感謝網上大神的分享,這本書確實不錯,在用程式開發的思想教學): https://cycleuser.gitbooks.io/think-python/content/ 1.在print語句後面的括號去掉一個或者兩個,看看會怎麼樣? 據說python2是可以這麼
C++Primer Plus筆記——第十二章 類和動態記憶體分配總結及程式清單
目錄 本章小結 程式清單 本章小結 本章介紹了定義和使用類的許多重要方面。其中的一些方面是非常微妙甚至很難理解的概念。如果其中的某些概念對於您來說過於複雜,也不用害怕——這些問題對於大多數C++的初學者來說都是很難的。 通常,對於諸如複製
C++Primer Plus筆記——第十二章 類和動態記憶體分配課後程式設計練習答案
目錄 課後習題 習題1 習題2 習題3 習題4 習題5&6 課後習題 習題1 #include <iostream> #include <cstring> using namespace std; class Cow {
C++回爐之_C++PrimerPlus_第十二章 類和動態記憶體分配
複製建構函式 如果沒有定義複製建構函式 – C++會自動提供 原型 class_name(const class_name&); Point(const Point&); 功能
斯坦福大學-自然語言處理入門 筆記 第十六課 依存句法分析(Dependency Parsing)
一、介紹 1、依存句法 依存句法假設:句法結構包含相互之間是雙邊不對稱關係的詞典(lexical)元素,這種不對稱的關係成為依存(dependency),在圖中的表現是單向箭頭。 箭頭通常還會打上這種語法關係的名字(主語,前置賓語等等) 箭頭一邊連線中心詞head