跳到主要內容

發表文章

目前顯示的是 11月, 2018的文章


程式語言概念-變數

程式語言概念 資料型態         任何程式語言一定會有資料型態,畢竟程式語言被發明就是為了能過處裡資料的,而程式語言的資料型態定義,個人認為是有很嚴格的定義的,從數理邏輯推演過來,基本的命題為真或為假(True or False),而這個可以對應到電路上的高電位跟低電位 ,也被人說成能被描述成命題就可以被電腦處理 ,也就是0跟1,也就是基本的布林值。 布林值       不是每種語言都會去定義布林值,像是C就沒定義,而布林值常常也會用0(False)、1(True)來代替,而通常一個基本單位被稱為1 bit,可以是零或一,通常八個一組 8 bits,又稱為1 byte,。 整數        數字系統的設計,也是有趣的過程,因為電路是只有0跟1,電腦是一堆電路組成的,也就是二進制,而我們的人類使用的是十進制,而從我們的微處理器的演變過程,又定義出八進制、十六進制,方便8位元、16位元的晶片進行設計。       二進制:          基本數字為0、1,而1加上1則進位,常用表示方式0b1000。          EX:1+1=10。       八進制:          基本數字為0、1、2、3、4、5、6、7,而7加上1則進位, 常用表示方式 0o7000。          EX:7+1=10。       十進制 :          基本數字為0、1、2、3、4、5、6、7、8、9,而9加上1則進位,常用表示方式100 。          EX:9+1=10。       十六進制:          基本數字為0、1、2、3、4、5、6、7、8、9、A、B、C、D、E,而E加上1則進位,常用表示方式0xA000。           EX:E+1=10。      進制轉換:          二轉八:2^3=8,因此在從二轉八時,會一次看二進制三個位數,這三個位數等於一個八進制的一位數,如:0010可以拆成0跟010,0就為0,010需要計算轉換,公式為 a*2^2+b*2^1+c*2^0 因此010用公式計算0 *2^2+1*2^1+0*2^0=2,因此轉換完成後為八進制為02。      

Python-函數

Python 函數 基本概念說明 參考 程式語言概念-函數 內容 基本語法 def functionName(var):    print('Hello, '+ var) 說明 def 定義函數 functionName 函數名稱 var變數名稱 如變數需要預設值可以使用等號賦予其初始值var=None、var='Name'  投影片-slideshare:Python_函數  影片-youtube:Python_函數  程式碼-Github: Python_函數 下一單元:Python- 類別

Python-迴圈

Python 迴圈概念說明: 參考 程式語言概念-迴圈 內容 基本語法: while範例 while True:      command = input('Your command : ')      if command == 'q':           break      else:          print(command) 程式碼說明 在while 後面加上條件式,範例是直接加一個true,此時while判斷為true時,迴圈不會停止,在while行結束時要加上:,下一行開始要縮排,表示在while迴圈內部,範例程式是,等待輸入,判斷輸入為q則離開,不為q則print出來。 for範例 for i in range(10):     print(i) for i in [1,3,5,6]:     print(i) a = [1,3,5,6] for i in a:     print(i) 程式碼說明 range(10) = [0,1,2,3,4,5,6,7,8,9] i 定義變數 in 指定i 為in後面的可迭代物件的內容,並依可迭代物件順序,賦予i值 for 根據後方可迭代物件的長度決定執行次數,結尾時要加上:,下一行開始要縮排,其縮排內容皆為for迴圈內容  投影片-slideshare:Python_迴圈  影片-youtube:Python_迴圈  程式碼-Github: Python_迴圈 下一單元:Python- 函數

Python-條件敘述

Python 條件敘述概念說明 參考 程式語言概念-條件敘述 條件敘述可用於對於程式某些變數的狀態進行判斷,並在該狀態執行特定工作,此種做有法助於程式結構化。 基本語法: Python的範例條件敘述如下: n = 3 if n < 0:    print('n<0') elif n == 0:    print('n==0') elif n == 2:    print('n==2') else:    print('Other') 在條件敘述加上變數單元中的比較運算,如果有兩個以上的條件可以加上邏輯運算。 if a > 0 and b > 0:    print('a>b而且b>0') 程式碼說明 n 定義變數 if    如果,後面加條件 elif  其他條件,後面加條件 else 其他,後面不加條件 在條件式結尾必續加上:,下一行必須縮排,再加上要在該條件下,要執行的動作  投影片-slideshare:Python_條件敘述  影片-youtube:Python_條件敘述  程式碼-Github:條件敘述 下一單元: Python- 迴圈

