您好,登錄后才能下訂單哦!
小編給大家分享一下關于python自學的小技巧,相信大部分人都還不怎么了解,因此分享這邊文章給大家學習,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學習方法吧!
一. 環境設置
首先可以至官網下載下載Python: https://www.python.org/。下載完成后,你將獲得: Python直譯器與IDLE (Python的IDE)。身為一個IDE、該有的都有了,只是由于有點丑,所以大家都不愛用。
接下來如何執行程式有兩個選項:
1. 使用主機Terminal
讓我們找一個寫程式用的文字編輯器: Notepad++、Sublime Text、Vim、Atom…記事本也行,寫完程式碼后可以打開Terminal 、打上python檔名.py執行看看,不過此舉較不推薦新手用。
可以看到Terminal印出hello world字樣了
2. 下載使用Jupyter Notebook
如果要更方便一點的話可以下載Jupyter,也是Python的IDE,包含了編輯器和編譯功能,非常適合Python的學習噢
二. Python基本語法與練習
好了,來實作看看吧!打開Jupyter Notebook 應用程式、跳出 Jupyter Notebook 的編輯頁面就可以來撰寫我們的程式碼啦。
1. Print:永遠是跟世界打聲招呼的第一個程序
print語法是在print函式中放進你要印的東西,比如print(我要印這個)。說聲Hello World,跟程式的世界打聲招呼吧!
print('hello world ')
輸出hello world
第一個跟世界打招呼的程式!
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:讓使用者輸入資料唄
這邊我們使用的是Python 3的環境,使用的是input;如果環境是Python 2的朋友注意是用raw_input噢,Python 2的input有別的意義。
input的功能是讓使用者所有輸入的資料會被當成字串儲存起來,需要時再作轉型。舉例而言:
a = input() :它會等你輸入,并以字串(string)的形式存入a這個變數中。
b = input('Your Name: ') :在螢幕上會出現'Your Name: '的提示,并把資料以字串(string)形式存入b這個變數中。
記得這個數字289是字串的形式喔~
● 小練習
請寫一支Python程式,能讀取兩個整數,并把他們的四則運算印出來。(提示: 用input()印出來的東西是字串, 記得轉型噢!)
4. If-Else 日常的邏輯判斷
別說你沒用過if-else函數式,我們每天都在面臨if else的抉擇──如果(if)百貨公司周年慶到了:那就是大采購的時間啦! 否則(else)我們就晚點再買。
照樣造句一下還有──如果(if)手機快沒電: 我就乖乖回家充電! 否則(else) 我就繼續刷抖音
來看一下if-else 語法解說。if 寫完之后接冒號、下一行縮排后開始寫要做什么事情。注意else 是否則的意思,就不用再寫一次條件了。
但如果我們不只有兩層(周年慶就去買東西、否則就等下次),可能有好幾層條件呢?
比如: 如果我們平板電池的電量還很高、就去python學習網學python;電池電量快沒了、就乖乖回家;如果電池電量普普通通、看看小說就好。
把這件事情用Python表達出來吧!
電池只有50,在30~80之間,因此看看小說就好!
if-else主要用在邏輯運算的判斷上:
> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于
或是布林值(Boolean):
true 真的
false 假的
and 且
or 或
not 非
不小心買到Samsung Note 7、聽說電池快沒電時容易有爆炸的風險,怎么辦?! 利用邏輯運算來提醒我們這個危機吧!
● 小練習
寫一支Python整數機,第一步讓使用者輸入想要做的符號運算,比如「+, -, *, /」,第二步讓使用者輸入'整數1'和'整數2',最后讓這兩個整數進行運算。如果輸入的運算符號不是「+, -, *, /」,便輸出「錯誤」。
5. For Loop 轉圈圈吧哈姆太郎
如果要把0到9的數字印出來,應該怎么做呢?
嗯當然你可以這樣做…
不是很看得懂程式碼的意思嗎? 別緊張,這邊來解釋一下這個式子的涵義。若要枚舉出從0到n-1的數字,寫法是:
for [變數名稱] in range(n): (縮排) print([變數名稱])
來試試看:
在這里的n=10,是不是把0~9 (n-1)的數字都印出來了呢?
到底range又是什么意思呢?
事實上range(n) = range(0, n),簡單來說就是個產生器,你可以在這個range范圍中拿資料、拿完到n-1為止。以range(3)為例,第一次拿到資料0、第二次拿到資料1、第三次拿到資料2,然后就結束了。
讓我們重新看一下for函數結構:
for [變量名稱] in range(范圍,比如從數字X到Y): (縮排) 做一件事 (縮排) 做一件事
了解的話,就讓我們來做個小練習吧!
● 小練習
請輸出一個九九乘法表。(提示1: for loop里面也可以有第二個for loop噢!)
進階版: 如果不希望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 加上上面教學的For Loop 看看會發生什么事:
若要更簡潔一點的話,由于in 這個關鍵字有「在… 之中」的意思,in range(0, 3)代表在0~2之中。因此能改成:
● 小練習
現在有一個list a = [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自學的小技巧的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。