fbpx
Python初學程式

Python 開發環境搭建及常用IDE介紹

一.前言: 本文內容為進行程序前的前置作業,由於筆者所用的開發環境為Windows,文章中將著重於在Windows上安裝和設置Python環境,以及介紹和下載各種開發常用的編譯器。 想了解更多關於Python的介紹,請參考本站:Python是什麼? TOP7 新手必讀知識! 二.大綱: 安裝Python環境 Python常用IDE介紹與安裝 Python環境搭建 三.安裝Python環境: 下載連結 👉🏻 Download Python 先點選上面網址,將會進入python環境下載頁面。進入後,會有各種版本的環境可以安裝,這邊我們下載的版本是python 3.6.2。*建議:不要看到最新版本就很開心地給他點下去。因為最新版本可能不太穩定,加上剛更新,也許有些bug還沒被測出來。所以通常會選擇前幾版,較多人使用也比較穩定的版本! 四.Python常用IDE介紹與安裝: 1.何謂IDE? 早期的編譯語言需要經由撰寫、編譯、連結、除錯、執行等過程,而負責這幾部分的軟體都各自獨立,對開發者來說並不方便。但目前多數的高階程式語言都已經採用IDE方式,將編輯器(Editor)、編譯器(Compiler)、連結器(Linker)、除錯器(Debugger)、執行(Execution)等功能整合在同一套軟體中,使得程式更加容易被操作。 2.下圖為各種Python IDE,讓讀者了解有那幾種IDE可以拿來做Python程序開發👇🏻 在上圖這幾種IDE中,筆者主要是用PyCharm進行代碼撰寫,所以主要介紹內容就以Pycharm為主。其中Visual Studio Code也是蠻多人使用的! 想了解更多關於IDE的介紹請看:哪種…
celia
April 3, 2020
Python初學程式

Python變數&數據類型

一.前言:  本文內容將會介紹Python變數&數據類型,如何查看數據類型和數據類型之間的轉換,文末代入簡單範例來總結所學。 二.大綱: 變數的介紹&使用 Python數據類型 查看&轉換數據類型 輸入&輸出(input&output) 案例:體脂率計算 三.變數的介紹&使用 1.變數是什麼? 變數是記憶體中一個儲存資料的位置 2.變數的命名限制: 只能以英文字母(A-Z, a-z)、數字(0-9)以及底線(_)所組成 英文字母*大小寫有別(case-sensitive) 變數名稱不得以數字開頭正確命名範例:a、_123 錯誤命名範例:1_ 3.使用變數: 若我們想運算 1+2 : 第一種寫法:直接使用 print 語句 print(1+2)…
celia
April 3, 2020
Python初學程式

if條件語句教學

一.前言: Python 條件語句跟其他語言基本上是一致的,都是通過一條或多條語句的執行結果( True 或者 False )來決定執行的代碼塊。本文將介紹關於 if 語句的語法及操作。 二.大綱: if 語句的基本形式 if 語句多個判斷條件的形式 邏輯運算符 三.if 語句的基本形式: Python 中,if 语句的基本形式如下: if判斷條件: 執行語句 else: 執行語句 當"判斷條件"成立時,會執行後面的語句,而執行內容可以多行,以縮排來區分…
celia
April 3, 2020
工程思維

矽谷百萬年薪也比不上貓主子的健康!他發明「AI 智慧貓砂盆」守護萬家主子

在美國矽谷 Cistco 擔任電子工程師的 James,出於自身愛貓離世之痛,投身研究寵物的預防醫學, 他了解到貓咪非常能夠忍痛,非要到極度不適才發出微小的哀號, 因此只能透過飲食與排便去觀察,然而,不少飼主因工作繁忙,未多留心而錯失早期治療愛貓的機會, 導致許多貓咪送往醫院時已需開刀或住院治療。 為此,James 選擇運用自身專長,發明 LuLuPet AI 智慧貓砂盆,不只照顧自己的貓咪,同時也守護更多貓主子! James 發明的 AI 智慧貓砂盆,到底強大在哪呢? 一、智慧辨識排泄物,大小便都替你把關 他看利用 AI 影像辨識+體重感測,能夠觀測出下列幾點: 【4種行為異常】:停留時間過長、過短、進出頻率過高、過低。 【7種排便狀況】:大便乾、濕度、軟、硬、顏色異常、便量、排便困難。 【4種排尿狀況】:尿量過多、過少、血尿、頻尿、排尿困難。 【4種重量改變】:體重高於、低於平均標準值、體重驟增、驟降。 透過七種布里斯托大便分類法,判斷主子的健康與飲食情況。…
學程式助教
April 3, 2020
Python初學程式技術問題

pandas介紹教學

一.前言: 什麼是pandas?                 先介紹一下Pandas是什麼,簡單來說就是把Excel的表格觀念丟到Python,概念類似試算表的資料分析套件   為什麼學習pandas?        Excel中所有的操作都可以透過Pandas的函式做簡單的處理,像是欄位的加總、分群、樞紐分析表、小計、畫折線圖、圓餅圖等等… 二.學習項目 1.安裝pandas 2.單維度Series 3.雙維度DataFrame   三.本文環境 windows 10 pandas…
celia
March 21, 2020
Python初學程式技術問題

十分鐘內搞懂matplotlib

