天天看點

python day six

一、利用遞歸實作階乘執行個體

<code>#利用遞歸實作階乘執行個體(實際就是函數調用函數)</code>

<code>#實作 1*2*3*4*5*6*7*8*9</code>

<code>def</code> <code>func(num):</code>

<code>    </code><code>if</code> <code>num </code><code>=</code><code>=</code> <code>1</code><code>:</code>

<code>        </code><code>return</code> <code>1</code>

<code>    </code><code>return</code> <code>num </code><code>*</code> <code>func(num </code><code>-</code> <code>1</code><code>)</code>

<code>a </code><code>=</code> <code>func(</code><code>9</code><code>)</code>

<code>print</code> <code>(a)</code>

<code>#輸出:362880</code>

二、反射

<code>#反射:(利用字元串的形式去對象(或子產品)中操作(尋找/檢查/删除/設定)成員。)</code>

<code>'''</code>

<code>#例1:</code>

<code>#如一個web架構的路由系統</code>

<code>#定義一個commons.py的子產品</code>

<code>def login():</code>

<code>    </code><code>print("登入頁面")</code>

<code>def logout():</code>

<code>    </code><code>print("退出頁面")</code>

<code>def home():</code>

<code>    </code><code>print("首頁面")</code>

<code>#定義一個index.py的為主運作程式</code>

<code>import commons</code>

<code>def run():</code>

<code>    </code><code>in1 = input("請輸入通路的url:")</code>

<code>    </code><code>if in1 == 'login':</code>

<code>        </code><code>commons.login()</code>

<code>    </code><code>elif in1 == 'logout':</code>

<code>        </code><code>commons.logout()</code>

<code>    </code><code>elif in1 == 'home':</code>

<code>        </code><code>commons.home()</code>

<code>    </code><code>else:</code>

<code>        </code><code>print("404")</code>

<code>#内置函數getattr()</code>

<code>1.getattr()  #擷取它的屬性(也稱成員)</code>

<code>例如:</code>

<code>getattr(commons,"login")</code>

<code>#去commons子產品中尋找它的成員login</code>

<code>#以例1的案例更改後如下:</code>

<code>#1.getattr()</code>

<code> </code><code>def run():</code>

<code>     </code><code>in1 = input("請輸入通路的url:")</code>

<code>     </code><code>func = getattr(commons,in1)</code>

<code>     </code><code>func()</code>

<code>2.hasattr()</code>

<code>    </code><code>hasattr(commons,"login")</code>

<code>    </code><code>#查找commons裡邊有沒有login;有傳回True,沒有則傳回False</code>

<code>##python 有兩個web子產品:Tornado和Django</code>

<code>#2.hasattr()</code>

<code>    </code><code>if hasattr(commons,in1):</code>

<code>        </code><code>func = getattr(commons,in1)</code>

<code>        </code><code>func()</code>

<code>3.delattr() #在子產品中删除某個成員</code>

<code>4.setattr() #在子產品中再設定某個成員</code>

<code>5.__import__()  #以字元串的形式導入子產品</code>

<code>    </code><code>例如1:</code>

<code>    </code><code>import commons as obj   #此處commons是子產品名</code>

<code>    </code><code>obj.login()     #執行obj裡邊的login函數,也就是執行commons裡邊的login函數</code>

<code>    </code><code>例如2:(和例1功能相等,導入寫法不一)</code>

<code>    </code><code>obj = __import__("commons") #此處commons是字元串</code>

<code>    </code><code>obj.login()</code>

<code>#__import__()  #以字元串的形式導入子產品</code>

<code>    </code><code>in1 = input("請輸入通路的url(commons/login):")</code>

<code>    </code><code>m,f = in1.split("/")</code>

<code>    </code><code>obj = __import__(m)</code>

<code>    </code><code>if hasattr(obj,f):</code>

<code>        </code><code>func = getattr(obj,f)</code>

<code>6.當導入别的檔案夾子產品的時候</code>

<code>    </code><code>例如:</code>

<code>        </code><code>目錄為:</code>

<code>        </code><code>day6</code>

<code>            </code><code>lib</code>

<code>                </code><code>account.py</code>

<code>            </code><code>text.py</code>

<code>        </code><code>導入方法:</code>

<code>            </code><code>m,f = in1.split("/")</code>

<code>            </code><code>obj = __import__('lib.'+m, fromlist=True)</code>

<code>            </code><code>#fromlist=True 代表告訴是以字元串拼接的方式</code>

<code>            </code><code>#如果不加,隻導入lib.之前的子產品lib</code>

<code>#執行個體:僞造web架構的路由系統</code>

<code>    </code><code>(路由系統:通路某一個url 就給定義到某個函數上)</code>

<code>反射總結:</code>

<code>    </code><code>1.反射:</code>

<code>        </code><code>基于字元串的形式去對象(子產品)中操作(尋找/檢查/删除/設定)其成員。</code>

<code>    </code><code>2.反射功能(接口):</code>

<code>        </code><code>是由python提供;</code>

<code>        </code><code>4個功能:getattr()、delattr()、setattr()、hasattr()</code>

<code>    </code><code>3.擴充:</code>

<code>        </code><code>導入子產品</code>

<code>            </code><code>import 子產品名</code>

<code>            </code><code>from xxx import 子產品名</code>

<code>        </code><code>導入别的檔案夾子產品</code>

<code>            </code><code>obj = __import__("xxx")</code>

<code>            </code><code>#xxx是字元串</code>

<code>            </code><code>obj = __import__("xxx."+xx,fromlist=True)</code>

<code>            </code><code>#xxx是字元串、xx是一個變量也是一個字元串;</code>

<code>            </code><code>#fromlist=True 告訴前邊是以字元串拼接的方式</code>

三、子產品中的特殊變量

<code>1.__doc__</code>     <code>功能:将.py檔案的注釋自動封裝到__doc__裡邊</code>

<code>             </code><code>(注釋:在.py檔案開頭用</code><code>''' '''</code><code>表示的内容)</code>

<code>                </code><code>例如:</code>

<code>                     </code><code>"""</code>

<code>                        </code><code>我是一個兵</code>

<code>                    </code><code>print</code> <code>(__doc__)</code>

<code>2.__cached__</code>  <code>功能:顯示位元組碼檔案路徑在哪裡(也就是存放的位置)</code>

<code>                </code><code>(在運作.py檔案的時候會生成.pyc檔案是位元組碼檔案)</code>

<code>3.__file__</code>    <code>功能:檢視目前.py檔案的檔案名</code>

<code>              </code><code>1.print</code> <code>(__file__)</code>

<code>              </code><code>2.</code><code>檢視絕對路徑</code>

<code>                </code><code>import</code> <code>os</code>

<code>                </code><code>os.path.abcpath() 擷取某個檔案的絕對路徑</code>

<code>                </code><code>例:</code>

<code>                </code><code>os.path.abspath(__file__)</code>

<code>                </code><code>#檢視目前檔案的絕對路徑</code>

<code>              </code><code>3.</code><code>檢視目前目錄的上級目錄</code>

<code>                </code><code>r1 </code><code>=</code> <code>os.path.dirname(os.path.abcpath(__file__))</code>

<code>                </code><code>print</code> <code>(r1)</code>

<code>              </code><code>4.</code><code>檢視目前目錄的上上級目錄</code>

<code>                </code><code>r2 </code><code>=</code> <code>os.path.dirname(os.path.dirname(os.path.dirname(__file__)))</code>

<code>                </code><code>print</code> <code>(r2)</code>

<code>                </code><code>将目錄加載到python系統目錄裡:</code>

<code>                </code><code>import</code> <code>sys</code>

<code>                </code><code>sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))</code>

<code>                </code><code>#這樣目錄永遠加到了python系統目錄裡,以後當設計到bin目錄都要加這行。</code>

<code>4.__package__</code> <code>功能:檢視目前所在包的名稱。</code>

<code>              </code><code>1.</code><code>當在目前目錄下執行,放回</code><code>None</code><code>;</code>

<code>                </code><code>print</code><code>(__package__)</code>

<code>              </code><code>2.</code><code>當導入别的子產品時,執行就傳回子產品所在的檔案夾:</code>

<code>                </code><code>import</code> <code>commons </code><code>from</code> <code>login</code>

<code>                </code><code>print</code> <code>(login,__package__)</code>

<code>5.__name__</code>    <code>功能:執行某.py檔案時,那麼__name__就等于__main__</code>

<code>                    </code><code>隻有執行目前檔案時,目前檔案的特殊變量__name__ </code><code>=</code><code>=</code> <code>"__main__"</code>

<code>                    </code><code>正式由于這種特性,是以在主運作檔案裡加上:</code>

<code>                    </code><code>if</code> <code>__name__ </code><code>=</code><code>=</code> <code>"__main__"</code><code>:</code>

四、python子產品sys

<code>#sys(python解釋器相關的内容都在裡邊)</code>

<code>1.sys</code><code>.argv      執行腳本傳參數,輸出</code><code>list</code><code>;第一個元素就是腳本本身aa.py</code>

<code>2.sys</code><code>.exit(n)   退出程式,n是退出時螢幕列印的内容</code>

<code>3.sys</code><code>.version() 擷取python解釋器的版本</code>

<code>4.sys</code><code>.path      傳回子產品的搜尋路徑,初始時使用python的環境變量值</code>

<code>5.sys</code><code>.platform  傳回作業系統的平台</code>

<code>6.sys</code><code>.stdin:    輸入相關</code>

<code>7.sys</code><code>.stdout:    輸出相關</code>

<code>    </code><code>sys.stdout.flush()    輸出清空</code>

<code>    </code><code>sys.stdout.write(r) 輸出不加換行符</code>

<code>    </code><code>print</code> <code>(r) 輸出自動加換行符</code>

<code>8.sys</code><code>.stderr:錯誤相關</code>

<code>9.</code><code>\r            回到目前行的首位置</code>

<code>        </code><code>r </code><code>=</code> <code>'%d%%'</code> <code>%</code><code>(num)   </code><code>#num是一個可周遊的變量</code>

<code>        </code><code>輸出:</code><code>1</code><code>%</code><code>2</code><code>%</code><code>3</code><code>%</code><code>...</code><code>100</code><code>%</code>

<code>        </code><code>加了\r之後:</code>

<code>        </code><code>r </code><code>=</code> <code>'\r%d%%'</code> <code>%</code><code>(num)   </code><code>#num是一個可周遊的變量</code>

<code>        </code><code>輸出:</code><code>2</code><code>%</code><code>會把</code><code>1</code><code>%</code><code>覆寫,</code><code>3</code><code>%</code><code>會把</code><code>2</code><code>%</code><code>覆寫,最後是</code><code>100</code><code>%</code>

<code>        </code> 

<code>#進度條案例</code>

<code>import</code> <code>sys</code>

<code>import</code> <code>time</code>

<code>def</code> <code>jindutiao(num,total):</code>

<code>    </code><code>r </code><code>=</code> <code>num </code><code>/</code> <code>total</code>

<code>    </code><code>r1 </code><code>=</code> <code>int</code><code>(r</code><code>*</code><code>100</code><code>)</code>

<code>    </code><code>#result = '%d%%' %(r1)  #沒有格式化輸出</code>

<code>    </code><code>result </code><code>=</code> <code>'\r%s&gt;%d%%'</code> <code>%</code><code>(</code><code>"="</code><code>*</code><code>num,r1)  </code><code>#有格式化輸出</code>

<code>    </code><code>sys.stdout.write(result)</code>

<code>    </code><code>sys.stdout.flush()</code>

<code>if</code> <code>__name__ </code><code>=</code><code>=</code> <code>'__main__'</code><code>:</code>

<code>    </code><code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>1</code><code>,</code><code>101</code><code>):</code>

<code>        </code><code>time.sleep(</code><code>0.1</code><code>)     </code><code>#延遲0.1s</code>

<code>        </code><code>jindutiao(i,</code><code>100</code><code>)</code>

五、python子產品os

<code>#OS(跟系統相關的東西都在裡邊)</code>

<code>os.getcwd()                     擷取目前工作目錄,即目前python腳本工作的目錄路徑</code>

<code>os.chdir(</code><code>"dirname"</code><code>)             改變目前腳本工作目錄;相當于shell下cd</code>

<code>os.curdir                       傳回目前目錄: (</code><code>'.'</code><code>)</code>

<code>os.pardir                       擷取目前目錄的父目錄字元串名:(</code><code>'..'</code><code>)</code>

<code>os.makedirs(</code><code>'dir1/dir2'</code><code>)        可生成多層遞歸目錄</code>

<code>os.removedirs(</code><code>'dirname1'</code><code>)       若目錄為空,則删除,并遞歸到上一級目錄,如若也為空,則删除,依此類推</code>

<code>os.mkdir(</code><code>'dirname'</code><code>)            生成單級目錄;相當于shell中mkdir dirname</code>

<code>os.rmdir(</code><code>'dirname'</code><code>)            删除單級空目錄,若目錄不為空則無法删除,報錯;相當于shell中rmdir dirname</code>

<code>os.listdir(</code><code>'dirname'</code><code>)        列出指定目錄下的所有檔案和子目錄,包括隐藏檔案,并以清單方式列印</code>

<code>os.remove()                     删除一個檔案</code>

<code>os.rename(</code><code>"oldname"</code><code>,</code><code>"new"</code><code>)    重命名檔案</code><code>/</code><code>目錄</code>

<code>os.stat(</code><code>'path/filename'</code><code>)        擷取檔案</code><code>/</code><code>目錄資訊</code>

<code>os.sep                          作業系統特定的路徑分隔符,win下為</code><code>"\\",Linux下為"</code><code>/</code><code>"</code>

<code>os.linesep                      目前平台使用的行終止符,win下為</code><code>"\t\n"</code><code>,Linux下為</code><code>"\n"</code>

<code>os.pathsep                      用于分割檔案路徑的字元串</code>

<code>os.name                         字元串訓示目前使用平台。win</code><code>-</code><code>&gt;</code><code>'nt'</code><code>; Linux</code><code>-</code><code>&gt;</code><code>'posix'</code>

<code>os.system(</code><code>"bash command"</code><code>)       運作shell指令,直接顯示</code>

<code>os.environ                      擷取系統環境變量</code>

<code>os.path.abspath(path)        傳回path規範化的絕對路徑</code>

<code>os.path.split(path)            将path分割成目錄和檔案名二進制組傳回</code>

<code>os.path.dirname(path)        傳回path的目錄。其實就是os.path.split(path)的第一個元素</code>

<code>os.path.basename(path)        傳回path最後的檔案名。如何path以/或\結尾,那麼就會傳回空值。即os.path.split(path)的第二個元素</code>

<code>os.path.exists(path)            如果path存在,傳回</code><code>True</code><code>;如果path不存在,傳回</code><code>False</code>

<code>os.path.isabs(path)         如果path是絕對路徑,傳回</code><code>True</code>

<code>os.path.isfile(path)         如果path是一個存在的檔案,傳回</code><code>True</code><code>。否則傳回</code><code>False</code>

<code>os.path.isdir(path)            如果path是一個存在的目錄,則傳回</code><code>True</code><code>。否則傳回</code><code>False</code>

<code>os.path.join(path1[, path2[, ...]])     将多個路徑組合後傳回,第一個絕對路徑之前的參數将被忽略</code>

<code>os.path.getatime(path)        傳回path所指向的檔案或者目錄的最後存取時間</code>

<code>os.path.getmtime(path)        傳回path所指向的檔案或者目錄的最後修改時間</code>

六、python加密子產品hashlib

<code>#md5是不可逆的,通過密文比較方法确認</code>

<code>#例如:</code>

<code>import</code> <code>hashlib              </code><code>#導入加密子產品</code>

<code>obj </code><code>=</code> <code>hashlib.md5()         </code><code>#定義MD5加密</code>

<code>#obj.update('123')          #python2.7的寫法</code>

<code>obj.update(bytes(</code><code>'123'</code><code>,encoding</code><code>=</code><code>'utf-8'</code><code>))   </code><code>#python3.0的寫法,必須用bytes</code>

<code>result </code><code>=</code> <code>obj.hexdigest()    </code><code>#obj.hexdigest就是擷取加密後的字元串</code>

<code>print</code><code>(result)               </code><code>#列印加密後的字元串</code>

<code>#為了防止MD5 對稱破解,可以用一下方法來解決:</code>

<code>import</code> <code>hashlib                            </code><code>#導入加密子產品</code>

<code>obj </code><code>=</code> <code>hashlib.md5(bytes(</code><code>'djfjdsofhosdfjo13432534eee'</code><code>,encoding</code><code>=</code><code>'utf-8'</code><code>))         </code>

<code>                                          </code><code>#定義MD5加密,首先加密這裡的字元串</code>

<code>#obj.update('123')                        #python2.7的寫法加密</code>

<code>obj.update(bytes(</code><code>'123'</code><code>,encoding</code><code>=</code><code>'utf-8'</code><code>)) </code><code>#python3.0的寫法加密,必須用bytes</code>

<code>                                          </code><code>#這裡加密是在上邊定義的時候加密基礎之上再加密。</code>

<code>result </code><code>=</code> <code>obj.hexdigest()                  </code><code>#obj.hexdigest就是擷取加密後的字元串</code>

<code>print</code><code>(result)                             </code><code>#列印加密後的字元串</code>

七、python正規表達式

<code>#正規表達式用的python的re子產品</code>

<code>#它是一個小型程式設計語言,主要做字元串的一個比對</code>

<code>#導入 import re</code>

<code>1.re</code><code>.findall(x,y)</code>

<code> </code><code>#去字元串y裡邊,把所有比對規則x的的結果,通過一個清單形式傳回來。</code>

<code>        </code><code>import</code> <code>re</code>

<code>        </code><code>a</code><code>=</code> <code>re.findall(</code><code>'yang'</code><code>,</code><code>'dkfjdyangdif'</code><code>)</code>

<code>        </code><code>print</code><code>(a)</code>

<code>2.</code><code>字元分為:</code><code>1</code><code>、普通字元</code>

<code>            </code><code>2</code><code>、元字元:  . ^ $ * + ? {} [] | () \    (11個)</code>

<code>                </code><code>1 .     代表除換行符以外的任何一個字元</code>

<code>                </code><code>2 ^     比對字元串開始位置</code>

<code>                </code><code>3 $     比對字元串終止位置 </code>

<code>                </code><code>4 *     比對0-多次</code>

<code>                </code><code>5 +     比對1-多次</code>

<code>                </code><code>6 ?     比對0-1次</code>

<code>                </code><code>7 {}   比對固定幾次,或者一個範圍</code>

<code>                                </code><code>{1-5}從1-5次</code>

<code>                                </code><code>{,5}從0-5次</code>

<code>                                </code><code>{1,}從1-多次</code>

<code>                </code><code>8</code> <code>[]   比對或的概念</code>

<code>                            </code><code>1.比對b或者c都會比對到輸出(隻能比對一個字元)</code>

<code>                                </code><code>p1 </code><code>=</code> <code>re.findall(</code><code>'a[bc]d'</code><code>,</code><code>'abd'</code><code>)</code>

<code>                                </code><code>print</code><code>(p1)</code>

<code>                            </code><code>2.</code><code>比對範圍(比對a</code><code>-</code><code>z的範圍,但這裡隻能比對一個字元)</code>

<code>                                </code><code>p1 </code><code>=</code> <code>re.findall(</code><code>'a[a-z]d'</code><code>,</code><code>'add'</code><code>)</code>

<code>                            </code><code>3.</code><code>比對字元集(比對</code><code>+</code><code>号之前的a</code><code>-</code><code>z的n個字元都會被比對)</code>

<code>                                </code><code>p1 </code><code>=</code> <code>re.findall(</code><code>'a[a-z]+d'</code><code>,</code><code>'addfddd'</code><code>)</code>

<code>                            </code><code>4.</code><code>中括号裡邊具有特殊意義的字元:</code>

<code>                                </code><code>1</code> <code>-</code>     <code>中橫線代表範圍:a</code><code>-</code><code>z </code><code>0</code><code>-</code><code>9</code>

<code>                                </code><code>2</code> <code>^     代表非,否的意思</code>

<code>                                </code><code>3</code> <code>\d    代表數字</code>

<code>                </code><code>9</code> <code>\      功能: </code><code>1</code><code>、\後加元字元,取消元字元的功能</code>

<code>                                </code><code>2</code><code>、\後加某些字元有一些特殊的意義</code>

<code>                         </code><code>例:比對單詞字元</code>

<code>                                </code><code>import</code> <code>re</code>

<code>                                </code><code>#比對首字母I,而不是字元串裡邊的I</code>

<code>                                </code><code>p1 </code><code>=</code> <code>re.findall(r</code><code>'I\b'</code><code>,</code><code>'I am abcIdd'</code><code>)</code>

<code>                                </code><code>#r :代表原生字元串,r後邊都是普通字元串</code>

<code>                                </code><code>#\b :比對單詞的開始或結束</code>

<code>                </code><code>10</code> <code>\w     比對字母或數字或下劃線或漢字</code>

<code>                </code><code>11</code> <code>\s     比對任意的空白符</code>

<code>                </code><code>12</code> <code>\d     比對數字</code>

<code>                </code><code>13.</code> <code>\b    比對單詞的開始或結束</code>

<code>3.</code><code>函數方法:</code>

<code>        </code><code>1.match</code>     <code>比對起始位置;match().group() group是match一個方法,取比對值</code>

<code>        </code><code>2.search</code>    <code>比對到第一個就結束</code>

<code>        </code><code>3.findall</code>   <code>傳回一個清單</code>

<code>          </code><code>finditer  傳回一個對象,可以周遊、取值</code>

<code>        </code><code>4.sub</code>       <code>比對,替換</code>

<code>          </code><code>subn      不但比對、替換,還會把替換的次數列印出來</code>

<code>        </code><code>5.split</code>     <code>分割</code>

<code>        </code><code>6.re</code><code>.</code><code>compile</code><code>(strPattern[,flag])</code>

<code>                    </code><code>這個方法是Pattern類的工廠方法,用于将字元串形式的正規表達式編譯為Pattern對象</code>

<code>                    </code><code>。第二個參數flag是比對模式,取值可以使用按位或運算符‘|’表示同時生效,如:</code>

<code>                    </code><code>re.I | re.M</code>

<code>                    </code><code>可以把正規表達式編譯成一個正規表達式對象。可以把那些經常使用的正規表達式編譯</code>

<code>                    </code><code>成正規表達式對象,這樣可以提高一定的效率,下面是一個正規表達式對象的一個例子</code>

<code>                        </code><code>import</code> <code>re</code>

<code>                        </code><code>text </code><code>=</code> <code>"aaa is a handsome boy,he is cool,clever,and so on..."</code>

<code>                        </code><code>regex </code><code>=</code> <code>re.</code><code>compile</code><code>(r</code><code>'\w*oo\w*'</code><code>)</code>

<code>                        </code><code>print</code><code>(regex.findall(text))</code>

<code>4.</code><code>正規表達式分組</code>

<code>    </code><code>(去已經比對到的資料中,再比對資料)</code>

<code>    </code><code>r.group()       用</code><code>"字元串"</code><code>來比對</code>

<code>    </code><code>r.groups()      用()來比對</code>

<code>    </code><code>r.groupdict()   用?P&lt;name&gt; 來比對,定義name為key,取的值為value</code>

<code>    </code><code>例:</code>

<code>        </code><code># import re</code>

<code>        </code><code># text = "has hal dfdsjlfjdsl"</code>

<code>        </code><code># r = re.match("h(?P&lt;name&gt;\w+)",text)     #隻比對首</code>

<code>        </code><code># print(r.group())</code>

<code>        </code><code># print(r.groups())</code>

<code>        </code><code># print(r.groupdict())</code>

<code>        </code><code>輸出:</code>

<code>        </code><code>has</code>

<code>        </code><code>(</code><code>'as'</code><code>,)</code>

<code>        </code><code>{</code><code>'name'</code><code>: </code><code>'as'</code><code>}</code>

<code>        </code><code># text = "has hal dfdsjlfjdsl hao"      #比對多個</code>

<code>        </code><code># r = re.findall("h\w+",text)</code>

<code>        </code><code># print(r)</code>

<code>        </code><code>[</code><code>'has'</code><code>, </code><code>'hal'</code><code>, </code><code>'hao'</code><code>]</code>

<code>        </code><code># text = "has hal dfdsjlfjdsl hao"</code>

<code>        </code><code># r = re.findall("h(\w+)",text)</code>

<code>        </code><code>[</code><code>'as'</code><code>, </code><code>'al'</code><code>, </code><code>'ao'</code><code>]</code>

<code>        </code><code># text = "hasbs hisbs dfdsjlfjdsl hdsas"</code>

<code>        </code><code># r1 = re.findall("h(\w+)s(b)s",text)</code>

<code>        </code><code># print(r,r1)</code>

<code>        </code><code>[</code><code>'asbs'</code><code>, </code><code>'isbs'</code><code>, </code><code>'dsas'</code><code>] [(</code><code>'a'</code><code>, </code><code>'b'</code><code>), (</code><code>'i'</code><code>, </code><code>'b'</code><code>)]</code>

<code>        </code><code>text </code><code>=</code> <code>"asbs hisbs dfdsjlfjdsl hdsas"</code>

<code>        </code><code>r1 </code><code>=</code> <code>re.split(</code><code>"s(b)s"</code><code>,text,</code><code>1</code><code>)</code>

<code>        </code><code>print</code><code>(r1)</code>

<code>        </code><code>#輸出:</code>

<code>        </code><code>[</code><code>'a'</code><code>, </code><code>'b'</code><code>, </code><code>' hisbs dfdsjlfjdsl hdsas'</code><code>]</code>

     本文轉自506554897 51CTO部落格,原文連結:http://blog.51cto.com/506554897/1829307,如需轉載請自行聯系原作者