網頁初談&物件導向基礎

lecturer:琪雅

OUTLINE

  • 網路初談

  • 物件導向

  • Quiz

網頁初談

  • 前端
  • 後端

前端&後端

前端語言

後端語言

物件導向

  • Function 函式

  • Module 模組

  • Package 套件

  • Class 類別

  • Object 物件

Function 函式

def add(a, b):
    return a+b
print(add(1, 2))

Python的函數以def開頭作為宣告

Module 模組

# Save as math_module.py
def add(a, b):
  return a+b
def sub(a, b):
  return a-b
def p(content):
    return print(content)
p(add(1,2)) #3
p(sub(3,4)) #-1
#test_math.py
import math_module as m
print(m.add(1,2)) #3
m.p(m.sub(2, 3))  #-1
  • 它提供了名稱空間,而模組中的變數、函數與類別,基本上需透過模組的名稱空間來取得。
  • 一個py檔就是一個Module
  • import: 直接把整個Module都引入進來
  • from … import …: 從某個Module引入某個東西
  • import … as …: 把引入進來的東西取一個別名,方便使用

Package 套件

把很多個Module放在同一個資料夾中,就變成一個Package

Class 類別

  • 定義一件事物的抽象特點
  • 包含了資料的形式(屬性, Field)以及對資料的操作(方法, Method)。
  • 類別算是一個藍圖、一個範本、一個可參考的文件,他沒有 實體 (Instance) 的概念,屬靜態的。
class Dog():
	def __init__(self, name, age):
		self.name = name
		self.age = age   

Object 物件

  • 物件也就是類別的實例
  • 是一個看的到、摸的到的實體,屬於動態的,狀態會隨時改變,但架構與行為不會改變。
a = Dog("Lucky", 8)  #建立一個名叫dog的Animal實體(物件)
print(a.name, a.age)

Quiz

  1. 請問「Module模組」是否包含「Function 函式」?
  2. 請問「Package套件」是否包含「Module模組」?
  3. 請問「Module模組」是否包含「Class類別」?
  4. 請問「Class類別」是否包含「Attribute屬性」?
  5. 請問「Object物件」是否包含「Methods方法」?
  6. 請問「Object物件」可不可以包含「Object物件」?
Made with Slides.com