Posty

Wyświetlanie postów z sierpień, 2017

Klasy, Przestrzenie nazw, Nonlocal, Global i Local. Czy Python ma zmienne prywatne ?

Cześć! Fajnie Cię widzieć. Dzisiaj zajmiemy się tematem klas. Python jest językiem obiektowym, nie zawierającym w sobie jednak niektórych elementów, które zawierają inne języki. Nie posiada zmiennych typu prywatnych, chronionych. I Nie. Nie jest prawdą, że zapis __ sprawia, że pole staje się superprivate.  W Pythonie nie ma sensu komplikować sobie życia modyfikatorami dostępu. Ale o tym może później. Jak wygląda składnia klasy ? class nazwa():  ...statements... Klasa to przepis jak zrobić dany obiekt. Przepis to jednak jeszcze nie wykonanie, dlatego musimy coś w środku umieścić po czym stworzyć obiekt, który będzie już miał określone cechy. W Pythonie wygląda to podobnie jak w C++. Jest jednak kilka różnic. Zanim to zrobimy, zróbmy coś lubicie, czyli zajmiemy się przykładem class MyClass(): def name_space(value): def show(): nonlocal value value = value + 1 return value show() print(value) return value for i in range(3): x = MyCla

Python import modułów

Często się zdarza, że potrzebujemy w programie rozbić coś na mniejsze części. Znacznie prościej skupić się na mniejszej rzeczy, niż na całym programie od razu. Poza tym, znacznie lepiej jest później zarządzać takim kodem. Wyszukanie błędów, w programie napisanym w jednym pliku zajmującym 1000 linii kodu jest trudniejsze niż w 100 liniach, a które wiemy że są powiązane z danym błędem. Ten post może być również użyteczny dla osób piszących w C++, gdyż podział na pliki występuje również w C++. W tym języku używa się do tego celu instrukcji #include i załącza potrzebne pliki. Jeśli są w tej samej lokalizacji piszemy po prostu jej nazwę w cudzysłowiu. W pythonie występuje coś podobnego z dodatkowymi zabezpieczeniami. Przed wieloma dodawaniami, które są w C++ zmorą, a które tutaj są importowane po prostu raz, żeby uniknąć wielokrotnego dodawania. Nosi to nazwę moduł. Moduł to pojedyńczy plik zawierający dane, które Nas interesują na podany przez Nas temat. Dla przykładu można podać wyszu

Python podstawy

Cześć! Dzisiaj zajmiemy się czymś nietypowym. Nie będzie to nic z C++, a języka Python. Języka, który robi się coraz popularniejszy, z uwagi na jego prostotę. Z racji tego, że w poprzednich postach, zwykle lubiliście przykłady, zamiast suchej definicji, wytłumaczymy sobie podstawowe składnie pythona na przykładzie. Wypisanie na ekranie słowa Hello World, wymaga w C++ takiego czegoś: #include <iostream> int main(){ std::cout<<"Hello World!\n"; } W pythonie wystarczy napisać: print("Hello World!") I to bez żadnych znaczników nowej lini. Python zrobi to za Nas. Jak napisać kilka różnych danych w tej samej lini ? print("Hello","Word","!") W tym języku nie musimy również używać średników. Dodatkowo w C++ apostrofy oznaczały pojedyńczy znak. Natomiast w Pythonie oznaczają one to samo co ciąg znaków w C++. Czyli można powiedzieć, że apostrof jest równy cudzysłowom. Z uwagi na to, że znacznie c

Przeciążanie operatorów w C++

Cześć! Fajnie, że jesteś. Czym jest przeciążanie operatorów ? To możliwość użycia operatora w sposób niestandardowy w celu osiągnięcia zakładnego rezultatu. Na wstępie warto wspomnieć, że operatory nie rozwiązują żadnych problemów. Są one używane, w celu zapisania czegoś skomplikowanego w sposób prosty. Jakie wyróżniamy operatory ? Lista możliwych przeciążeń operatorów jest dosyć długa, dlatego najlepiej podlinkować ich listę: Lista operatorów możliwych i nie do przeciążenia Od czego zaczniemy Nasze rozważania ? Rozpoczynamy od operatora przypisania, o którym wspominałem w poprzednim poście. Więc wyjaśnijmy to sobie. Operator przypisania jest przeciążonym operator znaku równości, czyli = . Co on robi ? Głównym celem jest przypisanie zmiennych jednego obiektu, do drugiego. Jednocześnie warto zauważyć, że nie koniecznie musimy robić to co Nam karze operator przeciążenia i równie dobrze możemy wypisać tam sekretne wyznanie. A teraz do rzeczy. Jak to przeciążyć