Nattawut Phetmak
Jack of all Trades
การประกาศ class สามารถทำได้โดย
class Minimal:
pass
และเมื่อต้องการสร้าง object จาก class ก็สามารถประกาศได้ดังนี้
nothing = Minimal()
zen = Minimal()
nothing != zen # True
การเพิ่ม attribute เข้าไปใน object ก็สามารถทำได้ง่ายๆ เช่น
empty = set()
def oh_wow():
print('oh wow!')
nothing.nothing = empty
zen.satori = oh_wow
zen.satori()
# print: oh wow!
และเราสามารถดักการ init object ได้โดย
class Planet:
'''build the planet.'''
name = 'Unobserved planet'
def __init__(self, name='Undefined'):
self.name = name
venus = Planet('Venus')
hades = Planet()
ทั้งนี้ การประกาศฟังก์ชันภายใน class จะต้องส่งผ่าน self
เข้าไปด้วยนะครับ
ส่วนการสืบทอด class ทำได้เช่นนี้
class Asteroid(Planet):
'''build the asteroid'''
name = 'Unobserved asteroid'
def attack(self, target='Unknown'):
print('{} impact into {}.'.format(self.name, target))
อนึ่ง การประกาศตัวแปรแบบ private ทำได้ดังนี้
class spy:
'''create spy'''
__name = 'unknown'
false_name = 'John Smith'
อย่างไรก็ตาม เรายังสามารถเข้าถึงตัวแปรแบบ private ได้อยู่ดี โดย
me = spy()
print(me._spy__name)
# print private variable spy's name