一小時Python入門-part 1 - 寫點科普
文章推薦指數: 80 %
Python基本語法與練習. 好了,來實作看看吧!打開Jupyter Notebook 應用程式、跳出 Jupyter Notebook 的編輯頁面就可以來撰寫我們的程式碼啦。
跳至內容
程式教學>Python
內容目錄
1.使用主機Terminal
2.下載使用JupyterNotebook
1.Print:永遠是跟世界打聲招呼的第一個程式
2.Variable(變數):一切TypeError的泉源
謹記:「Error都是暫時的,沒有解不掉的Bug,莫忘心靈祥和。
」
3.Input:讓使用者輸入資料唄
4.If-Else日常的邏輯判斷
5.ForLoop轉圈圈吧哈姆太郎
6.List:能無限儲存資料的格子
「神說要有了List,所以有了List。
」-來自深海大鳳梨裡的神祕訊息。
程式教學>Python
內容目錄
1.使用主機Terminal
2.下載使用JupyterNotebook
1.Print:永遠是跟世界打聲招呼的第一個程式
2.Variable(變數):一切TypeError的泉源
謹記:「Error都是暫時的,沒有解不掉的Bug,莫忘心靈祥和。
」
3.Input:讓使用者輸入資料唄
4.If-Else日常的邏輯判斷
5.ForLoop轉圈圈吧哈姆太郎
6.List:能無限儲存資料的格子
「神說要有了List,所以有了List。
」-來自深海大鳳梨裡的神祕訊息。
Python是一個簡潔易讀的語言,學習者幾乎可以立刻上手,也適用於大量的商業應用上。
目前已超越C/C++、Java,成為各大學課程中的主流入門程式語言,美國Top10ComputerScience(電腦科學)系所中便有8所採用Python作為入門語言。
今天就讓我們來試著寫寫看Python這個好玩的語言,並利用學習結果寫個簡單的爬蟲程式,能夠在FB自動發文、自動洗讚,統計出朋友的留言按讚數!
環境設置
首先可以至官網下載下載Python:https://www.python.org/。
下載完成後,你將獲得:Python直譯器與IDLE(Python的IDE)。
身為一個IDE、該有的都有了,只是由於有點醜,所以大家都不愛用。
接下來如何執行程式有兩個選項:
1.使用主機Terminal
讓我們找一個寫程式用的文字編輯器:Notepad++、SublimeText、Vim、Atom…記事本也行,寫完程式碼後可以打開Terminal、打上python檔名.py執行看看,不過此舉較不推薦新手用。
可以看到Terminal印出helloworld字樣了
2.下載使用JupyterNotebook
如果要更方便一點的話可以下載Jupyter,也是Python的IDE,包含了編輯器和編譯功能,非常適合Python的學習噢!安裝方式請參考:http://www.largitdata.com/course/29⋯⋯
Python基本語法與練習
好了,來實作看看吧!打開JupyterNotebook應用程式、跳出 JupyterNotebook的編輯頁面就可以來撰寫我們的程式碼啦。
1.Print:永遠是跟世界打聲招呼的第一個程式
print語法是在print函式中放進你要印的東西,比如print(我要印這個)。
說聲HelloWorld,跟程式的世界打聲招呼吧!
第一個跟世界打招呼的程式!
print的內容可以是變數(variable):print(a),數字(init):print(1234),或是字串(string):print(‘abc123’)。
2.Variable(變數):一切TypeError的泉源
上面提到了變數,但這是什麼意思呢?其實就是幫資料取個名字、把資料儲存起來。
比如:變數=資料,a=123。
當我們輸入a、就會找到123。
變數雖然能儲存資料,但資料有很多種類型、所以就會有資料型態(Type)。
舉例來說:
a=123,type(a)會告訴我們init(整數)。
b=‘456’,type(b)會告訴我們str(字串)。
c=8.70,type(c)會告訴我們這是一個float(浮點數)。
數值可以做運算:
也可以使用各種你知道的函數:
但不同的形態運算要注意,不要把字串和數值加在一起、否則會產生TypeError。
記得學會看錯誤訊息再回去看自己寫錯了什麼。
那該怎麼辦呢?
別怕別怕,若要運算則需要做型態轉換,可以用int(),str(),float()來轉換變數型態。
可以看到下圖,int()將字串’456’轉成整數、str()將整數123轉成字串。
謹記:「Error都是暫時的,沒有解不掉的Bug,莫忘心靈祥和。
」
就算身邊沒有程序激勵員也要保持好心情喔(啾咪^_<
3.Input:讓使用者輸入資料唄
這邊我們使用的是Python3的環境,使用的是input;如果環境是Python2的朋友注意是用raw_input噢,Python2的input有別的意義。
input的功能是讓使用者所有輸入的資料會被當成字串儲存起來,需要時再作轉型。
舉例而言:
a=input():它會等你輸入,並以字串(string)的形式存入a這個變數中。
b=input(‘YourName:‘):在螢幕上會出現’YourName:’的提示,並把資料以字串(string)形式存入b這個變數中。
記得這個數字289是字串的形式喔~
●小練習
請寫一支Python程式,能讀取兩個整數,並把他們的四則運算印出來。
(提示:用input()印出來的東西是字串,記得轉型噢!)
4.If-Else日常的邏輯判斷
別說你沒用過if-else函數式,我們每天都在面臨ifelse的抉擇──如果(if)百貨公司周年慶到了:那就是大採購的時間啦!否則(else)我們就晚點再買。
照樣造句一下還有──如果(if)手機快沒電:我就乖乖回家充電!否則(else)我就繼續抓寶可夢。
來看一下if-else語法解說。
if寫完之後接冒號、下一行縮排後開始寫要做什麼事情。
注意else是否則的意思,就不用再寫一次條件了。
但如果我們不只有兩層(周年慶就去買東西、否則就等下次),可能有好幾層條件呢?
比如:如果我們平板電池的電量還很高、就去抓寶可夢;電池電量快沒了、就乖乖回家;如果電池電量普普通通、看看小說就好。
把這件事情用Python表達出來吧!
電池只有50,在30~80之間,因此看看小說就好!
if-else主要用在邏輯運算的判斷上:
>大於
=大於等於
<=小於等於
==等於
!==不等於
或是布林值(Boolean):
true真的
false假的
and且
or或
not非
不小心買到SamsungNote7、聽說電池快沒電時容易有爆炸的風險,怎麼辦?!利用邏輯運算來提醒我們這個危機吧!
●小練習
寫一支Python整數機,第一步讓使用者輸入想要做的符號運算,比如「+,-,*,/」,第二步讓使用者輸入’整數1’和‘整數2’,最後讓這兩個整數進行運算。
如果輸入的運算符號不是「+,-,*,/」,便輸出「錯誤」。
5.ForLoop轉圈圈吧哈姆太郎
如果要把0到9的數字印出來,應該怎麼做呢?
嗯當然你可以這樣做…
但如果今天是要從0印到100呢?(´・ω・`)…
我們之所以寫程式,就是為了要讓程式能自動化地幫忙做一些事情,這樣顯得太沒有效率了。
因此在這邊我們需要寫一個「迴圈」(Loop)。
首先來介紹一個最基礎的Python迴圈「ForLoop」。
比起痛苦地寫十行print,引進For迴圈後、區區兩行便能解決了:
不是很看得懂程式碼的意思嗎?別緊張,這邊來解釋一下這個式子的涵義。
若要枚舉出從0到n-1的數字,寫法是:
for[變數名稱]inrange(n):(縮排)print([變數名稱])
來試試看:
在這裡的n=10,是不是把0~9(n-1)的數字都印出來了呢?
到底range又是什麼意思呢?
事實上range(n)=range(0,n),簡單來說就是個產生器,你可以在這個range範圍中拿資料、拿完到n-1為止。
以range(3)為例,第一次拿到資料0、第二次拿到資料1、第三次拿到資料2,然後就結束了。
讓我們重新看一下for函數結構:
for[變數名稱]inrange(範圍,比如從數字X到Y):
(縮排)做一件事
(縮排)做一件事
瞭解的話,就讓我們來做個小練習吧!
●小練習
請輸出一個九九乘法表。
(提示1:forloop裡面也可以有第二個forloop噢!)
進階版:如果不希望print出來的結果換行且要有空格,可以使用end=’’;若要再換行可使用end=’\n’。
事實上range的數列是有間距的喔!
range的結構是:range(起點,終點,間距),其中的間距預設為1、比如range(0,6)=range(0,6,1)。
代表從0到5,每次加1的意思。
分別印出:
(1)從1到10、每次加2的數列;
(2)從10到2、每次-3的數列吧!
●小練習
請做出一支能猜數字的程式:每次讓使用者猜一個整數,若猜對就輸出Bingo;使用者最多可以猜3次。
(提示:Bingo後可以使用break來離開迴圈)
6.List:能無限儲存資料的格子
想像一下,若今天有三筆資料要計算時,我們會這樣寫:
a=1
b=2
c=3
…那如果你有成千上萬筆資料呢?
再想像一下,如果不知道使用者要輸入多少資料又要怎麼辦呢?
in=input()
a=in[0]
b=in[1]
這樣真的行嗎…
「神說要有了List,所以有了List。
」-來自深海大鳳梨裡的神祕訊息。
繼續運用你的想像力!我們現在有個異次元裡的櫃子,它有無限個格子,第一格可以放東西、第二格也可以放東西…以此類推。
櫃子裡可以放任何東西,我們會用一個數字代表東西放在櫃子中的第幾層格子,這個數字就叫做Index(索引)。
把櫃子的概念換成Python的List語法,就會變成:放在第0層的變數、放在第1層的變數…這個數字就是Index(索引),而變數就是我們塞進去的資料。
一個Python的List長相如下,以中括號[]包起來、逗號,分隔:
a=['Lynn',0.87,1234,True]
這裡的a就是一個List,第0格放的是Lynn這個字串、第1格放的是0.87這個浮點數、第2格放的是1234這個整數、第3格放的是True這個布林值。
有了格子的概念後,我們可以使用a[第幾格] 來取出變數,比如a[0]代表’Lynn’、a[3]代表True。
可以看到由於a[4]並不存在,因此會出現IndexError的警示。
要如何知道一個List有多長呢?我們能使用 len([list變數名稱])。
a=[1,3]
len(a)=2
在拿到List的長度後,讓我們能來玩一點變化吧!比如List加上上面教學的ForLoop看看會發生什麼事:
若要更簡潔一點的話,由於in這個關鍵字有「在…之中」的意思,inrange(0,3)代表在0~2之中。
因此能改成:
●小練習
現在有一個lista=[1,3,5,7,9],請對每一個元素都平方後印出來,且須將a也變成[1,9,25,49,81]。
來玩玩更多list的操作吧!
建立一個空的list:a=list()或是a=[]都可以
動態增加元素:
list.append(x):把變數x塞到list的最後面
list.insert(i,x):把變數x塞到i這個位置上
list.pop():把list的最後一格丟掉
list.pop(i):把list的第i格丟掉
list.remove(x):會把第一個出現的變數x拿掉
list.clear():把list內的資料全部清光光
與常見函數的結合:
max(list):找出list中最大值
min(list):找出list中最小值
sum(list):找出list數字總和
●小練習
五次數學段考的成績分別為10、30、50、70、90分,算出平均後,老師發現大家考太爛、只好將成績開根號再乘上10(提示:成績**0.5*10),再算出一個新平均。
請印出:1.五次成績;2.平均成績;3.五次新成績;4.新分數的平均。
以為就這樣結束了嗎?List還有切片(Slice) 的功能哦大大!
Python的slice功能讓我們能拿出List櫃子的一部份。
list[start:end]
#拿到list的start,start+1,start+2,...,end-2,end-1
針對slice語法,讓我們深入介紹一些細節部分:
list[start:end],start和end都可以省略不寫
start的預設為0
end的預設為len(list)
liest[:end]代表0~end-1
list[start:]代表start~len(list)-1
list[:]代表0~len(list)-1
●小練習
來辦場Party吧!輸入十個整數、存入一個名為people清單中(表示我們的宴客人數);之後會有五次詢問,每次會輸入清單開始和結束的位置,再輸出從開始到結束位置的總和。
還沒結束喔!下一篇【一小時Python入門介紹-part2】還有Dict語法與FB狂讚士專案教學,別在這邊就停住了啊啊啊~
備註:
>內文資料參考:資訊之芽與清大新生營Python教學
>內文只是為了初學者而採簡單的舉例,但之後還是要養成好的命名習慣噢~
會在大家懂了程式概念之後,之後來發一篇講如何命名變數。
文章導覽
←上一篇文章下一篇文章→
下一集下一篇
本系列完整集數
第一集:一小時Python入門-part1第二集:一小時Python入門-part2第三集:文本分析基礎-正規表達式(RegExp)
專筆於科技史。
瞭解產業的運行規則,保有好奇、推理與觀察力的敏銳。
關於我們
創站目標
深度分析
熱門產業
半導體
通訊
雲端運算
美股SaaS
金融
遊戲
聯絡我們
Email
Facebook
Instagram
訂閱免費通知
Leavethisfieldemptyifyou'rehuman:
Copyright©2021寫點科普Kopuchat
常見問題
服務條款
隱私政策
理念
產業研究樹選單收合
軟體資訊選單收合
雲端運算
美股SaaS
行動App
數位行銷
硬體製造選單收合
半導體
記憶體
通訊
電腦科學選單收合
電腦起源
IC原理
人工智慧
程式教學
其他產業選單收合
金融
遊戲
精品時尚
會員限定分析選單收合
訂閱寫點週報
往期寫點週報
我的帳號
會員登入會員登入
立即訂閱立即訂閱
搜尋了:
本網站使用Cookie及其他相關技術分析以確保使用者獲得最佳體驗,通過我們的網站,您確認並同意本網站的隱私權政策更新。
了解最新隱私權政策。
我知道了Manageconsent
Close
PrivacyOverview
Thiswebsiteusescookiestoimproveyourexperiencewhileyounavigatethroughthewebsite.Outofthese,thecookiesthatarecategorizedasnecessaryarestoredonyourbrowserastheyareessentialfortheworkingofbasicfunctionalitiesofthewebsite.Wealsousethird-partycookiesthathelpusanalyzeandunderstandhowyouusethiswebsite.Thesecookieswillbestoredinyourbrowseronlywithyourconsent.Youalsohavetheoptiontoopt-outofthesecookies.Butoptingoutofsomeofthesecookiesmayaffectyourbrowsingexperience.
Necessary
Necessary
AlwaysEnabled
Necessarycookiesareabsolutelyessentialforthewebsitetofunctionproperly.Thesecookiesensurebasicfunctionalitiesandsecurityfeaturesofthewebsite,anonymously.
CookieDurationDescriptioncookielawinfo-checkbox-analytics11monthsThiscookieissetbyGDPRCookieConsentplugin.Thecookieisusedtostoretheuserconsentforthecookiesinthecategory"Analytics".cookielawinfo-checkbox-functional11monthsThecookieissetbyGDPRcookieconsenttorecordtheuserconsentforthecookiesinthecategory"Functional".cookielawinfo-checkbox-necessary11monthsThiscookieissetbyGDPRCookieConsentplugin.Thecookiesisusedtostoretheuserconsentforthecookiesinthecategory"Necessary".cookielawinfo-checkbox-others11monthsThiscookieissetbyGDPRCookieConsentplugin.Thecookieisusedtostoretheuserconsentforthecookiesinthecategory"Other.cookielawinfo-checkbox-performance11monthsThiscookieissetbyGDPRCookieConsentplugin.Thecookieisusedtostoretheuserconsentforthecookiesinthecategory"Performance".viewed_cookie_policy11monthsThecookieissetbytheGDPRCookieConsentpluginandisusedtostorewhetherornotuserhasconsentedtotheuseofcookies.Itdoesnotstoreanypersonaldata.
Functional
Functional
Functionalcookieshelptoperformcertainfunctionalitieslikesharingthecontentofthewebsiteonsocialmediaplatforms,collectfeedbacks,andotherthird-partyfeatures.
Performance
Performance
Performancecookiesareusedtounderstandandanalyzethekeyperformanceindexesofthewebsitewhichhelpsindeliveringabetteruserexperienceforthevisitors.
Analytics
Analytics
Analyticalcookiesareusedtounderstandhowvisitorsinteractwiththewebsite.Thesecookieshelpprovideinformationonmetricsthenumberofvisitors,bouncerate,trafficsource,etc.
Advertisement
Advertisement
Advertisementcookiesareusedtoprovidevisitorswithrelevantadsandmarketingcampaigns.Thesecookiestrackvisitorsacrosswebsitesandcollectinformationtoprovidecustomizedads.
Others
Others
Otheruncategorizedcookiesarethosethatarebeinganalyzedandhavenotbeenclassifiedintoacategoryasyet.
SAVE&ACCEPT
延伸文章資訊
- 1【Python】免安裝、線上即可練習Python語法-repl.it網站
(1)選擇程式語言:該網站可練習的程式語言不只一種,所以要確定是否已選擇「Python」。 (2)語法撰寫處:此處為程式語言的編輯處。
- 2一小時Python入門-part 1 - 寫點科普
Python基本語法與練習. 好了,來實作看看吧!打開Jupyter Notebook 應用程式、跳出 Jupyter Notebook 的編輯頁面就可以來撰寫我們的程式碼啦。
- 3課程:Python學習(程式設計) - 觀音高中線上教學服務
前進APCS - Python學習概觀 · 1.熟悉Python語法及基礎觀念 · 2.了解各種資料結構的概念和用途 · 3.了解Python支援的資料結構,了解其使用方法並實作練習 · 4.藉...
- 48堂基礎課程+程式範例練習,一次學會Python的原理概念 - 博客來
電子書:Python入門教室:8堂基礎課程+程式範例練習,一次學會Python的原理概念、基本語法、實作應用(電子書),原文名稱:いちばんやさしいPython入門教室, ...
- 560道python練習題,拿去練手不要謝! - 每日頭條
月薪30K大牛的Python基本語法總結筆記(小白快速入門) · 2017-08-14. 人生苦短,我用Python字符串什麼是字符串字符串或串(String) ...