知識匯總:1-Python語言里一切數據都是對象2-整數:1-python2:int----long(長整數)2-python3:中只有int沒有long3-怎么查看類型---type(100)--有返回值--該類型---3-浮點數--小數:type(3.0)------沒有double4-數字的運算:1-加法+2-減法-3-乘法*4-除法/1-在python39/4==2.25肯定帶小數點等價python2-9//4==22-在python29/4==2
系統 2019-09-27 17:52:42 1760
運行多進程每個子進程的內存空間是互相隔離的進程之間數據不能共享的互斥鎖但是進程之間都是運行在一個操作系統上,進程之間數據不共享,但是共享同一套文件系統,所以訪問同一個文件,或同一個打印終端,是可以的,而共享帶來的是競爭,競爭帶來的結果就是錯亂#并發運行,效率高,但競爭同一打印終端,帶來了打印錯亂frommultiprocessingimportProcessimporttimedeftask(name):print("%s1"%name)time.slee
系統 2019-09-27 17:52:42 1760
概述如今我也是使用Python寫代碼好多年了,但是我卻很少關心GIL的內部機制,導致在寫Python多線程程序的時候。今天我們就來看看CPython的源代碼,探索一下GIL的源碼,了解為什么Python里要存在這個GIL,過程中我會給出一些示例來幫助大家更好的理解GIL。GIL概覽有如下代碼:staticPyThread_type_lockinterpreter_lock=0;/*ThisistheGIL*/這行代碼位于Python2.7源碼ceval.c
系統 2019-09-27 17:52:39 1760
前言剛開始開發Web的時候,沒太在意隔離虛擬環境,用了系統的那一套,Python2.7版本是系統自帶的,雖說明年就結束了,但是現在開發都會有一套3.x以上的環境,即使你開發不注意,你部署的時候總歸是要隔離出來的。1.方便隔離,不同環境編寫測試2.方便遷移,pipfreeze到出包文件依賴,隨后提交管理和遷移都很方便virtualenv前提是你有兩套PythonmikejingdeMacBook-Pro:~MKJ$whichpython/usr/bin/py
系統 2019-09-27 17:52:34 1760
mkvirtualenv-ppython3環境名創建虛擬環境rmvirtualenv環境名刪除環境進入虛擬環境workon環境名(workon+tab可以出來所有環境)查看環境下所有包pip3list查看環境下安裝的包(不包括原生python包)pip3freeze依賴包文件生成pip3freeze>requirements.txt環境導入依賴包pip3install-rrequirements.txt普通安裝pip3install包名這是linux下的指
系統 2019-09-27 17:52:34 1760
glob模塊說明:1、glob是python自己帶的一個文件操作相關模塊,用它可以查找符合自己目的的文件,就類似于Windows下的文件搜索,支持通配符操作*、?、[]這三個通配符,*代表0個或多個字符,?代表一個字符,[]匹配指定范圍內的字符,如[0-9]匹配數字。glob.glob("字符串+通配符")該方法返回指定路徑所有匹配的文件的列表,該方法需要一個參數用來指定匹配的路徑字符串(本字符串可以為絕對路徑也可以為相對路徑),其返回的文件名只包括當前目
系統 2019-09-27 17:52:15 1760
閑暇之余,在家里自建了個服務器,因為用的小區寬帶,IP位動態分配。域名解析就是個問題,我的域名一般停放在DNSPod下。DNSPod有提供修改的API,就用Python簡單的實現了一下動態解析。這樣,就不用安裝花生殼了。廢話不說,看代碼:#!/usr/bin/envpython#-*-coding:utf-8-*-importhttplib,urllib,urllib2importtimeimportsys,osimportreimportjsonuser
系統 2019-09-27 17:52:14 1760
Python的字符串的特點Python與C語言,Java語言都不一樣,沒有單個字符,只有一個有一個字符的字符串。字符串對象不可修改,屬于不可變類型字符串和列表,元組都從屬于序列這個對象類別。所以序列支持的操作,字符串也支持。用單引號和雙引號表示都行,并列的字符串串常量會自動合并,不需要顯式的用加號表示。單雙引號里面的特殊字符必須用轉義序列表示,比如”,',\都需要在前面加個、,但是在三引號里面不需要轉義。Python的字符串的支持的基本操作支持序列的操作,
系統 2019-09-27 17:52:13 1760
python常用內置函數dir(__builtins__)#獲取內置函數dir(random)#查看random中有哪些內置函數help(random.shuffle)#查看random.shuffle的用法id(a)#獲取內存地址chr()#數字轉為asciiord()#ascii轉為數字isinstance(1,int)#判斷1是否為int類型eval("1+1")#可以把字符串里的字符轉換為可執行代碼,但只支持一行。可以返回執行后得到的值,用于計算一
系統 2019-09-27 17:52:02 1760
基礎元素學習一門編程語言的時候,我最先考慮的事情就是如何操作值,值(value)在程序組可以是一個數字1,2,3,4,字符'hello,word'.我們使用變量來保存這些值。又把變量保存的值成為對象,計算機會給變量的對象和變量分配內存空間。python使用的內存分配方式成為引用語義或者對象語義,而像c語言使用的時值語義。接下來具體說明一下這兩種語義的區別。值語義:所謂值語義是指目標對象由源對象拷貝生成,且生成后與源對象完全無關,彼此獨立存在,改變互不影響。
系統 2019-09-27 17:51:31 1760