叨逼叨首先,介紹一下pdb調試,pdb是python的一個內置模塊,用于命令行來調試Python代碼。或許你會說,現在用Pycharm等編輯器來調試代碼很方便,為啥要用命令行呢?這個問題,我曾經也這么想,直到有一次,代碼必須要在Linux系統上跑(現在Pycharm也可以遠程調試代碼了,今天先不說這個)使用介紹如何添加斷點?說到debug,肯定是要添加斷點的,這里有兩種方式添加斷點:在想要斷點代碼后添加一行pdb.set_trace()若是使用這種方式,直
系統 2019-09-27 17:53:53 1785
前言如果你曾經寫過或者用過Python,你可能已經習慣了看到Python源代碼文件;它們的名稱以.Py結尾。你可能還見過另一種類型的文件是.pyc結尾的,它們就是Python“字節碼”文件。(在Python3的時候這個.pyc后綴的文件不太好找了,它在一個名為__pycache__的子目錄下面。).pyc文件可以防止Python每次運行時都重新解析源代碼,該文件大大節省了時間。Python是如何工作的Python通常被描述為一種解釋語言,在這種語言中,你的
系統 2019-09-27 17:53:52 1785
python字符串替換是python操作字符串的時候經常會碰到的問題,這里簡單介紹下字符串替換方法。python字符串替換可以用2種方法實現:1是用字符串本身的方法。2用正則來替換字符串下面用個例子來實驗下:a='helloword'把a字符串里的word替換為python1、用字符串本身的replace方法復制代碼代碼如下:a.replace('word','python')輸出的結果是hellopython2、用正則表達式來完成替換:復制代碼代碼如下:
系統 2019-09-27 17:53:34 1785
本來是在找交通識別的程序,然后湊巧看見了證件照換底,于是學習了一下~一開始在網上找了一個很普遍寫的程序,但是效果并不好,想要放棄了,然后看見了這個,參考:pythonopencv實現證件照換底功能本人基于此做了一些改進,便于自己運行和調試,還加了中值濾波,本人覺得效果還不錯~代碼:importcv2importnumpyasnpdefcvtBackground(path,color):"""功能:給證件照更換背景色(常用背景色紅、白、藍)輸入參數:path
系統 2019-09-27 17:53:20 1785
模塊:模塊就是一個python文件。模塊就是一個python文件。功能:1.可以提高文件的重復利用率。提高開發效率2.用于劃分程序結構。自定義模塊:模塊就是一個python文件而已,所有python代碼都可以放入模塊,實際開發中,模塊放入的內容都是重復利用率高的內容主要包含:1.為當前模塊專門定義的變量【其他語言一般都是常量】2.函數。3.類4.測試代碼注意:模塊的命名不要和內置模塊重名!測試代碼統一放到判斷當中if__name__=='__main__'
系統 2019-09-27 17:53:19 1785
概述到2020年,Python2的官方維護期就要結束了,越來越多的Python項目從Python2切換到了Python3。其實在實際工作中,很多伙伴都還是在用Python2的思維寫Python3的代碼。給大家總結一下Python3一些新的更方便的特性!希望你們看完后也能高效率的編寫代碼f-strings(3.6+)在Python里面,我們經常使用format函數來格式化字符串,例如:user="JaneDoe"action="buy"log_message
系統 2019-09-27 17:53:11 1785
json.load讀取文件(file),解析為json對象(dict類型);json.loads讀取字符串(string),解析為json對象;json.dump寫文件(file),將json對象寫入文件;json.dumps寫字符串,將json對象寫成string。importjsonimportosjson_obj={'name':'Michael','age':13}print("jsondict:",type(json_obj))#json對象是一
系統 2019-09-27 17:52:39 1785
最近學習了python基礎,寫一下3大排序練練手:復制代碼代碼如下:'''Createdon2013-8-23@author:codegeek'''//冒泡排序defbubble_sort(seq):foriinrange(len(seq)):forjinrange(i,len(seq)):ifseq[j]
系統 2019-09-27 17:52:28 1785
yield的功能類似于return,但是不同之處在于它返回的是生成器。生成器生成器是通過一個或多個yield表達式構成的函數,每一個生成器都是一個迭代器(但是迭代器不一定是生成器)。如果一個函數包含yield關鍵字,這個函數就會變為一個生成器。生成器并不會一次返回所有結果,而是每次遇到yield關鍵字后返回相應結果,并保留函數當前的運行狀態,等待下一次的調用。由于生成器也是一個迭代器,那么它就應該支持next方法來獲取下一個值。基本操作#通過`yield`
系統 2019-09-27 17:52:18 1785
轉自:https://blog.csdn.net/yilovexing/article/details/80577510在Python中,*和**具有語法多義性,具體來說是有四類用法。1.算數運算*代表乘法**代表乘方>>>2*510>>>2**5322.函數形參*args和**kwargs主要用于函數定義。你可以將不定數量的參數傳遞給一個函數。不定的意思是:預先并不知道,函數使用者會傳遞多少個參數給你,所以在這個場景下使用這兩個關鍵字。其實并不是必須寫成
系統 2019-09-27 17:51:52 1785
在python中進行兩個整數相除的時候,在默認情況下都是只能夠得到整數的值,而在需要進行對除所得的結果進行精確地求值時,想在運算后即得到浮點值,那么如何進行處理呢?1、修改被除數的值為帶小數點的形式即可得到浮點值,這種方法在被除數事先知道的情況下才可以采用有效,而這種情況意味著被除數的值是寫死的、固定的,在絕大多數的情況下是不可行的;2、在進行除法運算前導入一個實除法的模塊,即可在兩個整數進行相除的時候得到浮點的結果;復制代碼代碼如下:from__futu
系統 2019-09-27 17:51:25 1785
a=input("a=")b=input("b=")c=int(a)+int(b)print(c)結果:/usr/bin/python3.6/home/rooter/PycharmProjects/python1/pp1a=4b=48Processfinishedwithexitcode0a=input("a=")b=input("b=")c=a+b#或者c=int(a+b)/c=str(a+b)print(c)結果/usr/bin/python3.6/h
系統 2019-09-27 17:51:10 1785
ubuntu18.04版本,python版本python2.7,python3.5,python3.6因為安裝一些庫會安裝到python3.6上,而默認使用的是python2.7,使用python3,默認會使用python3.5,無法調用安裝包。解決方法:一、使用pythonxx.py運行程序時,加上版本號。比如python3.6xx.py二、1.要以root身份操作yz@yz-pc:~$sudosu2.確認本機下的python默認版本。調出終端,輸入py
系統 2019-09-27 17:51:04 1785
作為Python程序員,應該能夠正視Python的優點與缺點。眾所周之,Python的運行速度是很慢的,特別是大數據量的運算時,Python會慢得讓人難以忍受。對于這種情況,“專業”的解決方案是用上numpy或者opencl。不過有時候為了一點小功能用上這種重型的解決方案很不劃算,或者有時候想要實現的操作在numpy里面沒有,需要我們自己用C語言來編寫。總之,我們使用Python與C++的混合編程能夠加快程序熱點的運算速度。首先要提醒大家注意的是,在考慮聯
系統 2019-09-27 17:50:46 1785
平時做數據處理基本離不了日志記錄功能。每次都配置一堆挺煩人,索性封裝個模塊,這里記錄一下,與大家共享。說明本日志模塊目前只有一個方法getLogger,其他配置項通過參數傳遞,包括日志文件名,等級,日志文件劃分方式,日志清除配置,日志格式等。logger.pyimportloggingfromloggingimporthandlers#日志級別字典__level_dict={'critical':logging.CRITICAL,'fatal':loggi
系統 2019-09-27 17:50:32 1785