3.4.5斷言斷言(assertions)的使用方式類似于if語句,只是在不滿足條件時,會直接拋出異常。類似于下面的if語句(偽代碼)ifnotcondition:#如果不滿足條件,會直接拋出異常,程序會中斷crashprogram那么究竟為什么需要這樣的代碼呢?主要原因為需要檢測程序在某個地方是否滿足條件,如果不滿足條件,應該及時通知開發人員,而不是將這些bug隱藏起來,知道關鍵的時候在崩潰。其實在TDD中經常使用斷言,TDD會在程序發現異常時執行斷言,
系統 2019-09-27 17:52:20 1757
原型模式,也是用于創建對象時的一種設計方法。主要應用場景是:每次初始化某個對象時,需要傳遞大量的參數,很不方便,此時,可以使用原型模式,在已經創建并初始化的對象基礎上,可以快速而又方便創建新的不同對象。主要原理:使用深拷貝,復制一個已創建的對象,然后使用__dict__.update()方法更新已創建對象中的參數值方式創建新對象。背景知識:在python中的類中,__dict__是一個字典,保存了所有該類中的變量,函數等參數。#coding=utf-8im
系統 2019-09-27 17:52:15 1757
2019-09-18-21:11:24(初學者不會學博客,望大家見諒見諒)今天學的內容是有關list.、dict、set集合的使用方法和注意事項list和dict在循環中不可刪,而且list在迭代輸出時進行刪除是會導致索引跟著改變所以一般list不在循環過程中進行刪除list和dict要進行刪除時,應該把要刪除的記錄到另一個列表中,然后在進行刪除深淺拷貝:淺拷貝只拷貝第一層的內容,而深拷貝是全部內容都進行了拷貝下面是總結的內容:一.重要知識點1.str.j
系統 2019-09-27 17:51:29 1757
首先,熟悉一個函數zip,如下是使用help(zip)對zip的解釋。Helponbuilt-infunctionzipinmodule__builtin__:zip(...)zip(seq1[,seq2[...]])->[(seq1[0],seq2[0]...),(...)]Returnalistoftuples,whereeachtuplecontainsthei-thelementfromeachoftheargumentsequences.Ther
系統 2019-09-27 17:51:25 1757
ubuntu系統自帶的python有多個版本,使用時難免會遇到環境變量出錯,特別是當自動化運行腳本的時候。特別是近一個月來,實驗室的小伙伴們的都傾心于python。為了幫助小伙伴們快速搭建自己的python環境,筆者寫下了這篇教程。當然,如果ubuntu自帶的python自己使用沒有問題,可以略去anaconda的安裝。AnacondaAnaconda指的是一個開源的Python發行版本,其包含了conda、Python等180多個科學包及其依賴項。因為包
系統 2019-09-27 17:51:20 1757
Python數據類型詳解——字符串一、定義字符串是一個有序的字符集合,用于存儲和表示基本的文本信息,用''、""、''''''中間包含的內容稱之為字符串創建:s='Helloworld!'二、特性按照從左到右的順序定義字符集合,下標從0開始順序訪問,有序。可以進行切片操作不可變,字符串是不可變的,不能想列表一樣修改其中某個元素,所有對字符串的修改操作都是相當與生成一份新的數據。字符串的單引號和雙引號都無法取消特殊字符的含義,如果想讓引號內所有的字符均取消特
系統 2019-09-27 17:51:12 1757
盡管很多人想要學習編程,但“萬事開頭難”這個道理,還是會將不少人勸退。你在網上找到的大多數教程,都既定假設用戶已經知道了如何執行基本操作,甚至直接跳到服務器管理等進階內容。好消息是,在Windows102019五月更新(Version1903)中,微軟為想要學習Python編程的用戶,提供了一個更加便捷的部署選項。python.jpg(題圖via:OnMSFT)據悉,Python是一種易于上手和閱讀的編程語言,功能性毋庸置疑,但并非Windows自帶。此前
系統 2019-09-27 17:51:08 1757
time庫是Python中處理時間的標準庫計算機時間的表達提供獲取系統時間并格式化輸出功能提供系統級精確計時功能,用于程序性能分析time庫包括三類函數時間獲取:time()ctime()gmtime()時間格式化:strftime(0strptime()程序計時:sleep(),perf_counter()時間獲取time()獲取當前時間戳,即計算機內部時間值,浮點數importtimetime.time();#運行結果#1568855802.08770
系統 2019-09-27 17:50:57 1757
某天回家之時,聽到有個朋友說起他正在做一個車牌識別的項目于是對其定位車牌的位置算法頗有興趣,今日有空得以研究,事實上車牌識別算是比較成熟的技術了,這里我只是簡單實現。我的思路為:對圖片進行一些預處理,包括灰度化、高斯平滑、中值濾波、Sobel算子邊緣檢測等等。利用OpenCV對預處理后的圖像進行輪廓查找,然后根據一些參數判斷該輪廓是否為車牌輪廓。效果如下:test1:test2實現代碼如下(對圖像預處理(濾波器等)的原理比較簡單,這里只是對一些函數進行調包
系統 2019-09-27 17:50:43 1757
生成器就是自己用python代碼寫的迭代器,生成器的本質就是迭代器。通過以下兩種方式構建一個生成器:1、通過生成器函數2、生成器表達式生成器函數:函數deffunc1(x):x+=1returnxprint(func1(5))生成器函數deffunc1(x):x+=1yieldxg_obj=func1(5)print(g_obj.__next__())一個next對應一個yield。yieldVSreturnreturn結束函數,給函數的執行者返回值yie
系統 2019-09-27 17:50:36 1757