#python

36
140

Przez lata skompilowałem sobie listę pytań, z którymi najczęściej spotkałem się na rozmowach kwalifikacyjnych - może komuś się przyda:


  • Czym w ogóle jest Python i jakie ma wady i zalety?

  • Jakie prymitywne typy danych oferuje Python i jakie mają właściwości?

  • Które złożone typy danych są mutowalne i dlaczego jest to przydatne?

  • Jakie znasz różnice pomiędzy Pythonem 2 a 3?

  • Podaj metody formatowania ciągów znaków (stringów) i interpolacji zmiennych

  • Wymień kilka najczęściej używanych modułów z biblioteki standardowej i ich zastosowanie

  • Z jakimi zewnętrznymi modułami lubisz pracować najbardziej?

  • Wyjaśnij wyrażenia listowe (list comprehensions) i podaj ich przykład

  • Jak wykonać kod Pythona asynchronicznie?

  • Podaj przykład obsługi błedów w Pythonie

  • Jak używać menedżera kontekstu (context manager)?

  • Czym jest GIL (Global Interpreter Lock) i jak go obejść?

  • Jeśli klasa dziedziczy z innej klasy ale obie klasy mają tę samą metodę, to metoda z której klasy zostanie użyta? Tip: MRO (Method Resolution Order)

  • Wyjaśnij dekoratory i podaj różnice pomiędzy "@classmethod" i "@staticmethod"

  • Jak funkcja zwana "super()" pomaga w zarządzaniu dziedziczeniem?

  • Jak przyspieszyć wykonywanie kodu Pythona?

  • Jak testujesz swoje programy napisane w Pythonie?


Często są też zadania programistyczne ja na przykład:


  • Wyświetl określone informacje ze strony internetowej użwając Pythona

  • Zaimplementuj Most Recently Used (MRU) w Pythonie bez użycia modułów zewnętrznych

  • Zaimplementuj dowolny algorytm sortowania w Pythonie


Tych zadań programistycznych w internecie jest sporo ale większość firm używa wariacji tych samych kilku pytań - na szczęście poważne firmy odchodzą od takiego sprawdzania wiedzy, bo to jedynie sprawdza czy ktoś jest w stanie nauczyć się kilku rozwiązań na pamięć.

Jakby, ktoś chciałby zacząć się uczyć, to strona Pythona ma świetny tutorial po polsku: https://docs.python.org/pl/3/tutorial/index.html.

Oczywiście o wiele więcej jest materiałów po angielsku - jak na przykład ten całkiem przyjemny godzinny tutorial dla początkujących: https://youtu.be/kqtD5dpn9C8.


#technologia #programowanie #python

@ZohanTSW - to takie trochę podchwytliwe Pytanie - sprawdza cztery rzeczy:


  • Czy ktoś pracuje z Pythonem na tyle długo by znać te różnice

  • Czy ktoś wie, że Python 2 jest End of Life

  • Czy ktoś wie jakie ulepszenia każda nowa wersja Pythona wprowadziła (i ich potrafi użyć)

  • Czy ktoś po prostu interesuje się Pythonem i jego ekosystemem i w jakim stopniu


Ja zdecydowanie bym nie zaakceptował oferty z firmy która wymaga używania Pythona 2 - niech się inni męczą

Zaloguj się aby komentować

@GetBetterSoon - dobrze, że Ty chociaż chwalisz się swoją ponadprzeciętną inteligencją na tym portalu z nieśmiesznymi obrazkami mój internetowy kolego - nie móc ocieplić się w jej blasku byłoby niepowetowaną stratą

Zaloguj się aby komentować

Napisałem swój pierwszy "poważniejszy" kod w pythonie pod bota z Discorda pod serwery gier Source i Goldensource. Po dodaniu IP serwera do listy, serwer ten jest odpytywany co jakiś czas czy serwer ma jakiś graczy i wydaje odpowiedni komunikat na czacie.


Niby mała rzecz, a przydatna w przypadku martwego multiplayera...


Wystarczy podać w enviromentsach token do bota, id kanału i role, które mają być wołane i odpalić skrypt na swoim hoście.


Jeszcze bede refactorował, póki co chciałem by jakkolwiek działało


https://codeberg.org/xelot/dm_server/src/branch/main/player_activity_bot.py


https://codeberg.org/xelot/dm_server/src/branch/main/.env


