iT邦幫忙

2023 iThome 鐵人賽

DAY 13
1
自我挑戰組

那些有趣的程式系列 第 13

【Day13】從零開始的程式大亂鬥:類別

  • 分享至 

  • xImage
  •  

先前的文章介紹了C語言中的結構 struct ,今天則是要談談在Python中與此相似的 class

class 相較 struct 不同的地方在於, class 有更高的自由度,能實現更複雜的資料結構,而他有以下特點:

  • 能放資料
  • 能放函式
  • 能設置資料與函式訪問的權限

因此 class 可以當作是 struct 的進化版。

實際例子:
Python

class Person:
    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender

    def getName(self):
        return self.name
    def getAge(self):
        return self.age
    def getGender(self):
        return self.gender
    
person1 = Person('John', '19', 'M')

print(person1.getName())
print(person1.getAge())
print(person1.getGender())

程式碼中除了基本的資料以外,還有初始化、取得資料的函式,這是與 struct 只能單純存放資料不同的地方。

輸出結果:

John
19
M

上一篇
【Day12】從零開始的程式大亂鬥:指標
下一篇
【Day14】從零開始的程式大亂鬥:錯誤處理
系列文
那些有趣的程式35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言