class Employee:
# Class variable (shared across all instances)
company_name = "ABC Technologies"
employee_count = 0 # Track number of employees
def __init__(self, name, position):
# Instance variables (unique to each instance)
self.name = name
self.position = position
Employee.employee_count += 1
def introduce(self):
print("Hello, my name is", self.name, "and I work as a", self.position, "at", Employee.company_name)
# Create two employee instances
emp1 = Employee("Alice", "Software Engineer")
emp2 = Employee("Bob", "Data Analyst")
# Access and modify class variable
print("Company name:", Employee.company_name) # Output: Company name: ABC Technologies
Employee.company_name = "XYZ Solutions" # Change company name for all instances
# Access and modify instance variables
print(emp1.name, emp1.position) # Output: Alice Software Engineer
emp1.position = "Senior Software Engineer" # Change position for emp1 only
# Demonstrate shared class variable
print("Total employees:", Employee.employee_count) # Output: Total employees: 2