#programowanie #gry #python

ade239a7-0e25-4324-95b2-1f76a586ed84

Świetna robota Tomeczku!


W kwestii refactoru - całość wygląda nawet git, jedyne co to bym ten fragment bym zmienił, żeby wychodzić z pętli elegancko i ograniczyć liczbę powtórzeń jak request nie działa.


Tutaj cały wątek na SO jak to najlepiej obsłużyć - https://stackoverflow.com/questions/2083987/how-to-retry-after-exception


retries = 3

while retries:

            try:<br />

                players_list = await a2s.aplayers(address)<br />

                retries = 0<br />

            except a2s.BufferExhaustedError:<br />

                print("BufferExhaustedError: retrying in 30 secs")<br />

                retries -= 1<br />

                await asyncio.sleep(30)<br />

            except TimeoutError():<br />

                print("TimeoutError: retrying in 1 minute")<br />

                retries  -= 1<br />

                await asyncio.sleep(60)

Zaloguj się aby komentować

Hej. Istnieje jakaś strona podobna do hyperskill?? Skończył mi się okres próbny 3msc, a chciałbym jeszcze się czegoś nauczyć. Chyba że ma ktoś refa na 3msc i się podzieli?

#programowanie #python #sql #komputery

Zaloguj się aby komentować

@Fausto kupilem sobie ksiazke do pythona kiedys, co prawda nie mozna powiedziec, ze nic sie nie nauczylem, bo cos tam umiem, ale skonczylo sie na C# w koncu, lepiejmi siadlo

@Zielczan C# byłby całkiem fajną alternatywą dla Javy gdyby Microsoft nie był taki zjebany. Chociaż były różne podejścia, f# i inne badziewia

@Vuaaas miałem Jave na studiach i C# mi sie bardziej podoba, ale to moze byc zludne wrazenie, bo ostatni raz w Javie smarowałem coś z 12 lat temu, a Sharpa używam powiedzmy że codziennie.

Zaloguj się aby komentować

Ejejejejej. Pochwalcie się co ciekawego ostatnio znaleźliście na temat #programowanie - jakąś bibliotekę?


Może jakiś fajny AI model co można uruchomić lokalnie?


Może jakiś zajeb%@#% serwis?


Albo coś fajnego self hosted?


Mam wolny wieczór, chętnie o czymś ciekawym poczytam.


#sztucznainteligencja #js #javascript #react #aws #google #python #php #golang #rust #react

Aby zrozumieć dlaczego virtio jest fajnym rozwiązaniam trzeba się najpierw zagłębić w to jak w ogóle wygląda postawienie systemu np. Androida na urządzeniu. Każdy telefon jest trochę inny. W inne miejsce może być podpięta pamięć, serial itd. Dlatego zawsze kilka tygodni zajmuje pokonfigurowanie kernela. Potem trzeba napisać HAL, który tłumaczy androidowi jak np. używać GPS. To znów wymaga czasu. Każda aktualizacja androida wymaga dopasowania tego co już jest. Często więc dużo czasu i pieniędzy wymaga takie coś - jest też Treble, ale mniejsza z tym teraz.


Konkluzja jest taka:

Różne systemy operacyjne odpalane na czymś w stylu telefonu. Jest system linux host, który przez virtio przekazuje wszystko do guesta (usb, bt, wifi itd) np. Androida i dzięki temu działa od razu bez zabawy w drivery po stronie androida.


To jest o tyle fajne, że jeśli się przyjmie na szeroką skalę to aktualizacja systemu będzie możliwa na dowolnym urządzeniu. Wymiana systemu na dowony inny używający virtio też nie będzie problemem. Może rynek telefonów zacznoe przypominać rynek PC, gdzie możesz sobie podmoenić system i wszystko śmiga.

Zaloguj się aby komentować

Zaloguj się aby komentować

Niby ten chatgpt taki mądry, a nie potrafił ogarnąć dobrze numerowania lini, na szczęście jest jeszcze stackoverflow.


Piszę edytor tekstu w pythonie z użyciem biblioteki tkinter i co ja się namęczyłem aby dodać tą funkcjonalność.


Byłem ambitny i chciałem sam napisać, ale za wysokie progi jeszcze, to rozwiązanie to mistrzostwo.


Kolorowanie składni już zaimplementowane


#python #informatyka

