{"id":8165,"date":"2024-03-07T11:32:25","date_gmt":"2024-03-07T10:32:25","guid":{"rendered":"https:\/\/softinery.com\/pl\/?page_id=8165"},"modified":"2024-07-24T09:11:29","modified_gmt":"2024-07-24T07:11:29","slug":"kurs-python-programowanie-obiektowe","status":"publish","type":"page","link":"https:\/\/softinery.com\/pl\/blog\/kurs-python-programowanie-obiektowe\/","title":{"rendered":"Kurs Python: programowanie obiektowe"},"content":{"rendered":"<style>.wp-block-kadence-advancedheading.kt-adv-heading8165_195e1c-44, .wp-block-kadence-advancedheading.kt-adv-heading8165_195e1c-44[data-kb-block=\"kb-adv-heading8165_195e1c-44\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading8165_195e1c-44 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading8165_195e1c-44[data-kb-block=\"kb-adv-heading8165_195e1c-44\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading8165_195e1c-44 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading8165_195e1c-44[data-kb-block=\"kb-adv-heading8165_195e1c-44\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading8165_195e1c-44 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading8165_195e1c-44\">Czym jest programowanie obiektowe?<\/h2>\n\n\n\n<p>Programowanie obiektowe (OOP &#8211; object-oriented programming) to paradygmat programowania polegaj\u0105cy na odzwierciedleniu element\u00f3w \u015bwiata rzeczywistego (ale i nie tylko) poprzez tzw. obiekty. Zaletami tego paradygmatu jest mi\u0119dzy innymi du\u017ca modu\u0142owo\u015b\u0107, kt\u00f3ra pozwala na lepsz\u0105 organizacj\u0119 programu. Dzi\u0119ki temu, \u017ce idea opiera si\u0119 na konstrukcji \u015bwiata realnego, to paradygmat ten bardzo dobrze sprawdza si\u0119 w zastosowaniach zwi\u0105zanych z zarz\u0105dzaniem rzeczywistymi systemami (np. systemy zarz\u0105dzania magazynami). Aby zrozumie\u0107 zasady programowania obiektowego, nale\u017cy zacz\u0105\u0107 od poj\u0119cia klasy.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading8165_8c5cf2-9f, .wp-block-kadence-advancedheading.kt-adv-heading8165_8c5cf2-9f[data-kb-block=\"kb-adv-heading8165_8c5cf2-9f\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading8165_8c5cf2-9f mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading8165_8c5cf2-9f[data-kb-block=\"kb-adv-heading8165_8c5cf2-9f\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading8165_8c5cf2-9f img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading8165_8c5cf2-9f[data-kb-block=\"kb-adv-heading8165_8c5cf2-9f\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading8165_8c5cf2-9f wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading8165_8c5cf2-9f\">Klasa<\/h3>\n\n\n\n<p>Podstawowym poj\u0119ciem w programowaniu obiektowym jest klasa, kt\u00f3rej celem jest opisanie, jak b\u0119dzie skonstruowany dany obiekt i jak b\u0119dzie si\u0119 zachowywa\u0142. Klas\u0119 mo\u017cemy sobie wyobrazi\u0107 jako instrukcj\u0119 budowy obiektu. Przypu\u015b\u0107my, \u017ce chcemy stworzy\u0107 obiekt reprezentuj\u0105cy samoch\u00f3d. Klasa b\u0119dzie uwzgl\u0119dnia\u0107, z jakich element\u00f3w samoch\u00f3d si\u0119 sk\u0142ada (tzw. atrybuty) i jakie czynno\u015bci mo\u017cna w zwi\u0105zku z nim wykonywa\u0107 (tzw. metody). Klasa opisuj\u0105ca taki obiekt mo\u017ce by\u0107 stworzona na r\u00f3\u017cne sposoby, mo\u017ce np. r\u00f3\u017cni\u0107 si\u0119 stopniem szczeg\u00f3\u0142owo\u015bci, w zale\u017cno\u015bci od tego, jakie b\u0119dzie przeznaczenie programu, kt\u00f3ry tworzymy. Prosta klasa <code>Samochod<\/code> mo\u017ce uwzgl\u0119dnia\u0107 takie elementy jak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Atrybuty:\n<ul class=\"wp-block-list\">\n<li>marka<\/li>\n\n\n\n<li>model<\/li>\n\n\n\n<li>moc silnika<\/li>\n\n\n\n<li>pr\u0119dko\u015b\u0107<\/li>\n\n\n\n<li>itd.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li> Metody:\n<ul class=\"wp-block-list\">\n<li>Uruchom silnik<\/li>\n\n\n\n<li>Zatrzymaj silnik<\/li>\n\n\n\n<li>Przyspiesz<\/li>\n\n\n\n<li>itd.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading8165_853828-d9, .wp-block-kadence-advancedheading.kt-adv-heading8165_853828-d9[data-kb-block=\"kb-adv-heading8165_853828-d9\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading8165_853828-d9 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading8165_853828-d9[data-kb-block=\"kb-adv-heading8165_853828-d9\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading8165_853828-d9 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading8165_853828-d9[data-kb-block=\"kb-adv-heading8165_853828-d9\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading8165_853828-d9 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading8165_853828-d9\">Obiekt<\/h3>\n\n\n\n<p>Atrybuty opisuj\u0105 cechy obiektu i jego stan, z kolei metody opisuj\u0105 dzia\u0142ania, kt\u00f3re wp\u0142ywaj\u0105 na atrybuty. Klas\u0119 wykorzystujemy do stworzenia obiektu. Na przyk\u0142ad mo\u017cemy stworzy\u0107 obiekt <code>Ford_Focus <\/code>klasy <code>Samochod<\/code>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Atrybuty:\n<ul class=\"wp-block-list\">\n<li>marka = Ford<\/li>\n\n\n\n<li>model = Focus<\/li>\n\n\n\n<li>moc silnika = 125<\/li>\n\n\n\n<li>pr\u0119dko\u015b\u0107 = 0<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Stan samochodu <code>Ford_Focus<\/code> mo\u017ce by\u0107 p\u00f3\u017aniej modyfikowany zgodnie z metodami zdefiniowanymi wewn\u0105trz klasy.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading8165_27a8ea-8d, .wp-block-kadence-advancedheading.kt-adv-heading8165_27a8ea-8d[data-kb-block=\"kb-adv-heading8165_27a8ea-8d\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading8165_27a8ea-8d mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading8165_27a8ea-8d[data-kb-block=\"kb-adv-heading8165_27a8ea-8d\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading8165_27a8ea-8d img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading8165_27a8ea-8d[data-kb-block=\"kb-adv-heading8165_27a8ea-8d\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading8165_27a8ea-8d wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading8165_27a8ea-8d\">Implementacja klasy w Pythonie<\/h2>\n\n\n\n<p>Poni\u017cszy kod przedstawia klas\u0119, kt\u00f3r\u0105 powy\u017cej. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers cbp-highlight-hover\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#24292e;--cbp-line-number-width:calc(2 * 0.6 * .875rem);--cbp-line-highlight-color:rgba(16, 41, 67, 0.2);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#ffffff\"><span style=\"background:#2f363c;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#ffffff\">Python<\/span><\/span><span role=\"button\" tabindex=\"0\" data-code=\"class Samochod:\n    def __init__(self, marka, model, moc_silnika):\n        self.marka = marka\n        self.model = model\n        self.moc_silnika = moc_silnika\n        self.predkosc = 0  # Na pocz\u0105tku samoch\u00f3d stoi, wi\u0119c pr\u0119dko\u015b\u0107 wynosi 0\n    \n    def uruchom_silnik(self):\n        print(&quot;Silnik zosta\u0142 uruchomiony.&quot;)\n\n    def zatrzymaj_silnik(self):\n        print(&quot;Silnik zosta\u0142 zatrzymany.&quot;)\n    \n    def przyspiesz(self, wartosc):\n        self.predkosc += wartosc\n        print(f&quot;Przyspieszono. Aktualna pr\u0119dko\u015b\u0107: {self.predkosc} km\/h.&quot;)\" style=\"color:#24292e;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-light\" style=\"background-color: #fff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D73A49\">class<\/span><span style=\"color: #24292E\"> <\/span><span style=\"color: #6F42C1\">Samochod<\/span><span style=\"color: #24292E\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #D73A49\">def<\/span><span style=\"color: #24292E\"> <\/span><span style=\"color: #005CC5\">__init__<\/span><span style=\"color: #24292E\">(self, marka, model, moc_silnika):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">        <\/span><span style=\"color: #005CC5\">self<\/span><span style=\"color: #24292E\">.marka <\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #24292E\"> marka<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">        <\/span><span style=\"color: #005CC5\">self<\/span><span style=\"color: #24292E\">.model <\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #24292E\"> model<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">        <\/span><span style=\"color: #005CC5\">self<\/span><span style=\"color: #24292E\">.moc_silnika <\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #24292E\"> moc_silnika<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">        <\/span><span style=\"color: #005CC5\">self<\/span><span style=\"color: #24292E\">.predkosc <\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #24292E\"> <\/span><span style=\"color: #005CC5\">0<\/span><span style=\"color: #24292E\">  <\/span><span style=\"color: #6A737D\"># Na pocz\u0105tku samoch\u00f3d stoi, wi\u0119c pr\u0119dko\u015b\u0107 wynosi 0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #D73A49\">def<\/span><span style=\"color: #24292E\"> <\/span><span style=\"color: #6F42C1\">uruchom_silnik<\/span><span style=\"color: #24292E\">(self):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">        <\/span><span style=\"color: #005CC5\">print<\/span><span style=\"color: #24292E\">(<\/span><span style=\"color: #032F62\">&quot;Silnik zosta\u0142 uruchomiony.&quot;<\/span><span style=\"color: #24292E\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #D73A49\">def<\/span><span style=\"color: #24292E\"> <\/span><span style=\"color: #6F42C1\">zatrzymaj_silnik<\/span><span style=\"color: #24292E\">(self):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">        <\/span><span style=\"color: #005CC5\">print<\/span><span style=\"color: #24292E\">(<\/span><span style=\"color: #032F62\">&quot;Silnik zosta\u0142 zatrzymany.&quot;<\/span><span style=\"color: #24292E\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">    <\/span><span style=\"color: #D73A49\">def<\/span><span style=\"color: #24292E\"> <\/span><span style=\"color: #6F42C1\">przyspiesz<\/span><span style=\"color: #24292E\">(self, wartosc):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">        <\/span><span style=\"color: #005CC5\">self<\/span><span style=\"color: #24292E\">.predkosc <\/span><span style=\"color: #D73A49\">+=<\/span><span style=\"color: #24292E\"> wartosc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">        <\/span><span style=\"color: #005CC5\">print<\/span><span style=\"color: #24292E\">(<\/span><span style=\"color: #D73A49\">f<\/span><span style=\"color: #032F62\">&quot;Przyspieszono. Aktualna pr\u0119dko\u015b\u0107: <\/span><span style=\"color: #005CC5\">{self<\/span><span style=\"color: #24292E\">.predkosc<\/span><span style=\"color: #005CC5\">}<\/span><span style=\"color: #032F62\"> km\/h.&quot;<\/span><span style=\"color: #24292E\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Przeanalizujmy sk\u0142adni\u0119:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>class<\/code>: S\u0142owo kluczowe u\u017cywane do definiowania nowej klasy.<\/li>\n\n\n\n<li><code>Samochod<\/code>: Nazwa klasy. Nazwy klas zazwyczaj pisane s\u0105 z du\u017cej litery, zgodnie z konwencj\u0105 nazewnictwa w j\u0119zyku Python.<\/li>\n\n\n\n<li><code>def __init__(self, marka, model, moc_silnika)<\/code> &#8211; tzw. konstruktor, kt\u00f3ry jest automatycznie wywo\u0142ywany podczas tworzenia nowego obiektu klasy.<\/li>\n\n\n\n<li><code>self<\/code>: S\u0142owo kluczowe, kt\u00f3re odnosi si\u0119 do obiektu, na kt\u00f3rym jest wywo\u0142ywana metoda. Jest to konwencja w Pythonie, aby wskazywa\u0107 na bie\u017c\u0105cy obiekt.<\/li>\n\n\n\n<li><code>marka<\/code>, <code>model<\/code>, <code>moc_silnika<\/code>: Argumenty konstruktora, kt\u00f3re s\u0105 przekazywane podczas tworzenia nowego obiektu klasy <code>Samochod<\/code>.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers cbp-highlight-hover\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#24292e;--cbp-line-number-width:calc(2 * 0.6 * .875rem);--cbp-line-highlight-color:rgba(16, 41, 67, 0.2);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#ffffff\"><span style=\"background:#2f363c;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#ffffff\">Python<\/span><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# Tworzenie obiektu klasy Samochod\nmoj_samochod = Samochod(&quot;Toyota&quot;, &quot;Corolla&quot;, 150)\n\n# Uruchamiamy silnik\nmoj_samochod.uruchom_silnik()\n\n# Przyspieszamy o 30 km\/h\nmoj_samochod.przyspiesz(30)\n\n# Przyspieszamy o kolejne 20 km\/h\nmoj_samochod.przyspiesz(20)\n\n# Zatrzymujemy silnik\nmoj_samochod.zatrzymaj_silnik()\" style=\"color:#24292e;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-light\" style=\"background-color: #fff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A737D\"># Tworzenie obiektu klasy Samochod<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">moj_samochod <\/span><span style=\"color: #D73A49\">=<\/span><span style=\"color: #24292E\"> Samochod(<\/span><span style=\"color: #032F62\">&quot;Toyota&quot;<\/span><span style=\"color: #24292E\">, <\/span><span style=\"color: #032F62\">&quot;Corolla&quot;<\/span><span style=\"color: #24292E\">, <\/span><span style=\"color: #005CC5\">150<\/span><span style=\"color: #24292E\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A737D\"># Uruchamiamy silnik<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">moj_samochod.uruchom_silnik()<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A737D\"># Przyspieszamy o 30 km\/h<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">moj_samochod.przyspiesz(<\/span><span style=\"color: #005CC5\">30<\/span><span style=\"color: #24292E\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A737D\"># Przyspieszamy o kolejne 20 km\/h<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">moj_samochod.przyspiesz(<\/span><span style=\"color: #005CC5\">20<\/span><span style=\"color: #24292E\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A737D\"># Zatrzymujemy silnik<\/span><\/span>\n<span class=\"line\"><span style=\"color: #24292E\">moj_samochod.zatrzymaj_silnik()<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>Wynik:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Silnik zosta\u0142 uruchomiony.\nPrzyspieszono. Aktualna pr\u0119dko\u015b\u0107: 30 km\/h.\nPrzyspieszono. Aktualna pr\u0119dko\u015b\u0107: 50 km\/h.<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Czym jest programowanie obiektowe? Programowanie obiektowe (OOP &#8211; object-oriented programming) to paradygmat programowania polegaj\u0105cy na odzwierciedleniu element\u00f3w \u015bwiata rzeczywistego (ale i nie tylko) poprzez tzw. obiekty. Zaletami tego paradygmatu jest mi\u0119dzy innymi du\u017ca modu\u0142owo\u015b\u0107, kt\u00f3ra pozwala na lepsz\u0105 organizacj\u0119 programu. Dzi\u0119ki temu, \u017ce idea opiera si\u0119 na konstrukcji \u015bwiata realnego, to paradygmat ten bardzo dobrze&hellip;&nbsp;<a href=\"https:\/\/softinery.com\/pl\/blog\/kurs-python-programowanie-obiektowe\/\" rel=\"bookmark\">Dowiedz si\u0119 wi\u0119cej &raquo;<span class=\"screen-reader-text\">Kurs Python: programowanie obiektowe<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":578,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-8165","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Kurs Python: programowanie obiektowe<\/title>\n<meta name=\"description\" content=\"Programowanie obiektowe w Pythonie polega na odzwierciedleniu element\u00f3w \u015bwiata rzeczywistego poprzez tzw. obiekty.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/softinery.com\/pl\/blog\/kurs-python-programowanie-obiektowe\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kurs Python: programowanie obiektowe\" \/>\n<meta property=\"og:description\" content=\"Programowanie obiektowe w Pythonie polega na odzwierciedleniu element\u00f3w \u015bwiata rzeczywistego poprzez tzw. obiekty.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/softinery.com\/pl\/blog\/kurs-python-programowanie-obiektowe\/\" \/>\n<meta property=\"og:site_name\" content=\"Softinery\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-24T07:11:29+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minuty\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kurs Python: programowanie obiektowe","description":"Programowanie obiektowe w Pythonie polega na odzwierciedleniu element\u00f3w \u015bwiata rzeczywistego poprzez tzw. obiekty.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/softinery.com\/pl\/blog\/kurs-python-programowanie-obiektowe\/","og_locale":"pl_PL","og_type":"article","og_title":"Kurs Python: programowanie obiektowe","og_description":"Programowanie obiektowe w Pythonie polega na odzwierciedleniu element\u00f3w \u015bwiata rzeczywistego poprzez tzw. obiekty.","og_url":"https:\/\/softinery.com\/pl\/blog\/kurs-python-programowanie-obiektowe\/","og_site_name":"Softinery","article_modified_time":"2024-07-24T07:11:29+00:00","twitter_card":"summary_large_image","twitter_misc":{"Szacowany czas czytania":"2 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/softinery.com\/pl\/blog\/kurs-python-programowanie-obiektowe\/","url":"https:\/\/softinery.com\/pl\/blog\/kurs-python-programowanie-obiektowe\/","name":"Kurs Python: programowanie obiektowe","isPartOf":{"@id":"https:\/\/softinery.com\/pl\/#website"},"datePublished":"2024-03-07T10:32:25+00:00","dateModified":"2024-07-24T07:11:29+00:00","description":"Programowanie obiektowe w Pythonie polega na odzwierciedleniu element\u00f3w \u015bwiata rzeczywistego poprzez tzw. obiekty.","breadcrumb":{"@id":"https:\/\/softinery.com\/pl\/blog\/kurs-python-programowanie-obiektowe\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/softinery.com\/pl\/blog\/kurs-python-programowanie-obiektowe\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/softinery.com\/pl\/blog\/kurs-python-programowanie-obiektowe\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/softinery.com\/pl\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/softinery.com\/pl\/blog\/"},{"@type":"ListItem","position":3,"name":"Kurs Python: programowanie obiektowe"}]},{"@type":"WebSite","@id":"https:\/\/softinery.com\/pl\/#website","url":"https:\/\/softinery.com\/pl\/","name":"Softinery","description":"Rozwi\u0105zania IT dla nowoczesnego przemys\u0142u","publisher":{"@id":"https:\/\/softinery.com\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/softinery.com\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/softinery.com\/pl\/#organization","name":"Softinery","url":"https:\/\/softinery.com\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/softinery.com\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/softinery.com\/wp-content\/uploads\/sites\/5\/2023\/05\/cropped-Gear-logo-transparent-1.webp","contentUrl":"https:\/\/softinery.com\/wp-content\/uploads\/sites\/5\/2023\/05\/cropped-Gear-logo-transparent-1.webp","width":512,"height":512,"caption":"Softinery"},"image":{"@id":"https:\/\/softinery.com\/pl\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/softinery.com\/pl\/wp-json\/wp\/v2\/pages\/8165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/softinery.com\/pl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/softinery.com\/pl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/softinery.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/softinery.com\/pl\/wp-json\/wp\/v2\/comments?post=8165"}],"version-history":[{"count":33,"href":"https:\/\/softinery.com\/pl\/wp-json\/wp\/v2\/pages\/8165\/revisions"}],"predecessor-version":[{"id":8223,"href":"https:\/\/softinery.com\/pl\/wp-json\/wp\/v2\/pages\/8165\/revisions\/8223"}],"up":[{"embeddable":true,"href":"https:\/\/softinery.com\/pl\/wp-json\/wp\/v2\/pages\/578"}],"wp:attachment":[{"href":"https:\/\/softinery.com\/pl\/wp-json\/wp\/v2\/media?parent=8165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softinery.com\/pl\/wp-json\/wp\/v2\/categories?post=8165"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softinery.com\/pl\/wp-json\/wp\/v2\/tags?post=8165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}