8/22/2020 Taiwan Python 讀書會
Ming-der Wang, 王銘德
(適合 Python 初學者)
for beginners only
內含 git 版控
Python 語言 記憶體 C 語言的記憶體
aList = [] a = 100 aString = 'Hello World' Pi = 3.1415926535897 aDog = Dog("小黃") b = a * 3
舉例:
變數名稱
物件實體 (instance)
這裡的"等號" = , 表示右邊的物件實體或經過運算後放入左邊的變數
(嚴格說, 應該左邊變數名稱指向右邊的結果記憶體位置)
要以英文字母當開頭, A-z, 或底線 _
物件的實體
*資料型態 class ( => type) 是哪一個類別
* 內容 values ( => attributes) 屬性
* 運算元 functions ( => methods) 函式方法
(類別) Class 定義了 Object,而 Object 就是 Class 的一個 Instance (實體)
student_name = '李大中'
ch_score = 98
math_score = 90
# 計算總分和平均
total = ch_score + math_score
average = total / 2
def avg:
return total/2
print('平均成績:', avg())
class Student:
def __init__(self,name,ch_score, math_score):
self.name = name
self.ch_score = ch_score
self.math_score = math_score
def average(self):
return (self.ch_score + self.math_score) / 2
student_lee = Student('李大中', 98, 90)
print ( '平均成績:', student_lee.average() )
Class 名稱第一個字用大寫字母
self 是物件自己
物件實體 (instance)
(類別) Class 定義了 Object,而 Object 就是 Class 的一個 Instance (實體)
student_lee
(可以再產生更多實體)
1. __init__ (實體創建時會被 call)
2. average
class Student:
哪些是 attributes 呢?
(有 3 個)
(類別) Class 定義了 Object,而 Object 就是 Class 的一個 Instance (實體)
aList = [1,2,3]
(可以再產生更多實體)
print(dir(list)) 非 _ 開頭的
'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'
print(type(list))<class 'list'>
哪些是 attributes 呢?
用 import inspect 找
emptyList = [ ]
number_list = [1,2,3]
str_list = ['apple', 'orange']
a_list = []
# 以下兩個是 Student 實體
student_lee = Student('李大中', 98, 90)
ming = Student('王銘德', 58, 62)
# list 可以用 append() 增加清單內容
a_list.append (student_lee)
a_list.append (ming)
# a_list[0] 表示第一個 物件的實體
print (a_list[0].name, a_list[0].average(), sep = ' ')
# for xxx in yyy, 可以重複跑完所有清單項目
for item in a_list:
print (item.name, item.average(), sep = ' ')
# 先創建一個空的 list 叫 a_list
李大中 94.0
王銘德 60.0
李大中 94.0
請多加練習
只要你有 github.com 帳號, 不必學 git 指令也能用