Python 的變數抑是值,攏有伊家己的型態。有時,咱想欲共一寡物件囥做伙。比如講,平方的數字,囥做一陣,欲按怎做? 這時,咱就愛用名單(Lists)這種資料型態(data type)。
佇頂懸的例,squares 是一咧變數,伊的型態是 Lists,內底囥 5 的數字。
Lists 是一種有順序 (sequence) 的型態。也就是講,這 5 的數字是照排隊个,1 是頭一个,4 是第 2 个,25 是第 5 个,嘛是上尾一个。欲按怎提內底的物咧? 就是愛用索引,伊的用法是
squares 這咧名,後壁綴一對方括號 [ ],內底囥索引。和咱慣勢的無仝,索引 0 是頭一个,1 是第二个,賰个攏是照順序加--起哩。
Lists 閣有一種特別的運算方式,號做切片(Slicing)。你會使共一的 Lists 想做一條si̍ok-pháng(Toast, 華語: 吐司),你家己手提一支刀去切這條pháng,會使干焦切頭前薄縭絲一細片,嘛會使切頭前厚--厚厚一大片。抑是切後壁面,甚至對中央切一塊,攏會使得。
Slicing 是一種真趣味,閣真有路用的手路,咱愛共伊記牢牢。
-1 是對尾溜算--來頭一个,-3 是尾溜算來第三个。所以你知影,索引 負數是對尾仔算來。毋過,無 -0 這款物件。-1 就是上尾个。
squares[0:1] 哪會共 squares[0] 仝呢? 原來,slice 的規則是 "前關後開",也就是佇 : 後壁的數字,無算入--來,是予人切掉的部分。所以 [0:1] 就賰 slice[0], [2:4] 就賰 slice[2], slice[3]。
slice 切出來物件的若有超過一个,就變做另一个 Lists。
仝款,負數嘛會使用用佇 Slicing:
: 後壁無寫,表示原來 Lists 有偌長,就共伊攏總囥--入來。
兩的 Lists, 會使用加號 + 共 in 敆--起來。
你嘛會使囥新的佇後壁:
抑是換掉內底的值:
以上一寡例,是uì Python Tutorial 提來个,逐家有興趣會使去參考
2017年6月10日 星期六
2017年6月5日 星期一
Python ê 基礎 - 資料型態
Python 裡的變數,抑是值,攏有伊的型態。無仝的型態袂使濫做伙用。比論講,數字是一種型態,字串是另外一種型態,咱看一的例:
>>> 3 + 5
8
>>> 3 + "1"
Traceback (most recent call last):
File "", line 1, in
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>>
>>> 3 + 5
8
>>> 3 + "1"
Traceback (most recent call last):
File "
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>>
3 + 5, 兩个攏是數字,Python 就乖乖仔共結果算出來.
3 + "1",前一咧是數字,後一咧是字串,硬欲濫做伙,Python 就應你講袂使: "+" 這咧運算符號,袂當用佇 'int' and 'str'
型態有濟濟種,有數字 (Numbers), 字串 (Strings), 清單 (Lists, 台羅: lí-su-to),....。當然,實際上分閣較濟,嘛較幼。親像數字,閣有分整數 (int) 和浮點數 (float)。毋過,有時型態較相倚的值,Python 會自動佮你轉。比如講:
>>> 3 + 7.1
10.1
>>> type(3)
<class 'int'>
>>> type(7.1)
<class 'float'>
<class 'float'>
>>> type(10.1)
<class 'float'>
<class 'float'>
頂懸的 type(),是用來檢查一咧值的型態。咱看著 3 是 int,7.1 是 float. 毋過,Python 袂講 3 + 7.1 毋著,伊自動佮 3 轉做 float 算出答案 10.1,嘛是 float
後擺,咱會沓沓仔介紹一寡基礎的資料型態。
後擺,咱會沓沓仔介紹一寡基礎的資料型態。
2017年5月24日 星期三
Python ê 基礎 - 變數
佇咧寫 Python 程式, 上基礎就是變數. 變數是暫時囥物件的所在. Python 佇運行過程中, 有時一寡運算的結果, 咱愛先留个, 後壁才提出來用。比論講:
$ python3
>>> sum = 2 + 3
>>> sum
5
>>> result = sum * 6
30
>>> print(sum)
5
>>> print(result)
30
$ python3
>>> sum = 2 + 3
>>> sum
5
>>> result = sum * 6
30
>>> print(sum)
5
>>> print(result)
30
另外的限制, 是有一寡 Python 的保留字, 親像 for, while, if, end, 這是 python 留--落來欲家己用个.
莫踏--著這寡限制, 你會使號凊彩你佮意的名. 毋過, 上好是愛有小可仔意思, 和程式 uì 頭到尾的理路有關係. 因為你可能寫了擲--咧, 半年了後才閣抾轉來看. 嘛有可能你的程式真有路用, 真濟人用, 愈寫愈大, 有千萬的變數, 落尾煞無人知影你的變數佇創啥物, 連你家己嘛袂記得。比如講:
a = 2 + 3
莫踏--著這寡限制, 你會使號凊彩你佮意的名. 毋過, 上好是愛有小可仔意思, 和程式 uì 頭到尾的理路有關係. 因為你可能寫了擲--咧, 半年了後才閣抾轉來看. 嘛有可能你的程式真有路用, 真濟人用, 愈寫愈大, 有千萬的變數, 落尾煞無人知影你的變數佇創啥物, 連你家己嘛袂記得。比如講:
a = 2 + 3
b = 7 + 9
c = a * b
和
sum1 = 2 + 3
sum2 = 7 + 9
result = sum1 + sum2
2017年5月16日 星期二
進一步 ê 數學, 順紲介紹程式庫
咱頂擺有講著基礎數學的 +, -, *, / 運算. 毋過, 數學的物件閣真濟, 按呢是無夠。
像指數較簡單, 用 ** 就會使, 像平方 22 , 立方23, 就是
$ python3
>>> 2**2
4
>>> 2**3
8
無論偌濟次方, 攏無siáng 問題. 若是開平方 √2咧? 開立方咧? 當然, 咱會使用數學智識, 開平方就是指數 1/2, 開立方就是指數 1/3/, 所以
>>> 2**(1/2)
1.4142135623730951
>>> 2**(1/3)
1.2599210498948732
閣落來, 像對數[tuì-sòo] Log, 圓周率[înn-tsiu-lu̍t] π, 幾何 的 sin, cos, 這寡無法度逐項攏用數學智識uì上基礎來推論出來, 傷了工, 閣僫做, 嘛失去學程式的意義.
學程式有一咧重要的觀念: 莫重複發明輪仔。
學寫程式, 就是欲利用電腦削削叫个計算速度, 閣有濟濟人寫好的家私. 你想欲做的代誌, 檢采較早有人想過, 嘛做出來也. 咱若會當揣著 in 寫好的家私, 直接捎來用, 會使咱省足濟時間咧。
學會曉 Python, 你就徛佇這咧磅空口, 這磅空內有濟濟个軟體寶藏. 看你欲入來無? 欲行外遠? 內面个寶藏, 你一世人嘛用袂了。
咱以數學來講, 若欲較深咧, 會使利用 math 這咧 module. Module 這个概念, 後擺咱會閣較詳細介紹, 佇遮先[sing]知使用方式.
欲使用 math 這个 module, 咱愛先共伊掠入來目前个環境, 這咧命令號做 import (進口).
$ python3
>>> import math
紲落來, 你就會使用伊內底个家私. 伊的物件, 攏是 math.XXX() 个樣, 比如講, 欲算對數 log2 10, 就是
>>> math.log(10, 2)
3.3219280948873626
>>> math.log2(10)
3.321928094887362
>>>
頂兩个是仝款ê, 只是 math.log2() 是專門用佇 log2 2 base 个, math.log() 第二个是會使變ê, 你欲tī 2, 3, 4, ... 啥物 base 攏會使.
你若袂用特殊个固定數 (constant), 親像圓周率 π, 自然對數 e,
>>> math.pi
3.141592653589793
>>> math.e
2.718281828459045
像指數較簡單, 用 ** 就會使, 像平方 22 , 立方23, 就是
$ python3
>>> 2**2
4
>>> 2**3
8
無論偌濟次方, 攏無siáng 問題. 若是開平方 √2咧? 開立方咧? 當然, 咱會使用數學智識, 開平方就是指數 1/2, 開立方就是指數 1/3/, 所以
>>> 2**(1/2)
1.4142135623730951
>>> 2**(1/3)
1.2599210498948732
閣落來, 像對數[tuì-sòo] Log, 圓周率[înn-tsiu-lu̍t] π, 幾何 的 sin, cos, 這寡無法度逐項攏用數學智識uì上基礎來推論出來, 傷了工, 閣僫做, 嘛失去學程式的意義.
學程式有一咧重要的觀念: 莫重複發明輪仔。
學寫程式, 就是欲利用電腦削削叫个計算速度, 閣有濟濟人寫好的家私. 你想欲做的代誌, 檢采較早有人想過, 嘛做出來也. 咱若會當揣著 in 寫好的家私, 直接捎來用, 會使咱省足濟時間咧。
學會曉 Python, 你就徛佇這咧磅空口, 這磅空內有濟濟个軟體寶藏. 看你欲入來無? 欲行外遠? 內面个寶藏, 你一世人嘛用袂了。
咱以數學來講, 若欲較深咧, 會使利用 math 這咧 module. Module 這个概念, 後擺咱會閣較詳細介紹, 佇遮先[sing]知使用方式.
欲使用 math 這个 module, 咱愛先共伊掠入來目前个環境, 這咧命令號做 import (進口).
$ python3
>>> import math
紲落來, 你就會使用伊內底个家私. 伊的物件, 攏是 math.XXX() 个樣, 比如講, 欲算對數 log2 10, 就是
>>> math.log(10, 2)
3.3219280948873626
>>> math.log2(10)
3.321928094887362
>>>
頂兩个是仝款ê, 只是 math.log2() 是專門用佇 log2 2 base 个, math.log() 第二个是會使變ê, 你欲tī 2, 3, 4, ... 啥物 base 攏會使.
你若袂用特殊个固定數 (constant), 親像圓周率 π, 自然對數 e,
>>> math.pi
3.141592653589793
>>> math.e
2.718281828459045
賰个閣有足濟 function,像 cos(), sin(), tan(), .. 三角函數(Trigonometric functions), 求上大公因數 gcd(), 角度單位轉換 degrees(), radians(), 濟佮講袂了.
若是按呢, 欲按怎使用佮查咧? 你會使用網路頂 ê 文件, Python 个 文件做囉真好, 你會使去遮查, 嘛會使直接佇 Python3 shell 中央(tiong-ng), 用 help() 來查
若是按呢, 欲按怎使用佮查咧? 你會使用網路頂 ê 文件, Python 个 文件做囉真好, 你會使去遮查, 嘛會使直接佇 Python3 shell 中央(tiong-ng), 用 help() 來查
>>> help(math)
....
>>> help(math.log)
先用 help(math) 大概 [tāi-khài] 查 math 有啥物函數, 揣著你愛个, 比論講 log(), 才閣用 help(math.log) 查伊的詳細用法.
當然, 數學遐闊, 嘛毋是 math 一咧 module 有tha̋ng 總包. 好佳哉 Python 嘛毋是干焦 math 這一咧數學函數, 基礎个閣有 numbers 來扞 數字个處理, 像複數 (complex number), cmath, decimal, fractons, random, statistics. 橫直, 等你欲用著个時才去揣就好阿
當然, 數學遐闊, 嘛毋是 math 一咧 module 有tha̋ng 總包. 好佳哉 Python 嘛毋是干焦 math 這一咧數學函數, 基礎个閣有 numbers 來扞 數字个處理, 像複數 (complex number), cmath, decimal, fractons, random, statistics. 橫直, 等你欲用著个時才去揣就好阿
2017年5月6日 星期六
用 Python3 來做計算機
咱了解欲按怎安裝, 運行 Python 了後, 就會使開始使用囉.
Python 是一咧工具, 你會使共當做耍物仔, 嘛會使用伊來賺食. 就干焦唱歌, 有人家己hinn-hinn-honn-honn 唱歡喜, 嘛有人上舞台做大歌星. 一支筆, 有人寫來記數 niâ-niâ, 嘛有人寫出大部的小說天跤下攏知影伊的名. 總是, 踮電腦的天跤下, 抑是網路的世界, Python 是足有路用的專業工具.
毋過, 咱若欲入門, 嘛免想遐濟. 伊嘛是會使用來耍, 用來解決一寡生活的零星代,趣味就好. 這馬咱先來共伊當做計算機來用.
咱先進入伊的應聲模式:
$ python3
>>> 4 + 6
10
>>> 20 - 7 *2
6
>>> (20 - 7*2)/4
1.5
>>> 100/3
33.333333333333336
>>>
踮頂懸的例tiőng, 咱共上基本的加[ka],減[kiám],乘[sîng],分[pun, 華語:除] 行一遍。踮遮, 台語念法參考筆算个初學這本書.
數學符號, 加是 +, 減是 -, 無問題. 毋過乘改作 *, 分改作 /.
圓括號 () 的意義佮數學定義仝款, 優先計算.
按呢是毋是真簡單呢?
有時, 你揤一捾落落長的算式, 算了才發現有毋著, 欲按怎? 閣重新一字一字揤?
免遐囉嗦--啦, 只要揤向頂的箭頭 ↑ 就會轉去拄仔彼例算式, 才閣揤正鍵→,倒鍵←,倒退鍵(Backspace), 挕掉鍵 (Delete) 來改正.
有時, 你想欲頂一咧計算的結果, 用佇這馬這咧計算, 若按呢愛用底線 _, 比如講:
>>> 2 + 4 +5/3
7.666666666666667
>>> 2 * _
15.333333333333334
>>>
斜線 / 是算出小數, 雙斜線是干焦留整數, 百分比 % 是干焦留賰數。
指數 (power) 是雙星 ** 來代表:
>>> 5**2
25
Python3 的數學規則, 親像先乘分, 後加減, uì 倒手爿算到正手爿, 攏佮數學仝款。
Python 是一咧工具, 你會使共當做耍物仔, 嘛會使用伊來賺食. 就干焦唱歌, 有人家己hinn-hinn-honn-honn 唱歡喜, 嘛有人上舞台做大歌星. 一支筆, 有人寫來記數 niâ-niâ, 嘛有人寫出大部的小說天跤下攏知影伊的名. 總是, 踮電腦的天跤下, 抑是網路的世界, Python 是足有路用的專業工具.
毋過, 咱若欲入門, 嘛免想遐濟. 伊嘛是會使用來耍, 用來解決一寡生活的零星代,趣味就好. 這馬咱先來共伊當做計算機來用.
咱先進入伊的應聲模式:
$ python3
>>> 4 + 6
10
>>> 20 - 7 *2
6
>>> (20 - 7*2)/4
1.5
>>> 100/3
33.333333333333336
>>>
踮頂懸的例tiőng, 咱共上基本的加[ka],減[kiám],乘[sîng],分[pun, 華語:除] 行一遍。踮遮, 台語念法參考筆算个初學這本書.
數學符號, 加是 +, 減是 -, 無問題. 毋過乘改作 *, 分改作 /.
圓括號 () 的意義佮數學定義仝款, 優先計算.
按呢是毋是真簡單呢?
有時, 你揤一捾落落長的算式, 算了才發現有毋著, 欲按怎? 閣重新一字一字揤?
免遐囉嗦--啦, 只要揤向頂的箭頭 ↑ 就會轉去拄仔彼例算式, 才閣揤正鍵→,倒鍵←,倒退鍵(Backspace), 挕掉鍵 (Delete) 來改正.
有時, 你想欲頂一咧計算的結果, 用佇這馬這咧計算, 若按呢愛用底線 _, 比如講:
>>> 2 + 4 +5/3
7.666666666666667
>>> 2 * _
15.333333333333334
>>>
對分法, 咱閣愛討論較幼咧. 分法有時會分袂了, 欲有賰數(remainder, 華語: 餘數), 抑是直接共賰數擲掉? 抑是欲算幾位的小數? 佇 Python3, 咱用無仝的算符 (operator) 來區別:
>>> 17/3
5.666666666666667
>>> 17//3
5
>>> 17%3
2
指數 (power) 是雙星 ** 來代表:
>>> 5**2
25
Python3 的數學規則, 親像先乘分, 後加減, uì 倒手爿算到正手爿, 攏佮數學仝款。
2017年5月5日 星期五
Python ê 戲文模式
戲文(script, 華語:劇本,台詞) 模式, 就是你愛先共欲做的代誌先寫予好, 囥佇一咧文字檔內底. 紲落來才叫 python 去讀這咧文字檔案, 按照te̋ 做. 就干焦演員愛照戲文來搬戲仝款.
戲文愛先uì頭到尾寫予好, 無 Python 搬戲搬到一半會搬袂落去.
咱這馬先來寫一咧上簡單的戲文,拍開凊彩一咧你慣勢的文字編輯程式, 像 Notepad(記事本), UltraEdit, gedit, vi/vim, 攏會使. 毋過, Microsooft Word 是袂用--得, 因為伊毋是純文字檔。伊的檔尾溜是 .doc. 純文字檔的檔尾溜是 .txt. 佇 Python, 咱會予伊一个專用的檔尾溜: .py.
咱就來寫一咧簡單戲, 拍開了後, 寫下跤的詞:
#!/usr/bin/python3
print("gâu 早, 咱來算數")
sum = 1 + 3 *6 + 7/3
print(sum)
戲文愛先uì頭到尾寫予好, 無 Python 搬戲搬到一半會搬袂落去.
咱這馬先來寫一咧上簡單的戲文,拍開凊彩一咧你慣勢的文字編輯程式, 像 Notepad(記事本), UltraEdit, gedit, vi/vim, 攏會使. 毋過, Microsooft Word 是袂用--得, 因為伊毋是純文字檔。伊的檔尾溜是 .doc. 純文字檔的檔尾溜是 .txt. 佇 Python, 咱會予伊一个專用的檔尾溜: .py.
咱就來寫一咧簡單戲, 拍開了後, 寫下跤的詞:
#!/usr/bin/python3
print("gâu 早, 咱來算數")
sum = 1 + 3 *6 + 7/3
print(sum)
共伊號一咧名, 譬如講 simple.py, 儉--起來. 拍開命令窗, 叫 python3 來搬戲囉
$ python3 simple.py
gâu 早, 咱來算數
21.333333333333332
2017年5月1日 星期一
Python ê 應聲模式
Python 有兩種運行的模式, 一種號做戲文模式, 另一種是應聲模式。
戲文模式佇遮紹介.
應聲(interactive, 華語:交談) 模式, 就干焦兩人佇答喙鼓, 你就和 Python 佇答喙鼓. 你講一句, 伊隨喙就應。這模式其實是 uì 命令窗仝款个意思.
這馬, 咱先來欲起動應聲模式, 就是干焦佇命令窗內揤 "python3", "ENTER", 看著三支角 ">>>", 就入去應聲模式。
這咧時陣, 你踮內揤啥物, 上尾揤 ENTER, Python 隨會應. 無論是伊看--有抑是看--無你的命令, 伊攏會應. 看--無伊就回--講: "我毋知你佇講啥物", 順紲共你講伊感覺佗位毋著:
>>> dfdfee
Traceback (most recent call last):
File "", line 1, in
NameError: name 'dfdfee' is not defined
>>>
戲文模式佇遮紹介.
應聲(interactive, 華語:交談) 模式, 就干焦兩人佇答喙鼓, 你就和 Python 佇答喙鼓. 你講一句, 伊隨喙就應。這模式其實是 uì 命令窗仝款个意思.
這馬, 咱先來欲起動應聲模式, 就是干焦佇命令窗內揤 "python3", "ENTER", 看著三支角 ">>>", 就入去應聲模式。
這咧時陣, 你踮內揤啥物, 上尾揤 ENTER, Python 隨會應. 無論是伊看--有抑是看--無你的命令, 伊攏會應. 看--無伊就回--講: "我毋知你佇講啥物", 順紲共你講伊感覺佗位毋著:
>>> dfdfee
Traceback (most recent call last):
File "
NameError: name 'dfdfee' is not defined
>>>
咱來寫伊看有个, 像:
>>> print("Hello")
Hello
>>>
>>> 2+5
7
>>>
問伊 Hello, 就應你 Hello, 叫伊算數, 閣袂重耽,隨算予--你. 你有注意著--無? 一算了, 馬上出現三支角 >>> 佇等待你紲落來的新命令。
簡單講: 看著三支角 >>>, 就是換你講話, 落命令。 揤 ENTER, 代表換 Python 照你的命令去運行, 若有啥物結果抑是錯誤, 佇下一逝共你報告!
這就是應聲模式的特色!
簡單講: 看著三支角 >>>, 就是換你講話, 落命令。 揤 ENTER, 代表換 Python 照你的命令去運行, 若有啥物結果抑是錯誤, 佇下一逝共你報告!
這就是應聲模式的特色!
訂閱:
文章 (Atom)
佇 Linux 來看GPX 檔案
最近定定有戶外活動。使用𤆬路機 (GPS) 來記錄行過的路線。普通我記錄路線,攏是用手機仔抑是專門个𤆬路機,罕得用電腦來看。 毋過,"仙人拍鼓有時錯,跤步踏差啥人無"。有一擺我無細膩,袂記得共一擺活動的路線收煞起來,閣直接開始記錄下一擺的活動,按呢共幾落...

-
若是頭一擺來遮,建議先來踏話頭 請共 教育部閩南語常用辭典開 --咧,隨時會當查。 我佇教囡仔小學 ê 數學時,有時想欲驗算一遍。毋過,咱這馬雖然有計算機,毋過,伊無法度算分數, 拄好我佇耍 Python, 來揣看覓 Python 有法度做--無? 這 " 分數 ...
-
下一篇 這篇系列, 是我讀 Deep Learning|用Python進行深度學習的基礎理論實作 ê 筆記. 伊的原文是日本人寫个. 我那看那耍伊的例, 家己寫乎伊行看覓. 若是有啥物想法, 就那寫那奕看覓, 順紲 kā 心得寫落來. 一肩擔雞...
-
←前一篇 後一篇→ 驗證佮開發仝款重要 咱學一項物件, 無論你是學趣味--ê 抑是欲賺食, 總是愛有法度驗證你學ê物件有路用--無. 若學規半晡 , 紲干焦會當家己歕雞胿講家己偌gâu, 這就毋是科學 ê 精神. 神經網路閣較是按呢生. 毋過...