Python Class 01
LEARN WHAT IS PYTHON
python
 簡單說是個程式語言
 是個簡單的程式語言
 歷史 約 20 年
 可跨平台(透過 python vm)
 直譯語言
 利用 indent 縮排 來定義程式碼
Python Ver
 2.7 -> 很多人持續使用
 但是 因為 對於 中文的解析有點哀傷 有點悲慘
 所以 我們
 用 python 3.5
 優點 改善了許多了多語言問題但
 跟python 2有著一些明顯的差異例如
Python 3.5 print & print()
 恩 在 Python 2.7 你可以這樣寫
 print pyhello / print “hello py”
 但是 在 3.5 你會發現程式炸了
 原因是
 Print變成了一個涵式 那 學過語言的就知道 要加上
 () 變成 print(pyhello) / print(“hello py”)
Python vs Java
 先拿 java 出來 婊 一下 (幹
 聽過 java 嗎?
 他們都是有vm 可跨平台
 很紅的東西阿!
 但是 我就是想婊java(?
 請 支持 java 的 --退選-- 離開
Python vs Java
 其實是要讓你知道他有多簡單!
 來源:
 http://blogs.perceptionsystem.
com/images/JavaVsPython.pn
g
Python vs Java
 當然只是開個玩笑 我可不想造成第三次語言大戰阿
 其實各有優缺點 能夠 學多點語言是最好的
 
Lets learn it PRINT (“簡單優雅”)
ERROR(#
最基本的我們來看世界(?
 Hello world 聽過吧
 我們先看看 C 的 hello world?
 #include <stdio.h>
 int main(int argc, char *args[])
 {
 printf("Hello, world!n");
 return 0;
 }
看起來很簡單 那我們看看 python..
 print( “hello world” );
 咦 你騙我 吧這摸短!?
 覺得我騙你的打開 python IDLE 打上去吧!
 然後你應該就會發現 py Console 吐了
 Hello world給你
好 你會python 了
 那我們來講講怎樣寫程式?
 先說說 哪些文字 python 原本就定義了
 False None True and as assert break class
 continue def del elif else except finally for
 from global if import in is lambda nonlocal not
 or pass raise return try while with yield
再來的東西就是寫程式的東西了
 資料型態的概念
 聽過這貨嗎?
 沒聽過 很好 那現在聽! 聽過 更好 你給我複習一次 !
 Python 內所有東西都是 object (物件)
 而物件都有他所謂的 資料型態(type)
 說幾個基本的 但是也是最最最重要的
 如果搞錯型態常常code就會噴 bug =_=
資料型態
 整數
 Integer , int ,int32 ,int64)
 Python 底下都叫做 int 但是 我還是希望你知道 其實
 有分 long (int64) 跟 short (int32)
 簡單點說 前面那個可以塞一堆數字後面那個比較少
 Example print(1+2) <-這樣就是print一個 integer 叫做 3
資料型態
 浮點數
 Float
 不用說太多 就是有小數
 Example print(1.2 + 2.2) <-這樣就是print一個 float 叫做 3.4
資料型態
 部林
 boolean
 基本上 就是 True 跟 False
 Example
 If 1 = 1 => true
資料型態
 字串
 String
 簡單說 就是一坨文字
 Example
 “你好你是叮叮”
再來 變數命名
 說到變數 就想到命名
 Example
 A = 1
 B = 1
 print(A & B)
 這樣 A / B 就是變數命名的名字 可是…當今天專案大了 請好好命名
 不要 A,AA,AAA,AAAA,AAAAAA…..
不要的垃圾 或是 不用給機器知道的
 簡稱 –柱姐-- , 註解啦!
 為何需要 , 因為 –因為沒有柱姐,會楚瑜尷尬的狀況-- , 就 反正 給人看的…
 程式碼的附加資訊
 Example
 var = 22 #var的變量
運算式
 一個程式最重要的部分
 簡單說 運算式 由 運算子(operator) 與 數字 跟 變數組成
 其實 就是 and / not / or 的概念
 也可以理解成 加減乘除 大於等於 這一類的東西
運算式
 聽不懂? 不是你的問題 我一開始也不太懂 只知道就是一坨 --狗屎—
 舉個簡單的例子 會不會 1+1 (不會的請- -退選 - -
 Ex:
 Answer = 1 + 1
 print(Answer)  2
 發現一件事情了嗎 跟我們學的數學相反
運算式
Ex: (python code)
 Answer = 1 + 1
 print(Answer)  2
Ex: (一般的數學)
 1 + 1 = X
 X = 2
 這樣看很明顯吧 , 程式 是 採用傳指 的概念 把後面的結果丟給前面的變數
 所以其實 第一個運算式是 1+1 會等於 2 第二個是 把這個 2 利用 等號 傳給 Answer
運算式-判斷大小 是否 相等
 當今天你要做的事情不是數學的 加減乘除時 而是要做 比大小 這一類的
 那 可以這樣寫嗎 ?
Ex: (python code)
 Answer = 1 + 1
 If Answer = 2 :
 print(“2 = 2”)
 else :
 print(“error”)
運算式-判斷大小 是否 相等
 老師教的好 第一次問的絕對她媽是錯的
 為何錯呢!?
Ex: (python code)
If Answer = 2 :
 恩就是個等於搞死了你!
 當今天是進行大小比較時,因為被一般數學荼毒慣了
 忘記了 code 的 = 是 傳指 那…
 我的等於死去哪了 ? 俗話說的話好 一個便當吃不飽 吃兩個嗎
 ==
陳述式
 Python 要怎樣看懂我們做啥呢? 就是這貨了!
 陳述 分兩種 單行 跟 多行
 你只要知道 這些 東西跟 運算式 是 單行
 assert break continue del global import nonlocal pass raise return yield
 用法開放 google 3分鐘 我只舉 三個例子 import 跟 return 跟 pass
陳述式
 Import 就是 匯入 模組 不管是 python 內建的還是別人寫的或是自己寫的
Ex 匯入 request 這個模組
Import request
 可是 假如今天我要匯入的是一坨裡面的 其中一組 怎摸做呢?
Ex 匯入 urlopen 這個東西 他是在 urllib.request
from urllib.request import urlopen
 很簡單吧 就是這樣就可以匯入 模組
陳述式
 Pass 沒啥好說的 …就跳過 啥是都不做
 過來 說說 return 這很重要的玩意
 舉個例子 你問電腦 今天星期幾
 這件事情看似簡單 其實 電腦是 call 一個 func()來幫你解答的
 最後把結果吐回來 顯示出來
 也就是 return 的概念 把一個func或是一個子涵式的結果吐給你主要的main
陳述式
 多行陳述
 基本上我們常拿來解決問題的方法都是這東西..
 python 內 有這摸多…
 as elif else except finally for if in try while with class function(def) …
 可惡 這個不能跳過了 !
陳述式
 先來說很重要的 東西
 迴圈跟可愛的選擇結構 (loop/select) 跟 偷懶的大絕 除錯法
 在python 中迴圈有幾種選項 in / for / while
 簡單說 有一件事情 要做的次數很多 你不想自己在那 算
 或是那件事情 是跟著 別的事件的 所以 要跟著迴圈跑
 我們就可以透過上面的 東西 請電腦幫我算出次數
陳述式
 選擇結構 聽起來很難 其實就是….
 咱們打天下的工具 if …
 選擇 所要進行的 選項 (在別的語言有 select case這種用法)
 If 就是首要的判斷 再來 看 elif (else if 簡稱 elif) 過來 最後這些指定的條件都不符合
我們才看 else …
 並且依照順序 由上而下直行
陳述式
 大絕招 ! 自體 debug 自體偷懶 全自動耍廢(?
 Try except as
 就是 直接 檢查 try 內的東西有沒有錯誤
 有錯誤的話 透過 except 的條件進行處理
 其實很多很多很多很多 人都這樣搞 最後程式就 crash ~~~~~
陳述式
 關於 def (function) 跟 return
 剛剛前面說過 return 那現在說說跟他很有關係的 def
 直接看例子
def print_meow(meow1,meow2):
if meow1 > meow2 :
return “meow”
else
return “meowmeow”
陳述式
def print_meow(meow1,meow2):
if meow1 > meow2 :
return “meow”
else
return “meowmeow”
 發現了吧其實很簡單
 Print_meow這個涵式只做一件事情 比較大小 meow1跟meow2 誰比較大
 那我在main要用他只要 print_meow(1,2) 這樣他就會回傳 meow 給我
陳述式
 講個更偷吃步的東西 lambda 又可稱為 匿名函式
print_meow = lambda meow1,meow2 : “meow” if meow1 > meow2 else “meowmeow”
 其實他跟def 一樣 但是 我可以一次一口氣寫完成
 你會發現這跟剛剛的執行結果一樣
本周先到這裡 下週 會講
 class的概念
 物件導向 實做
實做時間
 寫個 猜拳遊戲
 提示方向 :
 Import random
 Array {剪刀,石頭,步}
 歡迎開始動腦 XD..
 或是覺得太簡單我出個難一點的XDDDDD

Y3CDS - Python class 01

  • 1.
    Python Class 01 LEARNWHAT IS PYTHON
  • 2.
    python  簡單說是個程式語言  是個簡單的程式語言 歷史 約 20 年  可跨平台(透過 python vm)  直譯語言  利用 indent 縮排 來定義程式碼
  • 3.
    Python Ver  2.7-> 很多人持續使用  但是 因為 對於 中文的解析有點哀傷 有點悲慘  所以 我們  用 python 3.5  優點 改善了許多了多語言問題但  跟python 2有著一些明顯的差異例如
  • 4.
    Python 3.5 print& print()  恩 在 Python 2.7 你可以這樣寫  print pyhello / print “hello py”  但是 在 3.5 你會發現程式炸了  原因是  Print變成了一個涵式 那 學過語言的就知道 要加上  () 變成 print(pyhello) / print(“hello py”)
  • 5.
    Python vs Java 先拿 java 出來 婊 一下 (幹  聽過 java 嗎?  他們都是有vm 可跨平台  很紅的東西阿!  但是 我就是想婊java(?  請 支持 java 的 --退選-- 離開
  • 6.
    Python vs Java 其實是要讓你知道他有多簡單!  來源:  http://blogs.perceptionsystem. com/images/JavaVsPython.pn g
  • 7.
    Python vs Java 當然只是開個玩笑 我可不想造成第三次語言大戰阿  其實各有優缺點 能夠 學多點語言是最好的  
  • 8.
    Lets learn itPRINT (“簡單優雅”) ERROR(#
  • 9.
    最基本的我們來看世界(?  Hello world聽過吧  我們先看看 C 的 hello world?  #include <stdio.h>  int main(int argc, char *args[])  {  printf("Hello, world!n");  return 0;  }
  • 10.
    看起來很簡單 那我們看看 python.. print( “hello world” );  咦 你騙我 吧這摸短!?  覺得我騙你的打開 python IDLE 打上去吧!  然後你應該就會發現 py Console 吐了  Hello world給你
  • 11.
    好 你會python 了 那我們來講講怎樣寫程式?  先說說 哪些文字 python 原本就定義了  False None True and as assert break class  continue def del elif else except finally for  from global if import in is lambda nonlocal not  or pass raise return try while with yield
  • 12.
    再來的東西就是寫程式的東西了  資料型態的概念  聽過這貨嗎? 沒聽過 很好 那現在聽! 聽過 更好 你給我複習一次 !  Python 內所有東西都是 object (物件)  而物件都有他所謂的 資料型態(type)  說幾個基本的 但是也是最最最重要的  如果搞錯型態常常code就會噴 bug =_=
  • 13.
    資料型態  整數  Integer, int ,int32 ,int64)  Python 底下都叫做 int 但是 我還是希望你知道 其實  有分 long (int64) 跟 short (int32)  簡單點說 前面那個可以塞一堆數字後面那個比較少  Example print(1+2) <-這樣就是print一個 integer 叫做 3
  • 14.
    資料型態  浮點數  Float 不用說太多 就是有小數  Example print(1.2 + 2.2) <-這樣就是print一個 float 叫做 3.4
  • 15.
    資料型態  部林  boolean 基本上 就是 True 跟 False  Example  If 1 = 1 => true
  • 16.
    資料型態  字串  String 簡單說 就是一坨文字  Example  “你好你是叮叮”
  • 17.
    再來 變數命名  說到變數就想到命名  Example  A = 1  B = 1  print(A & B)  這樣 A / B 就是變數命名的名字 可是…當今天專案大了 請好好命名  不要 A,AA,AAA,AAAA,AAAAAA…..
  • 18.
    不要的垃圾 或是 不用給機器知道的 簡稱 –柱姐-- , 註解啦!  為何需要 , 因為 –因為沒有柱姐,會楚瑜尷尬的狀況-- , 就 反正 給人看的…  程式碼的附加資訊  Example  var = 22 #var的變量
  • 19.
    運算式  一個程式最重要的部分  簡單說運算式 由 運算子(operator) 與 數字 跟 變數組成  其實 就是 and / not / or 的概念  也可以理解成 加減乘除 大於等於 這一類的東西
  • 20.
    運算式  聽不懂? 不是你的問題我一開始也不太懂 只知道就是一坨 --狗屎—  舉個簡單的例子 會不會 1+1 (不會的請- -退選 - -  Ex:  Answer = 1 + 1  print(Answer)  2  發現一件事情了嗎 跟我們學的數學相反
  • 21.
    運算式 Ex: (python code) Answer = 1 + 1  print(Answer)  2 Ex: (一般的數學)  1 + 1 = X  X = 2  這樣看很明顯吧 , 程式 是 採用傳指 的概念 把後面的結果丟給前面的變數  所以其實 第一個運算式是 1+1 會等於 2 第二個是 把這個 2 利用 等號 傳給 Answer
  • 22.
    運算式-判斷大小 是否 相等 當今天你要做的事情不是數學的 加減乘除時 而是要做 比大小 這一類的  那 可以這樣寫嗎 ? Ex: (python code)  Answer = 1 + 1  If Answer = 2 :  print(“2 = 2”)  else :  print(“error”)
  • 23.
    運算式-判斷大小 是否 相等 老師教的好 第一次問的絕對她媽是錯的  為何錯呢!? Ex: (python code) If Answer = 2 :  恩就是個等於搞死了你!  當今天是進行大小比較時,因為被一般數學荼毒慣了  忘記了 code 的 = 是 傳指 那…  我的等於死去哪了 ? 俗話說的話好 一個便當吃不飽 吃兩個嗎  ==
  • 24.
    陳述式  Python 要怎樣看懂我們做啥呢?就是這貨了!  陳述 分兩種 單行 跟 多行  你只要知道 這些 東西跟 運算式 是 單行  assert break continue del global import nonlocal pass raise return yield  用法開放 google 3分鐘 我只舉 三個例子 import 跟 return 跟 pass
  • 25.
    陳述式  Import 就是匯入 模組 不管是 python 內建的還是別人寫的或是自己寫的 Ex 匯入 request 這個模組 Import request  可是 假如今天我要匯入的是一坨裡面的 其中一組 怎摸做呢? Ex 匯入 urlopen 這個東西 他是在 urllib.request from urllib.request import urlopen  很簡單吧 就是這樣就可以匯入 模組
  • 26.
    陳述式  Pass 沒啥好說的…就跳過 啥是都不做  過來 說說 return 這很重要的玩意  舉個例子 你問電腦 今天星期幾  這件事情看似簡單 其實 電腦是 call 一個 func()來幫你解答的  最後把結果吐回來 顯示出來  也就是 return 的概念 把一個func或是一個子涵式的結果吐給你主要的main
  • 27.
    陳述式  多行陳述  基本上我們常拿來解決問題的方法都是這東西.. python 內 有這摸多…  as elif else except finally for if in try while with class function(def) …  可惡 這個不能跳過了 !
  • 28.
    陳述式  先來說很重要的 東西 迴圈跟可愛的選擇結構 (loop/select) 跟 偷懶的大絕 除錯法  在python 中迴圈有幾種選項 in / for / while  簡單說 有一件事情 要做的次數很多 你不想自己在那 算  或是那件事情 是跟著 別的事件的 所以 要跟著迴圈跑  我們就可以透過上面的 東西 請電腦幫我算出次數
  • 29.
    陳述式  選擇結構 聽起來很難其實就是….  咱們打天下的工具 if …  選擇 所要進行的 選項 (在別的語言有 select case這種用法)  If 就是首要的判斷 再來 看 elif (else if 簡稱 elif) 過來 最後這些指定的條件都不符合 我們才看 else …  並且依照順序 由上而下直行
  • 30.
    陳述式  大絕招 !自體 debug 自體偷懶 全自動耍廢(?  Try except as  就是 直接 檢查 try 內的東西有沒有錯誤  有錯誤的話 透過 except 的條件進行處理  其實很多很多很多很多 人都這樣搞 最後程式就 crash ~~~~~
  • 31.
    陳述式  關於 def(function) 跟 return  剛剛前面說過 return 那現在說說跟他很有關係的 def  直接看例子 def print_meow(meow1,meow2): if meow1 > meow2 : return “meow” else return “meowmeow”
  • 32.
    陳述式 def print_meow(meow1,meow2): if meow1> meow2 : return “meow” else return “meowmeow”  發現了吧其實很簡單  Print_meow這個涵式只做一件事情 比較大小 meow1跟meow2 誰比較大  那我在main要用他只要 print_meow(1,2) 這樣他就會回傳 meow 給我
  • 33.
    陳述式  講個更偷吃步的東西 lambda又可稱為 匿名函式 print_meow = lambda meow1,meow2 : “meow” if meow1 > meow2 else “meowmeow”  其實他跟def 一樣 但是 我可以一次一口氣寫完成  你會發現這跟剛剛的執行結果一樣
  • 34.
    本周先到這裡 下週 會講 class的概念  物件導向 實做
  • 35.
    實做時間  寫個 猜拳遊戲 提示方向 :  Import random  Array {剪刀,石頭,步}  歡迎開始動腦 XD..  或是覺得太簡單我出個難一點的XDDDDD