從C++到Python (一)I/O與變數
首篇部落格。
前幾日看到舍友轉載的文章的觀點:“一名合格的電腦專業的大學畢業生,要寫至少300篇部落格”。雖然不敢苟同,但讓我重新思考部落格的作用,便決定仿效一下,加上最近也在學習python,於是就有了這個系列。
博主曾經學過C++與資料結構,有編程基礎,對於新的語言python瞭解也不多,只知道網路爬蟲、機器學習這些都有關係。參考了眾多網站,最後決定向廖雪峰老師的網站學習——廖雪峰的官方網站
對於有基礎的電腦人來說,安裝還有IDE搭建不是難事。subline好是好,但是博主更喜歡用 IDLE 配合 F5 ,初學者的 代碼量不會這麼多。(加上膚色比較白
接觸後,只有一個感覺——Python比起C++方便不少
下面是一個列印的例子,我們看到python只需要一行就直接簡潔明列印出來了。
print('Hello,world!')
#include<iostream>std::cout << "Hello,world!" << endl; return 0; //最少三行的可運行列印語句
而Python的變數聲明就更厲害了:
a = 1 t_007 = 'T007'#動態語言不用聲明,還可以多次賦值成不同類型
a = 'ABC'b = aa = 'XYZ'print(b)
那麼,a指向'ABC',b指向a指向的地方。然後a去指向'XYZ',所以b還是'ABC'。
靜態語言,C++和Java,和動態語言,JS和python對於變數的處理有著根本的不同。拿衣櫃舉例子,靜態語言是分配衣櫃,每個衣櫃有每個衣櫃的名字。每個變數對應一個變數值。而動態語言則是鑰匙和衣櫃的關係,開啟一個衣櫃,可以用很多把鑰匙。
那動態語言的除法怎麼辦呢。會一直浮點嗎。其實python把C++的注釋符號變成了“地板除”,10 // 3 = 3 ,就相當於整數除法了。
順帶一提,Python還沒有整數大小和浮點數大小限制。 有種觀點認為,對於每一種程式設計語言,打代碼時節省下來的時間。會更多作用在...運行時上邊。這也就解釋了為什麼C語言到現在還有這麼高使用率。
不過隨著之後硬體的發展整合,更簡便的開發才是更加進步的語言也說不定。
------------------------------------------------
祝好。 2018.2.1 柯裡昂
下一篇:從C++到python (二)字元編碼
上一篇:沒有了