Własne moduły, jak to ugryźć

0

Witam, próbuje nauczyć programować swoje moduły, jednak jak to na początku bywa napotkałem na problem. Mam dwa pliki - start.py

import sypialnia

sypialnia.__init__(5,8)

i drugi sypialnia.py

class Program:
    def __init__(self,a,b):
        self.a = a
        self.b = b
        
        self.c = self.a+self.b

Po wysłaniu dwóch danych 5 i 8 otrzymuje wynik module() argument 'name' must be str, not int, dlaczego nie mogę wysłać argumentu int tylko string. Druga rzecz jaka mnie interesuje a jakiej nie mogę znaleźć to jak wysłać zmienną c z powrotem do start.py. Nie chce tego robić na zasadzie dodania w def init print(self.c). Potrzebuje wykorzystać zmienną self c do dalszych wyliczeń w pliku start.py.

Nie wiem czy trochę tego nie pomieszałem, ale jeśli ktoś może mi to jakoś pokazać, będę wdzięczny. Jak dotąd zawsze pisałem program w jednym pliku teraz potrzebuje stworzyć swoje moduły.

3

o_O czy ty w ogóle rozumiesz co robisz? Bo chciałeś chyba zrobić sypialnia.Program(5,8)

0

start.py

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import sypialnia

room = sypialnia.Program(5,8)
print(room)

wynik = room.add() 
print(wynik)

sypialnia.py

#!/usr/bin/python3
# -*- coding: utf-8 -*-

class Program:
    def __init__(self,a,b):
        self.a = a
        self.b = b

    def __repr__(self):
        return f'Program(a={self.a}, b={self.b})'
    
    def add(self):
        return (self.a + self.b)

0

@nanoant20: Dziękuję za pomoc, zaczynam łapać o co chodzi :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1