b86da568-63f2-4b02-91a1-d3c71c2bca38
Fausto userbar

@Fausto Dlatego używamy OOP i SOLID żeby można było wymienić bibliotekę do GUI bez konieczności zmiany kodu aplikacji. No chyba że to framework, wtedy jesteś trochę uwiązany (jak np. PyQt)

Zaloguj się aby komentować

Cześć Tomki i Tomkinie


startuje niedługo 5 edycja Programming4You - kursu programowania bez ściemy. W związku z tym robimy #rozdajo


Dostajecie pierwsze dwa tygodnie, a jak robicie zadania, to pierwszy miesiąc za darmo. W tym macie dwa wykłady tygodniowo i tyle konsultacji, ile chcecie. Sprawdzamy Wasze zadania i pomagamy na każdym kroku.


Od początku stawiamy na podejście "bez ściemy", nikomu nie gwarantujemy, że "zostanie programistą", że będzie miał "gwarancję zatrudnienia" i tym podobne. Uważamy jednak, że super jest zacząć, a z nami jak macie okazję spróbować za darmo, to już w ogóle


Przy okazji bylibyśmy wdzięczni za polubienie naszego fejsa: https://www.facebook.com/programming4youpl oraz na stronę https://programming4you.pl gdzie możecie dowiedzieć się więcej.


Jeśli macie jakieś pytania odnośnie kursu, programowania, kariery w IT, uderzajcie śmiało!


Dla osób, które nie wygrają #rozdajo zrobimy super cenę na pierwszy miesiąc. Pamiętajcie jednak, że kurs jest intensywny i trzeba się sporo zaangażować.


Losowanie w weekend


#programowanie #naukaprogramowania #pracait #java #python

e478b4c3-bf41-4526-b1d1-524d5fbf36e1

Zaloguj się aby komentować

Cześć,


potrzebuję pomocy z jedną rzeczą w #python . Nie jestem programistą, a robię to właściwie w celach edukacyjnych i utknąłem.


Robię webscraping za pomocą biblioteki BeautifulSoup dla kilkuset stacji Infopasazer, ktore znajdują się na różnych adresach URL. Kwestia dotyczy tego, że czasami strony tych stacji działają, a czasami nie i w momencie, gdy skrypt napotka problem zatrzymuje się i nie robi webscrapingu kolejnych stron. Próbowałem dodać


try:


except (AttributeError, requests.exceptions.Timeout):


pass


natomiast to sprawia, że po prostu nie wywala mi błędów w konsoli, a nie kontynuuje pracę.


Czy ktoś ma pomysł jak można sobie z tym poradzić? Jak będzie trzeba więcej kodu to udostępnię.


Dzięki

@kolorado mam nadzieję, że dostaniesz odpowiedź, ja natomiast mam pytanko. Korzystasz z jakiegoś vpna przy scrapowaniu czy yolo bomba na swoim ip? chciałbym zesrapować parę stron, ale boję się, że dostanę bana na ip xD

@wonsz doszedłem do tego, zamiast dla każdego URL dodać osobny try except zrobiłem jeden na cały kod. Dodałem na szybko brakujące dla każdej podstrony i działa.


@Bolec39 myślałem o tym, ale wydaje mi się, że 450 zapytań na godzinę to nie jest chyba jakaś tragedia, dodatkowo to są osobne mikroserwisy więc może się tam nie obrażą

Zaloguj się aby komentować

tl;dr: założylem bloga o statystyce/danych jak narazie czekam na informacje zwrotne o tym czy jakoś to wygląda


Witajcie! Jestem właścicielem nowego polskiego bloga o danych https://datachaint.me i chciałbym Wam opowiedzieć trochę o tym, czego możecie się spodziewać od tej strony.


Dane to dziś jeden z najważniejszych zasobów, którymi dysponujemy. Mogą nam pomóc w podejmowaniu decyzji, rozwijaniu biznesu czy w codziennym życiu. Jednakże, by korzystać z danych należy wiedzieć jak je pozyskać, przetwarzać oraz interpretować. A to właśnie będzie tematem naszych artykułów.


Chcemy, aby nasz blog był miejscem, gdzie każdy, niezależnie od poziomu swojej wiedzy, mógł znaleźć interesujące informacje o danych i sposobach ich wykorzystania oraz dodać swój własny artykuł. Będziemy starali się pisać w prostych i zrozumiałych dla każdego słowach, tak aby nawet osoby, które nie są specjalistami w tej dziedzinie, mogły łatwo zrozumieć, o czym mówimy.


