1.開放封閉原則?什么是開放封閉原則?有的同學(xué)問開放,封閉這是兩個反義詞這還能組成一個原則么?這不前后矛盾么?其實(shí)不矛盾。開放封閉原則是分情況討論的。?我們的軟件一旦上線之后(比如你的軟件主要是多個函數(shù)組成的),那么這個軟件對功能的擴(kuò)展應(yīng)該是開放的,比如你的游戲一直在迭代更新,推出新的玩法,新功能。但是對于源代碼的修改是封閉的。你就拿函數(shù)舉例,如果你的游戲源代碼中有一個函數(shù)是閃躲的功能,那么你這個函數(shù)肯定是被多個地方調(diào)用的,比如對方扔雷,對方開槍,對方用刀
系統(tǒng) 2019-09-27 17:45:53 1983
一、枚舉與字典類型字典類型的缺點(diǎn):1.值可變2.沒有防止相同標(biāo)簽的功能枚舉的特點(diǎn):1.枚舉類的值不可以被外界更改2.不能存在相同的標(biāo)簽,但允許不同標(biāo)簽存在相同的枚舉值,即后者相當(dāng)于前者的別名3.枚舉值可以是任意類型4.枚舉標(biāo)簽盡量用大寫fromenumimportEnum#普通類classdict():green=1green=2red=3dict.red=4print(dict.red)>>>4classVIP(Enum):RED=1GREEN=2YEL
系統(tǒng) 2019-09-27 17:45:52 1983
dic={'key1':'value1','key2':'value2'}一、增if'key3'notindic:dic['key3']='value3'二、刪deldic['key1']#刪除鍵是'Name'的條目dic.clear()#清空字典所有條目deldic#刪除字典三、改dic['key1']='value0'#更新四、查遍歷forkey,valueindic.items():print(key,value)#同時遍歷key,valuefori
系統(tǒng) 2019-09-27 17:45:50 1983
學(xué)習(xí)python少不了寫爬蟲,不僅能以點(diǎn)帶面地學(xué)習(xí)、練習(xí)使用python,爬蟲本身也是有用且有趣的,大量重復(fù)性的下載、統(tǒng)計工作完全可以寫一個爬蟲程序完成。用python寫爬蟲需要python的基礎(chǔ)知識、涉及網(wǎng)絡(luò)的幾個模塊、正則表達(dá)式、文件操作等知識。昨天在網(wǎng)上學(xué)習(xí)了一下,寫了一個爬蟲自動下載「糗事百科」里面的圖片。源代碼如下:復(fù)制代碼代碼如下:#-*-coding:utf-8-*-#上面那句讓代碼里支持中文#------------------------
系統(tǒng) 2019-09-27 17:45:42 1983
Python提供了兩個內(nèi)置函數(shù)從標(biāo)準(zhǔn)輸入讀入一行文本,默認(rèn)的標(biāo)準(zhǔn)輸入是鍵盤。如下:1.raw_input2.inputraw_input函數(shù)raw_input()函數(shù)從標(biāo)準(zhǔn)輸入讀取一個行,并返回一個字符串(去掉結(jié)尾的換行符):復(fù)制代碼代碼如下:str=raw_input("Enteryourinput:");print"Receivedinputis:",str這將提示你輸入任意字符串,然后在屏幕上顯示相同的字符串。當(dāng)我輸入"HelloPython!",它
系統(tǒng) 2019-09-27 17:45:41 1983
IPython+ptpython,完美體驗(yàn)首先是安裝pipinstallipythonptpython然后使用ptipython有什么好處1.IPython是非常強(qiáng)大的Python增強(qiáng)工具2.ptpython提供了類似IDE的自動補(bǔ)全功能3.當(dāng)你在命令行輸入pyipython時,便結(jié)合了這兩者的功能,無比強(qiáng)大!virtualenv+virtualenvwrapper,輕松創(chuàng)建隔離環(huán)境首先安裝pipinstallvirtualenvwrapper(會自動把v
系統(tǒng) 2019-09-27 17:38:45 1983
1.匿名函數(shù)匿名函數(shù)(anonymousfunction)是指未與任何標(biāo)識符綁定的函數(shù),多用在functionalprogramminglanguages領(lǐng)域,典型應(yīng)用場合:1)作為參數(shù)傳給高階函數(shù)(higher-orderfunction),如python中的built-in函數(shù)filter/map/reduce都是典型的高階函數(shù)2)作為高階函數(shù)的返回值(雖然此處的"值"實(shí)際上是個函數(shù)對象)與命名函數(shù)(namedfunction)相比,若函數(shù)只被調(diào)用1次
系統(tǒng) 2019-09-27 17:38:40 1983
核心代碼:#!/usr/bin/python#-*-coding:gbk-*-#設(shè)置源文件輸出格式importsysimportgetoptimportjsonimportcreateDictimportmyConToXMLimportmyConToTabledefgetRsDataToDict():#獲取控制臺中輸入的參數(shù),并根據(jù)參數(shù)找到源文件獲取源數(shù)據(jù)csDict={}try:#通過getopt獲取參數(shù)opts,args=getopt.getopt(s
系統(tǒng) 2019-09-27 17:38:33 1983
前言每個人寫腳本時的格式都會有所不同,有的會注明腳本本身的一些信息,有的則開門見山,這在小團(tuán)隊(duì)里其實(shí)沒什么,基本別人做什么你也都知道,但如果放到大的團(tuán)隊(duì)就比較麻煩了,因?yàn)殡S著人數(shù)的增多,腳本成指數(shù)增長,如果每個人風(fēng)格不統(tǒng)一,到最后就會造成非常大的弊端,所以當(dāng)團(tuán)隊(duì)人數(shù)增長后,就必須有一套標(biāo)準(zhǔn),形成大家統(tǒng)一的編碼規(guī)則,這樣即使不看腳本具體實(shí)現(xiàn),也知道這個腳本的功能是什么。我們今天分享的一段腳本是自動添加注釋信息的腳本,添加的信息包括腳本名稱、作者、時間、描述、
系統(tǒng) 2019-09-27 17:38:27 1983
利用Python寫了簡單測試主機(jī)是否存活腳本,此腳本不適于線上使用,因?yàn)榫W(wǎng)絡(luò)延遲、丟包現(xiàn)象會造成誤報郵件,那么后續(xù)會更新判斷三次ping不通后再發(fā)報警郵件,并啟用多線程處理。#!/usr/bin/envpython#coding:UTF-8importtimeimportpexpectimportsmtplibfromemail.mime.textimportMIMETextmail_host="smtp.163.com"#定義smtp服務(wù)器mail_to
系統(tǒng) 2019-09-27 17:38:23 1983
下面先給大家介紹下Python3執(zhí)行系統(tǒng)命令并獲取實(shí)時回顯最近在改造一些打包的邏輯,原來在Windows下是基于批處理制作的,由于批處理用起來不是很方便,一些實(shí)時的計算基本無法勝任,所以轉(zhuǎn)向Python3。但在以前腳本的基礎(chǔ)上很多是需要調(diào)用系統(tǒng)命令的比如VS編譯一個項(xiàng)目,我們需要獲取實(shí)時的回顯知道編譯的結(jié)果和進(jìn)度。所以就有了以下方法:@staticmethoddef__external_cmd(cmd,code="utf8"):print(cmd)proc
系統(tǒng) 2019-09-27 17:38:04 1983
實(shí)際上,Python提供了with語句來管理資源關(guān)閉。比如可以把打開的文件放在with語句中,這樣with語句就會幫我們自動關(guān)閉文件。with語句的語法格式如下:withcontextexpression[astarget(s)]:with代碼塊在上面的語法格式中,context_expression用于創(chuàng)建可自動關(guān)閉的資源。例如,程序使用with語句來讀取文件:importcodecs#使用with語句打開文件,該語句會負(fù)責(zé)關(guān)閉文件withcodecs.
系統(tǒng) 2019-09-27 17:38:03 1983
花瓣圖片的加載使用了延遲加載的技術(shù),源代碼只能下載20多張圖片,修改后基本能下載所有的了,只是速度有點(diǎn)慢,后面再優(yōu)化下importurllib,urllib2,re,sys,os,requestspath=r"C:\wqa\beautify"url='http://huaban.com/favorite/beauty'#http://huaban.com/explore/zhongwenlogo/?ig1un9tq&max=327773629&limit=
系統(tǒng) 2019-09-27 17:38:01 1983
字符串處理是非常常用的技能,但Python內(nèi)置字符串方法太多,常常遺忘,為了便于快速參考,特地依據(jù)Python3.5.1給每個內(nèi)置方法寫了示例并進(jìn)行了歸類,便于大家索引。PS:可以點(diǎn)擊概覽內(nèi)的綠色標(biāo)題進(jìn)入相應(yīng)分類或者通過右側(cè)邊欄文章目錄快速索引相應(yīng)方法。大小寫轉(zhuǎn)換str.capitalize()將首字母轉(zhuǎn)換成大寫,需要注意的是如果首字沒有大寫形式,則返回原字符串。'adidog'.capitalize()#'Adidog''abcd徐'.capitaliz
系統(tǒng) 2019-09-27 17:37:47 1983
pillowPillow是PIL的一個派生分支,但如今已經(jīng)發(fā)展成為比PIL本身更具活力的圖像處理庫。pillow可以說已經(jīng)取代了PIL,將其封裝成python的庫(pip即可安裝),且支持python2和python3,目前最新版本是3.0.0。Pillow的Github主頁:https://github.com/python-pillow/PillowPillow的文檔(對應(yīng)版本v3.0.0):https://pillow.readthedocs.org
系統(tǒng) 2019-09-27 17:56:31 1982