原创 Pandas透視表(pivot_table)詳解

介紹 也許大多數人都有在Excel中使用數據透視表的經歷,其實Pandas也提供了一個類似的功能,名爲pivot_table。雖然pivot_table非常有用,但是我發現爲了格式化輸出我所需要的內容,經常需要記住它的使用語法。所

原创 Python之美[從菜鳥到高手]--生成器之全景分析

yield指令可以暫停一個函數,並且返回中間結果。只要函數中包含了yield關鍵字,該函數調用就是生成器對象。 ------------------------ yield指令,可以暫停一個函數並返回中間結果。使用該指令的函數將保存執行環

原创 Python yield 使用淺析

------------------------------- 您可能聽說過,帶有 yield 的函數在 Python 中被稱之爲 generator(生成器),何謂 generator ? 我們先拋開 generator,以一個常見的

原创 如何只在堆或者棧上分配類對象

昨天一個同學去網易面試C++研發,問到了這麼一個問題:如何限制一個類對象只在棧(堆)上分配空間? 一般情況下,編寫一個類,是可以在棧或者堆分配空間。但有些時候,你想編寫一個只能在棧或者只能在堆上面分配空間的類。這能不能實現呢?仔細想想

原创 Sting類的實現

爲什麼要進行操作符重載? 舉個例子,正常的數字纔可以進行加,如果對string進行+,實際上進行的是拼接的操作。那麼這個時候,就需要對+進行操作符重載, 實現拼接的操作。‘ 爲什麼賦值操作符(=)重載需要返回引用? 因爲返回的是自己,而

原创 Python xrange與range的區別

xrange用法和range完全一樣,不同的是range生成的是一個list對象,而xrange生成的是一個生成器。 在處理很大的數字序列的時候,xrange會比range性能高很多,因爲不用一上來就開闢很大的內存空間。 --------

原创 繼承和組合

C++的“繼承”特性可以提高程序的可複用性。正因爲“繼承”太有用、太容易用,纔要防止亂用“繼承”。我們要給“繼承”立一些使用規則:   一、如果類A 和類B 毫不相關,不可以爲了使B 的功能更多些而讓B 繼承A 的功能。   不要覺

原创 詳細講述python自省函數getattr的用法

這兩天看了公司的老代碼,發現有大量的在用getattr….  雖然在不得已的時候,也會考慮用getattr,只是沒這麼頻繁而已….     這邊的getattr主要是用在函數調用上,比如一個簡單的rpc服務,裏面註冊了N個函數,這時候,客

原创 C++類的構造函數和析構函數的調用順序

有時候我們做一些筆試或者是面試中可能會遇到定義一些類,然後叫你寫出類的構造函數和析構函數調用順序。這時候我們就需要對這個有了解才能夠正確的做出來。先看看下面的一段代碼。 #include <iostream> using namespa

原创 Python 文本挖掘:使用gensim進行文本相似度計算

在文本處理中,比如商品評論挖掘,有時需要了解每個評論分別和商品的描述之間的相似度,以此衡量評論的客觀性。 評論和商品描述的相似度越高,說明評論的用語比較官方,不帶太多感情色彩,比較注重描述商品的屬性和特性,角度更客觀。 那麼Pyth

原创 Python內存池管理與緩衝池設計

Python是一門開發效率很高的語言,而且其既下里巴人,又陽春白雪。也就是說這門語言只要稍加學習就可以上手開發,而深入探究也會發現Python有很多高深的東西。最近讀了《Python源碼剖析》,收穫良多,今天就把Python的內存管

原创 C語言中的未定義行爲

 C語言中的未定義行爲(Undefined Behavior)是指C語言標準未做規定的行爲。同時,標準也從沒要求編譯器判斷未定義行爲,所以這些行爲有編譯器自行處理,在不同的編譯器可能會產生不同的結果,又或者如果程序調用未定義的行爲,可能

原创 C++類內存分佈

書上類繼承相關章節到這裏就結束了,這裏不妨說下C++內存分佈結構,我們來看看編譯器是怎麼處理類成員內存分佈的,特別是在繼承、虛函數存在的情況下。 工欲善其事,必先利其器,我們先用好Visual Studio工具,像下面這樣一步一步來:

原创 多表聯合查詢(join、union等)

內部連接 inner join 兩表都滿足的組合 full outer--全連.兩表相同的組合在一起,A表有,B表沒有的數據(顯示爲null),同樣B表有 A表沒有的顯示爲(null) A表 left join B表--左連,以A

原创 在遍歷中使用 iterator/reverse_iterator 進行 Erase 的用法

衆所周知,在使用迭代器遍歷 STL 容器時,需要特別留意是否在循環中修改了迭代器而導致迭代器失效的情形。下面我來總結一下在對各種容器進行正向和反向遍歷過程中刪除元素時,正確更新迭代器的用法。本文源碼:https://code.csdn.