2. Class = object factory¶
![](../../_images/TWP58_006.jpg)
![](../../_images/TWP58_007.jpg)
2.1. Class SoundPanel¶
2.2. Main program¶
Try running this code in your PC and see the code dynamically generate soundpanels for wav files in your directory.
from tkinter import *
from sound_panel import *
import pygame.mixer
import os
app = Tk()
app.title("Head First Mix")
mixer = pygame.mixer
mixer.init()
dirList = os.listdir(".")
for fname in dirList:
if fname.endswith(".wav") and fname[0] in '345':
SoundPanel(app,mixer,fname).pack()
def shutdown():
mixer.stop()
app.destroy()
app.protocol("WM_DELETE_WINDOW",shutdown)
app.mainloop()
Congratulations! Now you know how to create complex programs with little code.
![](../../_images/TWP58_010.png)
![](../../_images/TWP58_011.png)
2.3. Remember¶
Classes are object factories
Class = methods + data
Create objects = instantiate a class
class - begins the definition of a class
self - assigned to the current object
__init__() - called when the object is created
You have attempted of activities on this page