關於 python 中的 self

在 python 物件方法中,如果存取一個 class 或者 instance 中的變數, 那麼在物件方法宣告參數時,就必須要有一個 self 當作第一個參數。 大約長得像下面這樣: class Person: def __init__(self, name, age): self.name = name self.age = age 看到這個例子中的 self 其實與其他語言如: java »

lambda 與邱奇數

lambda 這幾天研究了一下 lambda 之後,發現 lambda 根本不只是匿名的函數這麼簡單而已。在很早之前邱奇就很想用數學表達世界上所有的事情。而當中為為了設計一套方法來判斷什麼樣的東西是可以拿來被計算的,lambda 就被獨立出來發展了。 而 lambda 運算其實包含的元素其實很簡單,只有包含兩個東西,就是變數跟函數而已。 先講一下如何表示一個 lambda 表達式 ( lambda term ),接著舉幾個例子就能很快看懂這套數學系統了。 lambda 表達式的規則(以下用 t 來代表 lambda 表達式,變數用 »

python 的 iterator

for 迴圈跟 iterator (可走訪物件、迭代器) 很多人在初學 python 的時候,都會搞不懂 for 迴圈到底是在做些什麼 初學 python 應該會看到這樣的 for 迴圈 for i in range(10): print(i) i 從 0 遞增到 9,然後每遞增一次,就執行 »

Ruby, Python, NodjJS, PHP 小看法

最近在 Codecademy 把 Ruby 這個我沒學過的語言給跑了一遍,之前我是覺得這語言有點醜啦,但深入了解一下之後,我發現是有他的哲學存在的。 所以我現在想稍微比較一下我碰過的語言,比較一下社群的生態 Ruby 先拿 Ruby 來聊聊,因為才正剛好跑完一趟他的教學。一開始我看到 Ruby 的 Block 是用 end 結束,我就聯想到 Pascal 這個號稱當代最美的程式語言。 Pascal 真的很美,也幾乎都做得很好,但是美中不足的就是 begin »

PHP 對空字串的 json_encode 跟 json_decode

這兩天好好的研究一下 php 的 source code ,接著打算試著回饋補釘給 php 上游 因此我到 php bug reporting 找了一個看起來蠻簡單的 bug 來修 傳送門 把重點整理出來一下 Test script: --------------- var_dump( json_decode( json_encode( "" ) ) ); Expected result: ---------------- null »