程式語言-學習大綱

學習大鋼 這是我學習程式語言的流程,前面的學習是以基本語法為主,學習完之後開始針對資料類型、、資料的存放、有效率的使用硬體、有效率的設計程式、有效率的接受使用者命令等議題進行練習,額外衍生出安全、程式碼管理、團隊溝通等議題。 程式語言學習清單 概念 C C++ C# Python Java 介紹 概論一 概論二 介紹 介紹 介紹 介紹 介紹 安裝 安裝 安裝 安裝 安裝 安裝 變數 變數 運算 變數 變數 變數 變數 變數 條件敘述 條件敘述 條件敘述 條件敘述 條件敘述 條件敘述 條件敘述 迴圈 迴圈 迴圈 迴圈 迴圈 迴圈 迴圈 函數 函數 函數 函數 函數 函數 函數 類別 類別 類別 類別 類別 類別 類別 開啟檔案 常見檔案類型 圖片 開啟檔案 開啟檔案 開啟檔案 開啟檔案 Excel Word 圖片 音源 影片 開啟檔案 資料庫 資料庫 MySQL Mongodb 資料庫 資料庫 資料庫 MySQL-1 MySQL-2 Mongodb 資料庫 資料結構與演算法 資料結構與演算法 資料結構 演算法 資料結構 演算法 資料結構 演算法 資料結構 演算法 資料結構 演算法 資料結構 演算法 資料結構 陣列、串列鏈結 佇列、堆疊、串列 樹、圖 佇列、堆疊、串列 樹、圖 佇列、堆疊、串列 樹、圖 佇列、堆疊、串列 樹、圖 佇列、堆疊、串列 樹、圖 佇列、堆疊、串列 樹、圖 演算法 排序、搜尋 單源最短路徑 多源最段路徑 排序、搜尋 單源最短路徑 多源最段路徑 排序、搜尋 單源最短路徑 多源最段路徑 排序、搜尋 單源最短路徑 多源最段路徑 排序、搜尋 單源最短路徑 多源最段路徑 排序、搜尋 單源最短路徑 多源最段路徑 函式庫 函式庫 函式庫 函式庫 函式庫 函式庫 函式庫 設計模式 設計模式 工廠模式 建造者模式 單例模式 原型模式 Creational-雜談 調配器模式 橋接模式 組合模式 裝飾模式 外觀模式 享元模式 代理模式 Structural-雜談 模板模式 責任練模式 命令模式 解譯器模式 迭代器模式 觀察者模式 中介者模式 備忘錄模式 狀態模式 策略模式 Behavior

Python-變數