一.前言: 什麼是Matplotlib? Matplotlib是一個Python 的視覺化套件 ,其中包含兩個最重要的模組 — pylab 和 pyplot,我們可以利用Matpolib創建各種圖形,包括簡單的折線圖,直方圖,散佈圖...。Python 數據計算中經常使用它來完成視覺化的工作。   二.學習目標: 本文以實際代碼編寫,來介紹 pyplot 的使用方式! Python 的 Matplotlib 可繪製簡單的折線圖,只要使用 plt.plot ,給 X, Y 值就可以畫出圖表!  來一個很簡單的畫圖操作,可以認為是matplotlib的'hello,…
celia
March 21, 2020
Javascript工程思維

[Javascript] Point Free Style 如何幫助提高程式可讀性

前些日子我寫了篇關於 functional programming 的文章 (Functional Programming 一文到底全紀錄),講述了當時對 FP 的學習心得,與在實務中應用後的一些想法。 之後陸陸續續收到了一些反饋,有人詢問:「FP 能做的事情,現在 OOP 都做得很好,什麼情況下需要用到 FP?」 關於這個問題,我的回答總是 FP 準則中的「避免副作用」、「一個 Function 只做一件事情」、「以 Function 為程式的最小單位」能使我們只需要關注 Function 的正確性即可,讓程式更佳可讀、更易維護。 Point Free Style…
學程式助教
March 16, 2020
Javascript工程思維

JS 學資料結構與演算法 (排序篇) — 選擇排序法 & 插入排序法

前言 這篇文章將為排序篇章做一個結尾,文章會介紹選擇排序 (Selection Sort) 與插入排序 (Insertion Sort) 兩種排序法,透過上圖的排序法複雜度一覽表可以發現他們的執行效能相比其他排序法來的差一點,因此比較不常被使用,但要強調的是他們仍然有適合使用的情境,本篇文章將會簡單紀錄這兩個演算法的定義與程式碼實作。 選擇排序法 (Selection Sort) 選擇排序法示意圖 簡單來說選擇排序法一直重複的做兩件事: 從尚未經過排序的陣列中找到最小值 將當前找到最小值擺到最左邊 時間複雜度 O(n²) 程式碼範例 這邊先設陣列的第一個數字是目前的最小值,然後往後把陣列的數值一個一個讀取,如果讀取的下個數比最小值大,就不作處理。而如果讀取到的數比目前的最小值小,就把目前的最小值換成這個數。重複這個方法把所有陣列裡的數都讀過一遍,就能確保目前的最小值為整個數列的最小值,扣除掉已經確定的最小值,剩下未確定的元素再重複執行以上步驟,直到陣列完成排序。 function selectionSort(array) { const length =…
學程式助教
March 16, 2020
Javascript工程思維

JS 學資料結構與演算法 (排序篇) — 氣泡排序法 Bubble Sort

氣泡排序法 Bubble Sort 其實氣泡排序法算是最容易理解的排序法,也常作為初學者入門學習的演算法,相信經過前兩篇較為複雜的快速排序法、合併排序法後,可以快速理解氣泡排序法的內容與實作方法。 氣泡排序法定義 氣泡排序法的過程會從陣列最左邊開始將元素兩兩比較,每一輪都會把最大的數值移動到陣列末端,這個行為就好像氣泡不斷從底部冒出一樣,因此被稱作氣泡排序法。 氣泡排序法的實作步驟如下: 比較相鄰的兩個元素,若前面的元素較大就進行交換。 重複進行1的動作直到最後面,最後一個元素將會是最大值。 重複進行1,2的動作,每次比較到上一輪的最後一個元素。 重複進行以上動作直到沒有元素需要比較。 把文章一開始示意圖的第一部份拆過來看,一開始把陣列的第一個元素跟第二個元素比較,如果前面的元素比後者大,就將兩元素交換,如果前者元素比後者小,就不做調整。這邊因為 5 比 1 大,因此將兩元素交換,接著看第二個元素跟第三個元素,依此類推,最後會將陣列中最大的元素放到陣列最後頭,接著重複以上步驟,直到所有元素都經過排列,排序才結束。 時間複雜度 因為實作會使用到雙重迴圈,因此平均時間複雜度為 O(n²) 平均: O(n^2) 空間複雜度 因為沒有額外建立其他資料結構,因此空間複雜度為: O(1) 程式碼範例…
學程式助教
March 16, 2020
Javascript工程思維

跟著 YDKJS 作者 Kyle Simpson 打造全新 JavaScript Mindset : 型別(type)

找不到好圖就亂畫 xDD 型別和值 是一個程式語言很重要的基石, 我們期待 “42” 、42 兩者表現會有不同, 前者我們期望他有字串的特性可以使用, 後者我們常用於數字運算的特性。 這也就是為什麼我們程式撰寫中,很重視基礎的型別和值。 而程式語言中,有兩種常見的特性: 1. 強型別語言 2. 弱型別語言 對於兩者的定義,各種地方都有不同的意見, 在此定義參考 Kyle Simpson , 我們透過使用變數的時機,來決定是強/弱型別語言。 也就是說,如果一個變數,在宣告的時候指定型別, 那麼,我們說他是一個「強型別語言」。 如果一個變數,宣告的時候不能(或不需要)指定型別, 那麼,我們說他是一個「弱型別語言」。 註: 這邊要小心幾個名詞: 1.…
學程式助教
March 14, 2020

學程式主題社群回顧