22 3月 2009

Python & Java 程式碼疊疊樂之一

個月以來我一直在工作之餘自學 Python。這套程式語言在國內的資源很少,所以許多文件都是原文寫就。但畢竟自己總是外文系畢業的,所以這倒是不對我造成什麼困擾。

與此同時,也因為 Java 和 Python 一樣都是屬於物件導向 (Object-oriented) 的語言。所以我在學習 Python 的同時,也摸索著 Java 的同一功能的實作方式,並且記在一本很有趣的筆記本上。我把筆記本的左頁寫著 Java 該功能的概念和實作法;右頁則是記著在 Python 中的實作方式。

兩個月過去,自己用 Python 配合 wxPython 開發自己的第一支「有圖形介面」(GUI) 的程式給自己工作室使用!但是對使用 Java ,仍然不是一個很有自信的語言。

今天,終於排到了電腦補習班的 Java 課,開始「真正地」跟老師學習這套號稱簡單,實則「眉角」很多的程式語言!為了繼續維持這種「同時學兩種語言」的感覺,從現在開始,就把每次的 Java 作業,同時也實作一份 Python 的版本,放在這裡當做是筆記。同時這種「疊疊樂」的行為,也的確是所有宅男會對自己手邊的新玩意兒做的事情呀!

如果在少少的讀者中有人看出了什麼問題,因而得到指教的話,那對自己也是好事一件呢。

本週的 Java 作業:變數的屬性和 System.out.println() 的功能!
---------------------------------------------------------------
public class dataType {
public static void main (String [] args){

System.out.println("整數");
byte b = 7;
short s = 77;
int i = 777;
long l = 7777;
System.out.println("byte: " + b);
System.out.println("short: " + s);
System.out.println("int: " + i);
System.out.println("long: " + l);
System.out.println();//空一行

System.out.println("浮點數");
float f = 7.0f;
double d = 7.7;
System.out.println("float: " + f);
System.out.println("double:" + d);
System.out.println();//空一行

System.out.println("字元");
char c = 'P';
System.out.println("char: " + c);
System.out.println();//空一行

System.out.println("布林值");
boolean boo = true;
System.out.println("boolean:" + boo);
System.out.println(); //空一行

}
}


---------------------------------------------------------------
同樣的功能,在 Python 下的寫法就簡單許多!

#!/usr/bin/python
# -*- coding: utf-8 -*-
# Filename: dataType.py

print "整數"
b = 7
s = 77
i = 777
l = 7777
print 'byte: ', b
print 'short:', s
print 'int: ', i
print 'long: ', l
print '' #空一行


print "浮點數"
f = 7.0
d = 7.7
print 'float:', f
print 'double:', d
print '' #空一行

print "字元";
c = 'P'
print 'char:', c
print '' #空一行

print "布林值"
boo = True
print 'boolean:', boo
print '' #空一行


這次最有趣的發現是原來 Java 的布林值是 true/false 而 Python 是用大寫的 True/False!