Python ichki classlar


ULASHISH

Python ichki sinflari

Ichki class boshqa class ichida belgilangan sinfdir. Ichki class tashqi classning xususiyatlari va usullariga kirishi mumkin.

Ichki classlar faqat bitta joyda ishlatiladigan classlarni guruhlash uchun foydali bo‘lib, kodingizni yanada tartibli qiladi.

Misol

Ichki class yarating:

class Outer:   def __init__(self):     self.name = "Outer Class"   class Inner:     def __init__(self):       self.name = "Inner Class"     def display(self):       print("This is the inner class") outer = Outer() print(outer.name)
O‘zingiz sinab ko‘ring »

Tashqaridan ichki classga kirish

Ichki classga kirish uchun tashqi class obyektini yarating va keyin ichki class obyektini yarating:

Misol

Ichki classga kiring va obyekt yarating:

class Outer:   def __init__(self):     self.name = "Outer"   class Inner:     def __init__(self):       self.name = "Inner"     def display(self):       print("Hello from inner class") outer = Outer() inner = outer.Inner() inner.display()
O‘zingiz sinab ko‘ring »


Ichki sinfdan tashqi classga kirish

Python-dagi ichki classlar avtomatik ravishda tashqi class misoliga kirish imkoniga ega emas.

Agar siz ichki class tashqi classga kirishini istasangiz, tashqi class misolini parametr sifatida topshirishingiz kerak:

Misol

Tashqi class misolini ichki classga o‘tkazing:

class Outer:   def __init__(self):     self.name = "Emil"   class Inner:     def __init__(self, outer):       self.outer = outer     def display(self):       print(f"Outer class name: {self.outer.name}") outer = Outer() inner = outer.Inner(outer) inner.display()
O‘zingiz sinab ko‘ring »

Amaliy misol

Ichki classlar faqat tashqi class kontekstida ishlatiladigan yordamchi classlarni yaratish uchun foydalidir:

Misol

Avtomobil dvigatelini ifodalash uchun ichki sinfdan foydalaning:

class Car:   def __init__(self, brand, model):     self.brand = brand     self.model = model     self.engine = self.Engine()   class Engine:     def __init__(self):       self.status = "Off"     def start(self):       self.status = "Running"       print("Engine started")     def stop(self):       self.status = "Off"       print("Engine stopped")   def drive(self):     if self.engine.status == "Running":       print(f"Driving the {self.brand} {self.model}")     else:       print("Start the engine first!") car = Car("Toyota", "Corolla") car.drive() car.engine.start() car.drive()
O‘zingiz sinab ko‘ring »

Bir nechta ichki classlar

Bir class bir nechta ichki sinflarga ega bo‘lishi mumkin:

Misol

Bir nechta ichki classlarni yarating:

class Computer:   def __init__(self):     self.cpu = self.CPU()     self.ram = self.RAM()   class CPU:     def process(self):       print("Processing data...")   class RAM:     def store(self):       print("Storing data...") computer = Computer() computer.cpu.process() computer.ram.store()
O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!