Python 資料型態概念說明: 參考資 料型態概念-變數內容 Python的資料型態分為無型態、布林數、整數、複數、浮點數、字串六種,None為變數沒存任何狀態,在整數上有四種形式分別為十進位、二進位、八進位、十六進位,在浮點數有兩種表示法分別為小數形式、科學記號形式,字串預設為utf8格式,支援ascii、big5等,如果遇到檔案不是標準的格式建議搜尋一下看是否支援。 Python又有容器資料型態,又可看為資料結構有串列、字典、Tuple、Set四種。 無型態:None 布林數:True、False 整數:10、0b01、0o10、0xAA 複數:1+1j 浮點數:1.1、1e+10 字串:'string' 串列:List = [1,2,3] 字典:{1:1,2:2,:3:3},{1:'1',2:'2',:3:'3'},{'1':'1','2':'2',:'3':'3'} Tuple:(1,2,3),('1','2','3') Set:{'a','b'},{1,2} 基本語法 在直譯器下可以直接使用以下語法進行測試 None True False 10 0b10 0o10 0xAA 1+1j 1.1 1e+10 'string' 再用type函式進行檢視各種型態 type(None) type(True) type(False) type(10) type(0b10) type(0o10) type(0xAA) type(1+1j) type(1.1) type(1e+10) type('string') type("string') type('''string string string''') 變數定義 無型態: a = None 布林數: a = True

Python-安裝

Python       本篇內容會分成三個部分來討論,一為在Linux底下,二在Mac底下,三在Windows底下進行介紹。 Linux      Linux版本種多,以下以Ununtu為例子,講述啟動的方法,以版本18.04。         Ubuntu-18.04- 下載     其他常見的Linux版本,Fedora、RetHat、Centos,原則上都支援Python,這邊只要以Ubutu為例。     下載完成後,可以準備單一台電腦或是使用虛擬電腦進行安裝,安裝完成之後,按照以下步驟啟動Python3.7。 點擊右上角啟動鈕 搜尋Terminal(英文)/終端機(中文) 點擊終端機圖示 安裝Python3.7 安裝完成之後,啟動Python3.7 測試上一篇的Hello World程式、Hello you程式。此時是直接在直譯器上執行。 安裝Sublime 將上述兩個程式,寫成腳本存在桌面 離開Python3.7 移動位置到桌面 直接使用Python指令執行腳本 Mac 點擊Lauchpad 搜尋Terminal(英文)/終端機(中文) 點擊終端機圖示 安裝Python3.7 安裝完成之後,啟動Python3.7 測試上一篇的Hello World程式、Hello you程式。此時是直接在直譯器上執行。 安裝Sublime 將上述兩個程式,寫成腳本存在桌面 離開Python3.7 移動位置到桌面 直接使用Python指令執行腳本 Windows 下載安裝檔-連結 安裝Python3.7 點擊開始 搜尋CMD 點擊命令提示字元圖示 啟動Python3.7 測試上一篇的Hello World程式、Hello you程式。此時是直接在直譯器上執行。 安裝Sublime 將上述兩個程式,寫成腳本存在桌面 離開Python3.7 移動位置到桌面 直接使用Python指令執行腳本  投影片-slideshare:Python_安裝  影片-youtube:Python_安裝  程式碼-Github:無   下一單元: Python-變數

Python-介紹

Python 介紹       Python是一種 直譯語言 (也稱解譯器),也是一種 腳本語言 ,他有以下幾個特點: 容易寫 功能想當多 跨平台 容易擴充       也是因為以上特點,所以可以在各個平台上看到(Windows, Linux, Mac),也可以看到在許多領域上使用,網路、商業軟體、嵌入是系統,這也說明他有龐大的模組支援。       而在看直譯器本身會發現會有CPython,、PyPy、Jython等,但是只要在使用上大多還是使用CPython,而CPython就是使用C語言寫成的Python直譯器,想必只以知道PyPy就是用Python寫的,Jython就是用Java寫的,當然詳細要知道如何寫成的,需要去了解編譯器,而這個東西的理解,也需要演算法跟資料結構的學習。 版本       目前學習過程中,建議使用3.7版本,除非使用的模組只有在Python2中能夠使用。       Python的 官方網站 Python 1.0 - 1994  Python 1.2 - 1995  Python 1.3 - 1995  Python 1.4 - 1996  Python 1.5 - 1997  Python 1.6 - 2000  Python 2.0 - 2000  Python 2.1 - 2001  Python 2.2 - 2001  Python 2.3 - 2003  Python 2.4 - 2004  Python 2.5 - 2006  Python 2.6 - 2008  Python 2.7 - 2010  Python 3.0 - 2008  Python 3.1 - 2009  Python 3.2 - 2011  Python 3.3 - 2012  Python 3.4 - 2014  Python 3.5 - 2015  Python 3.6 - 2016 Python3.7  - 2018   Python的Zen       在終端機下進入到Python之後,輸入 import this ,你可以看到Python的Zen,也就是中心思想。 圖片上的內容如下:

程式語言學習概論(2)

程式語言       程式語言學習一開使建議學習叫容易閱讀的程式語言,這樣學習效益比較大,學習成本比較低,等熟悉寫程式之後,對於學習其他語言可以比叫容易,當然如果學習的原因名確可以就自己要的語言去學習就可以了。 而為了在短時間獲得比較大的效益,我是推薦Python這個語言,他有我上述的優點,但是在開發大型程式的成本比較高,所以學習完Python之後,我建議可以學習C#,當然也許有些人會不同意,如果他願意執導你的話,你可以考慮聽他的話,照他的方式學習。 Python        被人稱為膠水語言,也就是可以黏在其他語言上,開發速度快,語法難度低,但又不失嚴謹度,在各方面開發都有好的支援度,所以對於新手來說相當好學習。 C#      他是目前微軟的軟體開發主流,在用於微軟體系上是相當好的開發工具,加上他又是C家族的成員,因此對與程式語言跟開發有好的理解跟使用。 為什麼沒有Java或其他很常見的語言 因為我自己在學習過程中,發現到學完C#之後,其實再讀Java這個程式語言是沒有多大的問題的,因此不把他放到學習清單當中。 當然如果本身有特定的學習目的,建議可以直接學習想學習的內容。 投影片-slideshare:程式語言學習概論(2)  影片-youtube:程式語言學習概論(2)  程式碼-Github:程式語言學習概論(2) 下一單元: 程式語言概念 、python- 介紹 、C#-介紹

程式語言學習概論(1)

程式語言 介紹