Nasze artykuły będą poruszać różne tematy, począwszy od podstawowych pojęć związanych z danymi, poprzez analizę danych, po machine learning i sztuczną inteligencję. Postaramy się również pisać o różnych zastosowaniach danych, takich jak marketing, zarządzanie firmą czy nauka.


Jeśli interesujesz się tematyką danych, chciałbyś nauczyć się czegoś nowego lub po prostu poszerzyć swoją wiedzę, to nasz blog jest dla Ciebie. Będziemy publikować artykuły regularnie, więc warto zaglądać na naszą stronę co jakiś czas.


Mamy nadzieję, że nasz blog stanie się dla Was cennym źródłem wiedzy o danych. Jeśli macie jakieś sugestie czy pytania, to zachęcamy do kontaktu. Chętnie odpowiedzielibyśmy na Wasze pytania i wysłuchalibyśmy Waszych sugestii.


Pierwszy post pojawił się 16 kwietnia, jednak dopiero dzisiaj staram się jakoś rozpromować moją stronę. Blog wystartował kilka dni temu i jestem świadom tego, że nie wszystkie funkcje działają (np. newsletter). Moim celem jak na tą chwile jest sprawdzenie tego czy chociażby jedna osoba byłaby zainteresowana taką działalnością. Jeżeli macie jakieś pomysły na poprawę lub chcielibyście dodać swój artykuł, prosiłbym o wysłanie informacji na email: [email protected]


Dziękujemy, że jesteście z nami i zapraszamy do czytania naszych artykułów! https://datachaint.me


#blog #analizadanych #statystyka #statystyki #machinelearning #programowanie #python #datascience #nauka

@datachaint Ty prowadzisz bloga o danej tematyce i pytasz się innych co tam umieścić? Coś mi się wydaje, że nie miałeś pomysłu i tak sobie o, zrobiłeś z nudów.

Zaloguj się aby komentować

#kiciochpyta o #python i #json


początkujący level. - PROŚBA O POMOC w wyjaśnieniu dziwnego działania programu...


Tworzę dla treningu grę tekstową typu MUD, ćwiczę sobie tworzenie klas, funkcji i innych takich.


https://github.com/yourij/MUD_GAME


Etap rozgrzebanego kodu więc prosze o zrozumienie. Chwilowo repozytorium jest publiczne na potrzeby tego posta.


W dużym skrócie (wprowadzenie).


Jesteśmy na planszy 3x3 pola (współrzędne pól x=0, 1 lub 2 i y=0, 1 lub 2). Zaczynamy na środku.


Możemy po planszy chodzić, gadać z NPCami, w karczmie zjeść obiad, uratować księżniczkę itp...


Żeby to zrobić, trzeba pójść do wiedźmy, rozwiązać zadanie, otrzymać od niej klucz i z kluczem udać się na pole, gdzie jest księżniczka, otworzyć kluczem bramkę i koniec...


______PROBLEM______:


Początkowo teksty postaci trzymałem w pliku talking.py ale chciałem zaznajomić się z JSONem i stąd modyfikacja, gdzie wiedźma swoje teksty (częściowo) bierze z pliku talking.json


Od czasu tej modyfikacji pseudo-gra zawiesza się po otrzymaniu poleceń od gracza. Tzn żeby przejść dalej trzeba wcisnąć ekstra enter.


Dla przykładowego karczmarza czy też księżniczki (gdzie teksty są jeszcze po staremu) problem nie występuje.


plik talking.py


przykładowy fragment kodu, który dziwnie działa:


if (u_inp=='T' or u_inp=='t'): # T = gadaj z wiedzmą


for phrase in my_json["phrases"]:


u_inp=input(phrase["witch_gives_apple"]) # przyjmij input drukując tekst mówiony przez wiedżmę


kod, który działa poprawnie:


elif (playerPos == innKeeperPos): # podobny fragment rozmowy z innym NPCem bez udziału JSONa


u_inp=input(inn_hello)


if (u_inp=='P' or u_inp=='p'):


print(inn_dish1)


(screen z gry... nie śmiać się, proszę)

788784f0-3123-4f50-ae71-e29186328878

