<?xml version="1.0" encoding="UTF-8"  standalone="yes" ?>
<rss version="2.0">
	<channel>
		<title>社群: 電腦中心電腦科 - 文件區</title>
		<description>長榮高級中學數位平台 RSS feed provider</description>
		<language>zh-tw</language>
		<link>http://203.64.21.192/board.php?courseID=99&amp;f=doclist&amp;folderID=</link>
	<item>
		<title>認識 Arduino</title>
		<link>http://203.64.21.192/board.php?courseID=99&amp;f=doc&amp;cid=1739</link>
		<description>截錄自http://coopermaa2nd.blogspot.tw/2010/12/arduino-arduino.htmlArduino 筆記 – 認識 Arduino什麼是 Arduino？它的特色為何？可以拿來做什麼應用？本文將回答這些基本的問題，帶你認識 Arduino。分享一個 Arduino 教學心得：學習 Arduino 最好的方法，就是買張 Arduino 控制板和一些電子零件，捲起袖子實際動手做，唯有如此，才能夠真正體驗 Arduino。所以，本文不會花太多的篇幅在文字上作描述，將很快速的介紹 Arduino，讓你在最短的時間內認識 Arduino。什麼是 Arduino如下圖，Arduino 是一張微控制器板子(microcontroller board)，大約一個手掌大。使用者可以在 Arduino 板子上接上各種電子裝置，例如 LED 燈、喇叭、馬達、開關、溫濕度感測器、紅外線發射與接收器、LCD 顯示裝置，以及 Ethernet, WiFi, XBee, Bluetooth, RFID, GPS 等各種通訊模組。若再配合撰寫一些自動控制的程式，就能利用 Arduino 做出各式各樣的自動控制應用，例如利用溫度感測器控制風扇的運轉、使用可變電阻控制燈光的明暗、控制馬達的轉速、利用紅外線遙控家電／ 利用伺服機(Servo)控制機械手臂或機器人，以及製作自走車、飛行器等等。Arduino 的特色簡單來說，Arduino 有下列這些特色：開放源碼。不僅軟體是開放源碼，連硬體也是開放的。開發軟體用的 IDE 可免費下載，Arduino 的電路設計圖也可以從網路上下載。簡單好用資源多。傳統上，要開發微控制器的程式，開發者需要具備電子電機相關科系的背景，一般人不容易進入這個世界。Arduino 進入門檻低，即便沒有電子電機相關科系的背景，也可以很容易學會使用 Arduino。再者，由於 Arduino 開放的精神，很多人都樂於分享他們的作品，所以網路上有非常多的資源。很多時候，我們只要參考網友的作品，配合自己的需求調整一下設計，就可以在短時間內完成自己的作品。物美價廉。一張微控制器板子動輒 3000 元台幣，相較於這類微控制板子，Arduino 控制板只要 30 美元左右，可以說是俗擱大碗。Arduino 的應用Arduino 的應用非常多，不勝枚舉，底下只舉幾個我所知的應用：LilyPad&amp;nbsp;- 可穿戴在身上的 Arduino，這東西應該可以拿來做鋼鐵人的發光手套。&amp;nbsp;&amp;nbsp;Easy Robot 簡易機器人&amp;nbsp;- 一個很簡單的機器人自走車，網路上有完整的製作教學。Robot ARM&amp;nbsp;- 使用 Arduino 控制機械手臂。ArduCam&amp;nbsp;- 利用 Arduino 遙控相機Drum Kit&amp;nbsp;- 電子鼓，有了 Drum Kit，你也可以搖身一變成為一個鼓手ArduCopter&amp;nbsp;- 四軸直升機，哇嗚！這東西看了真是令人興奮，有錢應該買一台。Home Power Monitoring&amp;nbsp;- 家庭用電監測系統，利用電流感測器(Current Transducer)監測家庭用電，並且透過 Ethernet 把用電數據傳到網路上，以 Flash 圖表呈現，讓使用者透過瀏覽器就可以看到家裏的用電情形。&amp;nbsp;&amp;nbsp;Arduino 硬體規格底下說明 2010 年最新的板子 Ardunio UNO 的硬體規格。Arduino UNO 的外觀如下：硬體規格：微控制器ATmega328工作電壓5V輸入電壓(建議)7-12V輸入電壓(限制)6-20V數位 I/O Pins14 支(其中有 6 支腳位可提供 PWM 輸出)類入 Input Pins6 支I/O pin 直流電流40mA3.3V pin 直流電流50mAFlash 記憶體32KB, 其中 0.5KB 拿去給 bootloader 使用SRAM2KBEEPROM1KB時脈16MHz數位 I/O Pins:14 支數位 I/O Pins 可以當作 input 使用，也可以當作 output 使用，使用方法是透過&amp;nbsp;pinMode(),digitalWrite(), and&amp;nbsp;digitalRead()&amp;nbsp;這幾個函式。這 14 支數位 I/O Pins，其中幾支腳有特殊的功能:Serial 通訊0(RX) 和 1 (TX) 這兩支腳。用來接收(RX)與傳輸(TX) TTL 訊號的序列資料。這兩支腳也連接到 USB Converter 晶片中。外部中斷2 和 3 這兩支腳。這兩支腳可以利用外部事件觸發中斷。詳細內容請參考&amp;nbsp;attachInterrupt()&amp;nbsp;函式。PWM3, 5, 6, 9, 10 和 11 共六支腳。透過&amp;nbsp;analogWrite()&amp;nbsp;函式可以提供 8-bit 的 PWM 輸出。SPI10 (SS), 11 (MOSI), 12 (MISO) 和 13 (SCK) 這四支腳。這四支腳搭配&amp;nbsp;SPI Library&amp;nbsp;可提供 SPI 序列通訊。LED13。內建一顆 LED，當 pin 腳為 HIGH 時，LED 打開，當 pin 腳為 LOW 時，LED 關閉。類比輸入 Pins:Arduino Uno 有 6 支類比輸入腳，標記為 A0 到 A5，每支腳都可提供 10 位元的解析 (即 1024 種不同的數值)。這些腳位所用的參考電壓預設為 0 到 5V，不過參考電壓也是可以更改的，方法是透過 AREF 腳和analogReference() 函式。另外，有幾支腳也有特殊功能:I2C4 (SDA) 和 5 (SCL) 這兩支腳。透過&amp;nbsp;Wire library&amp;nbsp;可以提供 I2C 通訊。其它:AREF類比輸入的參考電壓，搭配&amp;nbsp;analogReference() 函式一起使用。Reset當 Reset 腳為 LOW 時，微控制器會重置。Arduino 軟體開發環境Arduino 的軟體開發環境是開放源碼的 IDE (Open-source IDE)，可以在它的官網免費下載，它所用的程式語言語法類似於 C/C++，而且 Arduino IDE 是跨平台的，有 Windows, Macintosh OSX 和 Linux 的版本。Arduino IDE 的軟體介面如下:Arduino 的程式叫作 Sketch，Sketch 意為腳本、素描、速寫或小品，因為 Arduino 程式都小小一個，不是很大，之所以取名為 Sketch，猜想大概有小品的意思。Arduino 程式主要由 setup() 和 loop() 這兩個函式組成:1void setup() {2&amp;nbsp;&amp;nbsp;// setup 函式只會跑一次3}4&amp;nbsp;5void loop() {6&amp;nbsp;&amp;nbsp;// loop 函式會不斷的執行7}因為 setup() 和 loop() 是每支 Arduino 程式都會用到的兩個函式，為了方便，Arduino IDE 已經幫大家準備好程式骨架了，我們在寫 Arduino 程式的時候，可以直接點選&amp;nbsp;File &amp;gt; Examples &amp;gt; 1.Basics &amp;gt; BarMinimum&amp;nbsp;這個範本檔，另存新檔後，然後再填寫 setup() 和 loop() 兩個函式的內容即可。Arduino 硬體版本Arduino 控制板 (I/O Boards)有很多種版本，我們在使用的時候，可以依據自己的需求(例如用途、尺寸、容量、I/O 腳數量等)挑選適當的板子。底下條列幾款 Arduino 控制板，更多的資訊請上&amp;nbsp;Arduino 官網查詢。Arduino Uno&amp;nbsp;Arduino Mega&amp;nbsp;Arduino Duemilanove&amp;nbsp;Arduino Fio&amp;nbsp;Arduino Nano 3.0&amp;nbsp;LilyPad Arduino 02&amp;nbsp;Arduino Mini&amp;nbsp;Arduino BT (BlueTooth)&amp;nbsp;Arduino 擴充板 (Shields)Shields 是擴充板，就像好像堆積木一樣，擴充板可以直接疊在 Arduino 控制板上，讓 Arduino 增加更加的能力，例如控制搖桿、通訊、記憶卡、LCD 顯示、MP3 音樂播放等等。底下條列幾款擴充板，更多的資訊請上&amp;nbsp;Arduino Shield List&amp;nbsp;網站查詢。Ethernet Shield&amp;nbsp;提供 Ethernet 上網能力&amp;nbsp;MP3 Shield&amp;nbsp;提供 MP3 音樂解碼能力&amp;nbsp;Input Shield&amp;nbsp;提供 Joystick 搖桿、按鍵及震動馬達能力&amp;nbsp;TouchShield&amp;nbsp;提供 OLED 觸控螢幕顯示能力&amp;nbsp;&amp;nbsp;XBee Shield&amp;nbsp;提供 ZigBee 無線通訊能力&amp;nbsp;GPS Shield&amp;nbsp;提供 GPS 定位能力&amp;nbsp;WiShield&amp;nbsp;提供 Wi-Fi 上網能力&amp;nbsp;microSD Shield&amp;nbsp;提供 microSD 儲存媒體能力&amp;nbsp;AeroQuad Shield&amp;nbsp;提供三軸陀螺儀與加速計的控制&amp;nbsp;Smart Energy Groups SEGMeter&amp;nbsp;提供家庭與工業用電量測能力   </description>
		<pubDate>Tue, 01 Dec 2015 09:10:56 +0800</pubDate>
	</item>
	<item>
		<title>Python - 十分鐘入門</title>
		<link>http://203.64.21.192/board.php?courseID=99&amp;f=doc&amp;cid=1738</link>
		<description>開始囉!!(本篇引述來自http://tech.marsw.tw/blog/&amp;nbsp;
ITRY | MARSW)安裝程式&amp;nbsp; (本篇以2.7.10版本為例)•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Windows：官網下載2.7.x版本或最新版本3.5.x。在環境變數加上C:\Python27;C:\Python27\Scripts。(如下圖)•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mac&amp;nbsp;內建2.7.5•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Unix:內建3.x•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Online：Koding&amp;nbsp;執行第一個程式Hello World有兩種選擇：•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;直接開啟直譯器上輸入一行行程式碼，Enter執行o&amp;nbsp;&amp;nbsp;&amp;nbsp;
Windows:開啟Python(command line)o&amp;nbsp;&amp;nbsp;&amp;nbsp;
Mac/Unix:Terminal輸入python -輸入print &quot;Hello World&quot;•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;跟以往一樣寫一個.py的檔案，執行python my_first_python.pymy_first_python.py# encoding:
utf-8&amp;nbsp;print
&quot;Hello World&quot;!!!注意中文的檔案要加上# encoding: utf-8WINDOWSMAC/UNIX&amp;nbsp;//2014-10-20補充網路上看到一張圖片大約40行的code也可以很清楚的供有程式基礎的人快速了解Python&amp;nbsp;簡中對照版(http://wiki.woodpecker.org.cn/moin/ZqQuickIntoPy?action=AttachFile&amp;amp;do=view&amp;amp;target=120417-coffeeghost-q-in-py.png)之後的部分，會更詳細介紹Python好用的功能，將以.py的檔案形式展示程式碼。&amp;nbsp;[語法]python不需要任何代表結尾的符號(ex;)python不需要先指定變數的型態，之後也可以任意轉換型態python可以透過=,+=,-=直接賦值，也可同時給多個變數賦值單行註解為#,多行註解則用&quot;&quot;&quot;開頭與結尾，多運用註解可以幫助你或其他人看懂你的程式碼。#
encoding: utf-8&amp;nbsp;&quot;&quot;&quot;這是一個簡單的python程式介紹基本的語法&quot;&quot;&quot;x
= 3x
+= 2x
-= 1print
xx,y
= 99.99,5print
x,yOutput:499.99 5&amp;nbsp;[數據類型]list是可以隨意更動大小的陣列，可透過append增加。python的list提供很多好用函式：•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; len()可以算list長度•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sum()可以計算list中所有數值的加總(但list中的元素都需為數值，不可與字串混合)•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count則是可以計算list中某個元素出現次數#
encoding: utf-8&amp;nbsp;my_list
= []my_list.append(1)my_list.append(2)my_list2
= [55.55,&quot;Hi&quot;,3,99,222,222]my_list2[0]=333.333&amp;nbsp;print
len(my_list),sum(my_list),my_list2.count(222)print
my_list2[0],my_list2[-1],my_list2[1:3],my_list2[2:]&amp;nbsp;Output:2 3 2333.333 222 [&#039;Hi&#039;, 3] [3, 99, 222, 222]dictionary像是hash-table一樣有一個key對應一個變數#
encoding: utf-8&amp;nbsp;passwd={&#039;Mars&#039;:00000,&#039;Mark&#039;:56680}passwd[&#039;Happy&#039;]=9999&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;passwd[&#039;Smile&#039;]=123456&amp;nbsp;del
passwd[&#039;Mars&#039;]passwd[&#039;Mark&#039;]=passwd[&#039;Mark&#039;]+1&amp;nbsp;print
passwdprint
passwd.keys()print
passwd.get(&#039;Tony&#039;)Output:{&#039;Happy&#039;: 9999, &#039;Smile&#039;: 123456, &#039;Mark&#039;: 56681}[&#039;Happy&#039;, &#039;Smile&#039;, &#039;Mark&#039;]Noneset則是集合，可以進行聯集、交集、差集等運算#
encoding: utf-8&amp;nbsp;admins
= set()users
= {&#039;Smile&#039;, &#039;Tony&#039;,&#039;Happy&#039;,&#039;Sherry&#039;,&#039;Allen&#039;,&#039;Andy&#039;, &#039;Mars&#039;}admins.add(&#039;ihc&#039;)admins.add(&#039;Mars&#039;)&amp;nbsp;print
admins &amp;amp; usersprint
admins | usersprint
admins ^ usersprint
admins - users&amp;nbsp;&amp;nbsp;print
users - admins&amp;nbsp;&amp;nbsp;Output:set([&#039;Mars&#039;])set([&#039;Allen&#039;, &#039;Andy&#039;, &#039;Smile&#039;, &#039;Mars&#039;, &#039;Tony&#039;, &#039;ihc&#039;, &#039;Happy&#039;, &#039;Sherry&#039;])set([&#039;Andy&#039;, &#039;Allen&#039;, &#039;Tony&#039;, &#039;Smile&#039;, &#039;Happy&#039;, &#039;ihc&#039;, &#039;Sherry&#039;])set([&#039;ihc&#039;])set([&#039;Sherry&#039;, &#039;Andy&#039;, &#039;Allen&#039;, &#039;Tony&#039;, &#039;Smile&#039;, &#039;Happy&#039;])&amp;nbsp;[字串]字串可用雙引號&quot;或用單引號&#039;來進行標示#
encoding: utf-8&amp;nbsp;s
= &quot;Hello&quot;&amp;nbsp;s
+= &#039;World&#039;s1
= &quot;HelloWorld&quot;.replace(&quot;ll&quot;,&quot;1&quot;)s2
= &quot;Hello&quot;[0]+&quot;i&quot;print
s,s1,s2,len(s)Output:HelloWorld He1oWorld Hi 10其中python字串內建的分割函式string.split()很好用，可以將字串依指定的字元(字串)切割s3
= &quot;This is a sentence.&quot;s3_split=s3.split(&#039;
&#039;)print
s3_splitOutput:[&#039;This&#039;, &#039;is&#039;, &#039;a&#039;, &#039;sentence.&#039;]而中文的處理，我們可以透過unicode的編解碼來處理#
encoding: utf-8&amp;nbsp;s=&quot;台灣&quot;u
= s.decode(&#039;utf8&#039;)&amp;nbsp;print
&#039;台&#039;,s[0],u[0]print
u[0]==u&#039;台&#039;Output:台&amp;nbsp;?&amp;nbsp;台&amp;nbsp;#沒有解碼過的s是顯示不出來每一個&quot;中文字&quot;的True&amp;nbsp;[型別轉換、基本運算符]要注意的是，由於python不用特別宣告變數，要注意不能讓不同型別的變數同時運算ex: x+s會出錯，因為整數型態與字串型態，兩者是不能同時運算的#
encoding: utf-8&amp;nbsp;x=2**3y=3/2s=&quot;3&quot;print
ord(&#039;a&#039;),ord(&#039;c&#039;),chr(ord(&#039;a&#039;)+2)print
y,int(s)/2,float(s)/2,3%2print
str(x+y),str(x)+str(y)Output:97 99 c1 1 1.5 19 81&amp;nbsp;[Flow Control：判斷式、迴圈]再來就進入到程式設計中很重要的部分：流程控制也可以從這部分開始看到Python之所以容易閱讀的原因，每個流程的結尾是用冒號:屬於該流程底下的執行動作不需要任何括號，而是使用縮排縮排可以使用Tab或四格Space，但不可混用，建議是把編輯器設定成Tab對應四格空白縮排可以讓程式碼更容易閱讀，了解整個程式的架構&amp;amp;邏輯，也是寫程式重要的習慣之一。在python的判斷式中，and,or,not是邏輯運算子。python提供一個很好的函式range，範圍是左邊數字到右邊數字-1，在撰寫迴圈時可以更加快速。另外in函式可以用來判斷某個型別中是否有某個元素，非常的方便！#
encoding: utf-8&amp;nbsp;my_list=[]for
i in range(0,10):&amp;nbsp; &quot;&quot;&quot;//for(i=0;i&amp;lt;10;i++)&quot;&quot;&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;
my_list.append(i+1)if
my_list[0]==1 and len(my_list)&amp;lt;10:&amp;nbsp;&amp;nbsp;&amp;nbsp;
my_list[0]+=1&amp;nbsp;&amp;nbsp;&amp;nbsp;
print &quot;1 state&quot;elif
(10 in my_list) or not(len(my_list)==10):&amp;nbsp;&amp;nbsp;&amp;nbsp;
print &quot;2 state&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;
print &quot;range(i,j) is i~j-1&quot;else:&amp;nbsp;&amp;nbsp;&amp;nbsp;
print &quot;3 state&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
print &quot;none of above&quot;&amp;nbsp;for
i in my_list:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&quot;&quot;&quot;//for(i=0;i&amp;lt;my_list.length();i++)&quot;&quot;&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;
print i,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&quot;&quot;&quot;//cout&amp;lt;&amp;lt;my_list[i]&quot;&quot;&quot;printOutput:2 staterange(i,j) is i~j-11 2 3 4 5 6 7 8 9 10[自定義函式Function]python定義函式用def開頭，同樣以冒號:結尾，還有縮排。def
my_function(x,y):&amp;nbsp;&amp;nbsp;&amp;nbsp;
return x-10,y+10x,y
= my_function(10,20)print
x,yOutput:0 30&amp;nbsp;[類別Class]Class的初始化函式是由兩條底線包含著init做宣告。#
encoding: utf-8&amp;nbsp;class
Student:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
def __init__(self, name, grade, age):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
self.name = name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
self.grade = grade&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
self.age = age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
def set_name(self, name):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
self.name = name&amp;nbsp;&amp;nbsp;student_objects=[]student_objects.append(
Student(&#039;john&#039;, &#039;B&#039;, 15) )student_objects.append(
Student(&#039;dave&#039;, &#039;A&#039;, 12) )student_objects.append(
Student(&#039;jane&#039;, &#039;A&#039;, 10) )student_objects[0].set_name(&#039;John&#039;)&amp;nbsp;for
i in student_objects:&amp;nbsp;&amp;nbsp;&amp;nbsp;
print i.name,i.grade,i.ageOutput:John B 15dave A 12jane A 10&amp;nbsp;[導入外部資源import]可以用import直接導入整個python檔中所有的函式或是用from檔案import函式，插入特定的函式#
encoding: utf-8&amp;nbsp;import
sys &quot;&quot;&quot;插入sys檔案中所有函式，使用sys檔中的write函式前須加檔名&quot;&quot;&quot;from
time import time &quot;&quot;&quot;從time檔案插入time()函式，使用time()前不需要加檔名&quot;&quot;&quot;sys.stdout.write(
str(time()) + &quot;\n&quot; )Output:1409796132.99 #當下的time&amp;nbsp;[I/O]前例中已經看到很多使用print當Output的案例但print預設是印每一行就會加一個換行，要使用,才會在每次印出之間以空格取代要更自由一點，可以使用library中的write函式。#
encoding: utf-8&amp;nbsp;import
sysfile_in
= file(&#039;db.txt&#039;,&#039;r&#039;)file_out
= file(&#039;copy.txt&#039;,&#039;w&#039;)for
line in file_in:&amp;nbsp;&amp;nbsp;&amp;nbsp;
for i in range(0,len(line)):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
if line[i]!=&quot;\n&quot;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
sys.stdout.write(line[i]+&#039;,&#039;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
else:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
sys.stdout.write(line[i])&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
file_out.write(line[i])&amp;nbsp;sys.stdout.write(&quot;\n&quot;)file_in.close()file_out.close()&quot;&quot;&quot;#
db.txt11112222sssswwww5555&quot;&quot;&quot;Output:1,1,1,1,2,2,2,2,s,s,s,s,w,w,w,w,5,5,5,5,copy.txt內容和db.txt一樣。[例外處理&amp;nbsp;Exceptions Handling]#
encoding: utf-8&amp;nbsp;def
my_divide():&amp;nbsp;&amp;nbsp;&amp;nbsp;
try:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
10 / 0 #會讓程式出錯,所以需要特別handle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
except ZeroDivisionError:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
print &quot;不能除以0!!!&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;
else:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
print &quot;沒有任何錯誤&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;
finally:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
print &quot;無論有沒有例外都會執行這一行&quot;my_divide()Output:不能除以0!!!無論有沒有例外都會執行這一行&amp;nbsp;[排序]排序是用程式處理資料中最常用到功能，python提供了很方便的sort函式lambda是簡易型函式，只能回傳一個值，因此如果需要兩個值以上的排列順序，會用attrgetter#
encoding: utf-8&amp;nbsp;class
Student:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
def __init__(self, name, grade, age):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;self.name = name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
self.grade = grade&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
self.age = age&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
def set_name(self, name):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
self.name = name&amp;nbsp;&amp;nbsp;student_objects=[]student_objects.append(
Student(&#039;john&#039;, &#039;B&#039;, 15) )student_objects.append(
Student(&#039;dave&#039;, &#039;A&#039;, 12) )student_objects.append(
Student(&#039;jane&#039;, &#039;A&#039;, 10) )&amp;nbsp;student_objects.sort(key=lambda
i: i.grade)for
i in student_objects:&amp;nbsp;&amp;nbsp;&amp;nbsp;
print i.name,i.grade,i.ageprint&amp;nbsp;from
operator import attrgetter&amp;nbsp;student_objects.sort(key=attrgetter(&#039;grade&#039;,
&#039;age&#039;),reverse=True)&amp;nbsp;for
i in student_objects:&amp;nbsp;&amp;nbsp;&amp;nbsp;
print i.name,i.grade,i.ageprintOutput:dave A 12jane A 10john B 15john B 15dave A 12jane A 10________________________________________以上介紹包含了一些最常用到的python功能，給想快速轉換python的人一個入門文章。What&#039;s Next?有了以前學C的基礎後，其實後來要碰任何程式語言都很快，最快學習的方法都是「動手做」一個Project，邊做邊google該語言的程式語法之後再從頭開始「看文件」，從官網或是書上一步步把該程式語言的基礎打好動手做&amp;nbsp;提供一些遊戲化的關卡來當作練習•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CheckiO&amp;nbsp;一個以連環故事為主題的的Online Judge網站。•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The Python Challenge&amp;nbsp;根據提示解出下一關網址的闖關遊戲，借此練習Python技巧。•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sikuli -&amp;nbsp;程式語言大革命！用圖片寫程式！ 利用Sikuli可以設計出好玩的自動化程式&amp;nbsp;看文件•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Python Tutorial&amp;nbsp;第一堂（1）揭開序幕 很完整的中文教學•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Learn Python The Hard Way&amp;nbsp;英文經典教材•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Invent with Python&amp;nbsp;透過開發遊戲學習Python&amp;nbsp;























































































































































































































































































































































































































































































































































































































































































&amp;nbsp;   </description>
		<pubDate>Tue, 01 Dec 2015 08:39:33 +0800</pubDate>
	</item>
	</channel>
	</rss>
