使用beautifulsoup爬取小說,并整合到txt中。"""======================@Auther:CacheYu@Time:2019/9/16:16:09======================"""#-*-coding:utf-8-*-importurllib.requestimporturllib.errorimportbs4frombs4importBeautifulSoupdefreaddown(url):soup=B
系統 2019-09-27 17:54:27 1970
簡單來說python的內存管理機制有三種1)引用計數2)垃圾回收3)內存池接下來我們來詳細講解這三種管理機制1,引用計數:引用計數是一種非常高效的內存管理手段,當一個pyhton對象被引用時其引用計數增加1,當其不再被引用時引用計數減1,當引用計數等于0的時候,對象就被刪除了。2,垃圾回收(這是一個很重要知識點):①引用計數引用計數也是一種垃圾回收機制,而且是一種最直觀,最簡單的垃圾回收技術。在Python中每一個對象的核心就是一個結構體PyObject,
系統 2019-09-27 17:54:17 1970
在初步了解Python多進程之后,我們可以繼續探索multiprocessing包中更加高級的工具。這些工具可以讓我們更加便利地實現多進程。進程池進程池(ProcessPool)可以創建多個進程。這些進程就像是隨時待命的士兵,準備執行任務(程序)。一個進程池中可以容納多個待命的士兵。“三個進程的進程池”比如下面的程序:復制代碼代碼如下:importmultiprocessingasmuldeff(x):returnx**2pool=mul.Pool(5)r
系統 2019-09-27 17:53:52 1970
Python面向對象編程——封裝從封裝本身的意思去理解,封裝就好像是拿來一個麻袋,把小貓,小狗,小王八,還有alex一起裝進麻袋,然后把麻袋封上口子。照這種邏輯看,封裝=‘隱藏’,這種理解是相當片面的。一、先看如何隱藏在python中用雙下劃線開頭的方式將屬性隱藏起來(設置成私有的)#其實這僅僅這是一種變形操作#類中所有雙下劃線開頭的名稱如__x都會自動變形成:_類名__x的形式:classA:__N=0#類的數據屬性就應該是共享的,但是語法上是可以把類的
系統 2019-09-27 17:53:36 1970
如果你對深度學習和卷積神經網絡感興趣,但是并不知道從哪里開始,也不知道使用哪種庫,那么這里就為你提供了許多幫助。在這篇文章里,我詳細解讀了9個我最喜歡的Python深度學習庫。這個名單并不詳盡,它只是我在計算機視覺的職業生涯中使用并在某個時間段發現特別有用的一個庫的列表。這其中的一些庫我比別人用的多很多,尤其是Keras、mxnet和sklearn-theano。其他的一些我是間接的使用,比如Theano和TensorFlow(庫包括Keras、deepy
系統 2019-09-27 17:53:33 1970
概述由于Python2的官方維護期即將結束,越來越多的Python項目從Python2切換到了Python3。可是,在實際的工作中,我發現好多人都是在用Python2的思維去寫Python3的代碼,Python3給我們提供了很多新的、很方便的特性,可以幫助我們快速的編寫代碼。f-strings(3.6+)在Python里面,我們經常使用format函數來格式化字符串,例如:user="JaneDoe"action="buy"log_message='Use
系統 2019-09-27 17:53:30 1970
python連接mysql的客戶端importpymysql#導入模塊conn=pymysql.connect(host='127.0.0.1',#主機模塊port=3306,#端口號user='root',#用戶名password='123',#密碼database='db',#需要連接的庫charset='utf8'#指定編碼utf8)cursor=conn.cursor()#獲取游標#cursor=conn.cursor(pymysql.cursor
系統 2019-09-27 17:53:19 1970
列表推導與生成器表達式當我們創建了一個列表的時候,就創建了一個可以迭代的對象:復制代碼代碼如下:>>>squares=[n*nforninrange(3)]>>>foriinsquares:printi014這種創建列表的操作很常見,稱為列表推導。但是像列表這樣的迭代器,比如str、file等,雖然用起來很方便,但有一點,它們是儲存在內存中的,如果值很大,會很麻煩。而生成器表達式不同,它執行的計算與列表包含相同,但會迭代的生成結果。它的語法與列表推導一樣,
系統 2019-09-27 17:53:14 1970
前言位運算的性能大家想必是清楚的,效率絕對高。相信愛好源碼的同學,在學習閱讀源碼的過程中會發現不少源碼使用了位運算。但是為啥在實際編程過程中應用少呢?想必最大的原因,是較為難懂。不過,在面試的過程中,在手寫代碼過程中,寫出一兩個位運算的代碼,還會讓面試官眼前一亮的。位運算常用的運算符包括&(按位與),|(按位或),~(按位非),^(按位異或),<<(有符號左移位),>>(有符號右移位)。下面用幾個例子說明其應用,希望對你有所啟發。1、判斷奇數還是偶數通常判
系統 2019-09-27 17:53:07 1970
前言在Python中,enumrate和range都常用于for循環中,enumrate函數用于同時循環列表和元素,而range()函數可以生成數值范圍變化的列表,而能夠用于for循環即都是可迭代的。range概述range是用于產生連續或者帶步長的數字元素組成的列表,下面是一些基本使用及場景示例。產生數字序列#產生0-9的序列foriinrange(0,10):print(i)print('-'*40)#產生0-20,步進(間隔)為3的數字元素組成的序列
系統 2019-09-27 17:53:03 1970
前言正則表達式就是從字符串中發現規律,并通過“抽象”的符號表達出來。打個比方,對于2,5,10,17,26,37這樣的數字序列,如何計算第7個值,肯定要先找該序列的規律,然后用n2+1這個表達式來描述其規律,進而得到第7個值為50。對于需要匹配的字符串來說,同樣把發現規律作為第一步,本文主要使用正則表達式完成字符串的查詢匹配、替換匹配和分割匹配。常用的正則符號在進入字符串的匹配之前,先來了解一下都有哪些常用的正則符號,見下表所示:如果讀者能夠比較熟練地掌握
系統 2019-09-27 17:52:54 1970
上次說了什么?復習一下吧!!!我們只是學習了print()函數,print(可以是數字或者'想打印的內容'),通常print函數在調試也非常好用,不然我們不會第一時間學習。print("你好,世界"),開始今日我們的內容。python數據類型只有3類:字符str,數字int,浮點float要不要死記?不用的。。。。。計算機無論是程序,還是網絡對應一下現實世界就好python現實世界字符串str字符串英文,法文,象形字int整數數字,去買包煙都要算錢吧flo
系統 2019-09-27 17:52:51 1970
設計模式的重要性,不再贅述,分方法和類型逐一記錄,以備忘。一、單例模式單例模式,顧名思義,python中的某個類有且僅有一個對象(實例);1.應用場景:某個實例必須保證全局唯一性,如讀取某些配置文件的實例,需要確保在任意地方都是相同配置值;2.實現方法:使用python中的基類object中__new__();3.代碼:classsingleton(object):def__new__(cls,*args,**kw):ifnothasattr(cls,'_
系統 2019-09-27 17:52:35 1970
1、python裝飾器最基礎的函數1defsum1():2sum=1+23print(sum)4sum1()查看函數執行用了多長時間,寫了幾句代碼插進去了:1importtime23defsum1():4start=time.clock()5sum=1+26print(sum)7end=time.clock()8print("timeused:",end-start)910sum1()可是隨著繼續翻看,對越來越多的函數感興趣了,都想看下他們的運行時間如何,
系統 2019-09-27 17:52:26 1970
print("我想打印一個字符串%s"%123)print("我想打印一個字符串",123)print("我想打印一個字符串{}".format(123))這三個輸出有什么區別喃?Python中一個數據是否可以迭代(能否使用For)isinstance(需要判斷的數據,Iterable)查看返回值,true則可以迭代,false不能迭代。如果創建一個可以迭代的對象?必須實現__iter__()方法在__iter__方法中需要返回一個具有__iter__方法
系統 2019-09-27 17:52:09 1970