@yourij Trochę spekuluję, ale pewnie dzieje się tak dlatego, że używasz funkcji input() niezbyt zgodnie z przeznaczeniem: argumentem tej funkcji jest prompt czyli tekst, który jest wyświetlany zanim user wpisze z konsoli jakąś wartość. Dlatego potrzebujesz wciskać ENTER - bo zatwierdzasz pusty ciąg znaków.


https://docs.python.org/3/library/functions.html#input

@vrkr ok ma to sens... input jest bo odczytuję czasem T/N i inne odpowiedzi gracza. Sprawdzę kod, czy się wiesza w tekstach bez oczekiwanej odpowiedzi ale fajny trop, dzięki...

@vrkr dziękuję... działa.

Gdy zmieniałem kod po przeniesieniu dialogów wiedźmy do pliku json pierwszy fragment (gdzie jest input potrzebny) skopiowałem dalej i zapomniałem zamienić w niektórych miejscach u_inp=input(dialog) na print(dialog).

Zaloguj się aby komentować

@LM317T obejrzałem na razie tylko początek, ale nie nazwałbym tej rozmowy "typową" przynajmniej jak na stamdardy z jakimi ja sie spotykałem. IMO rozmowa wyglada na bardzo dobrą, sprawdza praktyczne podejscie do problemu, i jeszcze jest bardzo interaktywna, ale tak jak mowie, obejrzałem dopiero 4 minuty.

@LM317T stałem sie ofiarą primaaprilisowego fortelu xD ogólnie wydaje mi sie ze pytania byłyby spoko dla juniora, ale babeczka jakoś zbyt zwinnie sobie z tym radzi xD podoba mi sie idea zadawania tych samych pytań niezależnie od levelu stanowiska, ze świadomością że odpowiedź juniora będzie całkowicie inna niz mida czy seniora

Zaloguj się aby komentować

Chciałbym sobie stworzyć aplikacje do łączenia się z innymi komputerami poprzez vnc w pracy. Mamy teraz zwykły plik .bat, ale sam dla siebie w ramach nauki chcę zrobić coś lepszego. Moje pytanie to w czym najlepiej byłoby to zrobić?

Początkowo użytkownik wprowadzałby linie/komputery i generowałby się dzięki temu graficzny podgląd (jakiś szablon excelowy lub plik txt? Chodzi o kilkadziesiąt komputerów dla kilku/kilkunastu linii).

#programowanie #python

@NieLubiePomidorow O co dokładnie pytasz bo nie do końca rozumiem. O stworzeniu jakiegoś graficznego interfejsu do tych komend które używasz?

@lipa13 Chodzi mi o apke, w której po odpaleniu pokaże mi się lista nazw komputerów i po kliknięciu w nazwę połącze się z nim zdalnie przez vnc. Teraz mamy zwykły plik .bat a chciałbym sobie stworzyć apke do tego. Czyli odpalam apke, wyszukuje odpowiedni komputer, klikam np. w przycisk 'połącz' i za pomocą vnc odpala się podgląd.

@NieLubiePomidorow Jeśli to tylko do zabawy to możesz skorzystać z PySimpleGUI do stworzenia UI i pyinstaller do upakowania tego w .exe Ale jak mówię, to libki bardziej do domowych zastosowań - w komercyjnych projektach są zbyt prymitywne. Chociaż ja polecam ich znajomość dla samego siebie - często piszę jakieś web-scraperry i fajnie jest móc dorobić do tego UI w godzinkę czy dwie.


Z poziomu UI stworzonego w PySimpleGUI bez problemu możesz wywoływać funkcje pythona uruchamiające inne procesy systemowe.

Zaloguj się aby komentować

Hej(to)!


Kiedy udostępniałam tu meetup Polish Machine Learning Community kilka osób pisało, ze nie mogą się pojawić, ale chętnie obejrzeliby nagrania po. I oto nagrania są dostępne, playlista na youtube.


Było to moje pierwsze poważne wystąpienie publiczne i stres trochę zjadł, ale będzie tylko lepiej!


#programowanie #naukaprogramowania #ai #python #datascience #machinelearning #astronomia #radioteleskop

10936156-4699-4719-9761-2852da987bdf

Super! Z każdym kolejnym będzies się czuć swobodniej. Wyobraź sobie że na sali siedzą twoi znajomi i opowiadasz im o swoim hobby

Zaloguj się aby komentować