Zdjęcie w tle
Python

Społeczność

Python

335

Dla programistów Python

def

O fuj, python, troche sie brzydze

koszotorobur

@def - ja też kiedyś się brzydziłem - ale teraz bez pytonga jak bez ręki

def

@koszotorobur no ok, ja jako język skryptowy wybieram bash, a na coś większego wolę go

Zaloguj się aby komentować

TuzZaRogiem

@koszotorobur zwykły Excel xlsx. Jak ręcznie otworze i usunę ten wiersz to otwieram normalnie później. Ale chodzi o to, że one maja się same otwierac

pszemek

@TuzZaRogiem nie możesz po prostu olać pierwszego wiersza? Jakiś skiprow czy coś. Ewentualnie z mojego doświadczenia numpy lepiej sobie radzi z wczytywaniem plików.

Zaloguj się aby komentować

100 Days of Python

100 praktycznych zadań do ćwiczenia Pythona.

#technologia #programowanie #python
77a1bcfa-02de-49f9-a98b-721f1cb3dddd
Guma888

Taktyczny wąż na zastaw ćwiczeń Pythona

koszotorobur

@Guma888 - Pytonga trzeba ćwiczyć regularnie!

Guma888

Dla mnie to będzie nauka dopiero.

koszotorobur

@dawid-grabarz - elektryzujący Python

Zaloguj się aby komentować

Poradnik jak dokonać migracja z modułu pytz do modułu zoneinfo:

https://pytz-deprecation-shim.readthedocs.io/en/latest/migration.html

Moduł zoneinfo został dodany do biblioteki standardowej w Pythonie 3.9 - jeśli dalej używasz modułu pytz do obsługi stref czasowych to zalecana jest migracja do zoneinfo.

#technologia #programowanie #python #pytz #zoneinfo
813f06a6-759c-46f6-86f2-2dbe63716d9b

Zaloguj się aby komentować

Catharsis

Yo generalnie to na githubie to prawie do wszystkiego jest takie repo. Wpisujecie interesującą was frazę np język programowania, nazwę systemu, menagera okien itp + "awesome" i macie czasem nawet kilka wyników. Przykłady: awesome-nodejs awesome-kde awesome-hyprland czy najzabawniejsze awesome-awesome-wm (bo jest coś takiego jak awesome-wm xD).

GrindFaterAnona

@Catharsis uuu dzięki

Zaloguj się aby komentować

Krótkie video porady na temat Pythona:

https://www.youtube.com/@b001/shorts

Bo czasami lepiej zobaczyć na własne oczy by zrozumieć

#programowanie #python #tipsandtricks
piotrb

Z takimi sztukami warto uważać bardzo, np. sztuczka przypisania globala do locala fajna, ale promuje złe praktyki.

koszotorobur

@piotrb - ze wszystkimi poradnikami i tutorialami trzeba uważać i patrzeć na nie krytycznie

Niemniej dużo tych porad w tych filmikach to po prostu standardy pythonowe, które nie są oczywiste dla początkujących oraz ludzi przechodzacy z innych języków.

Ja osobiście nie znalazłem źródła 100% poprawnego - prócz może oficjalnej dokumentacji, która jest blisko, ale nie jest jednak skondensowanym źródłem wiedzy do uczenia się "na szybko".

Zaloguj się aby komentować

Jak nauczyć nastolatka Pythona?

Nie szukam teoretycznych informacji bo to sam jestem w stanie sobie znaleźć.

Szukam praktycznych rad i opinii osob które mają doświadczenie w uczeniu programowania młodych osób - nawet jeśli odnieśli porażkę to mogą być w stanie poradzić czego nie robić/unikać.

Hejto pomóż!

#programowanie #python
koszotorobur

@psalek - to wygląda bardzo obiecująco jako zadania domowe - dzięki!

wombatDaiquiri

@koszotorobur to zależy czego chcesz nauczyć.


Przygotowanie do olimpiady informatycznej to jest jakaś opcja i UW ma dużo materiałów na ten temat oraz są dostępne zadanka https://szkopul.edu.pl/p/default/problemset/oi/19


Ja w tym wieku jak się uczyłem sam to chyba najprostsza była logomocja (z żółwiem) bo było widać gdzie się znajduje żółw po odpaleniu programu i co skopałem. Też są jakieś zawody, ale tu byś musiał poszukać.


No chyba że dzban, to mu pokaż Django i niech klepie CRUDy aż mu się znudzi xD

koszotorobur

@wombatDaiquiri - olimpiady to nie koniecznie - to są zwykłe nastolatki bez szczególnych zainteresowań i talentów

Moim celem - i właściwie ich celem bo się na to zgodzili - jest zrozumienie czym tak naprawdę jest programowanie i poznanie Pythona i jego możliwości w takim zakresie, który umożliwi im napisanie prostego programu samodzielnie.

Oni są tak zieloni, że muszę im pokazać jak się Pythona instaluje i jak zainstalować VSC i skonfigurować go pod Pythona - wtedy przejdę do podstaw samego języka.

Cały dzień o tym myślę i już mam plan i proste zadania - może napiszę kiedyś co przygotowałem dla nich i jak uczenie poszło.

wombatDaiquiri

@koszotorobur ja dla takich niezainteresowanych pracuję nad zajęciami mocno korzystającymi z ChatGPT i zakładającymi że już mają dostęp do komputera z profesjonalnym i przygotowanym IDE. Może to jest kierunek? W końcu chyba łatwiej się nauczyć zadawać pytania jak można dostać odpowiedź w chwilę o każdej porze dnia i nocy?

Oscypek

Weż mu apke zainstaluj np Python x albo Mimo

Z resztą sam sobie zainstaluje.

Niech zacznie od prostych rzeczy żeby się nie znirchecił na starcie

Zaloguj się aby komentować

Cython sprawia, że pisanie rozszerzeń C dla Pythona jest tak proste, jak sam Python!

Język Cython jest nadzbiorem języka Python, który dodatkowo obsługuje wywoływanie funkcji C i deklarowanie typów C na zmiennych i atrybutach klas. Dzięki temu kompilator może wygenerować bardzo wydajny kod C z kodu Cythona. Wygenerowany kod C jest następnie kompilowany przy pomocy jednego z dostępnych kompilatorów C/C++ do zoptymalizowanego modułu, który może zostać zaimportowany i użyty przez program napisany w Pythonie.

W skrócie Cython to Python ale z typami danych C - co pozwala mu być jednym z najlepszych i najprostszych narzędzi do przyspieszania programów napisanych w Pythonie!

Przykładowo w Cythonie napisane są moduły Pythona znane ze swojej szybkości jak:


Oficjalny poradnik jak zacząć z Cythonem można zaleźć pod adresem: https://cython.readthedocs.io/en/latest/src/tutorial/cython_tutorial.html

#technologia #programowanie #python #cython
dc103c9b-f99d-48d3-b674-ba7bc1d19ec4
slime-mold

@koszotorobur @rust-n-dust dzięki! dobry kontent

Zaloguj się aby komentować

Kod na uruchamianie funkcji synchronicznych w Pythonie w asynchroniczny sposób:

# Oczywiście warto używać modułów natywnie asynchronicznych od razu jeśli jest to możliwe: https://github.com/timofurrer/awesome-asyncio

import asyncio
import urllib.request

def get_page(url):
‎ ‎ ‎ ‎ with urllib.request.urlopen(url) as f:
‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ return f.read(100).decode('utf-8') # Zwraca jedynie 100 pierwszych znaków dla zobrazowania jako przykład

async def main():
‎ ‎ ‎ ‎ urls = [' https://www.google.pl' for _ in range(10)] # Ta sama strona 10 razy jako przykład - ale tu należy podać swoją listę stron
‎ ‎ ‎ ‎ tasks =[asyncio.to_thread(get_page, url) for url in urls]
‎ ‎ ‎ ‎ return await asyncio.gather(*tasks)

results = asyncio.run(main())
[print(result) for result in results]

Kod działa jedynie z Pythonem 3.9 lub wyższym.
Dla starszych wersji Pythona można użyć staroszkolnego podejścia z ThreadPoolExecutor lub metody run_in_executor dla loop z modułu asyncio.

#technologia #komputery #programowanie #python
rayros

Brakuje tutaj kolorowania składni :d

koszotorobur

@hejto - @rayros mówi, że brakuje tutaj kolorowania składni .

A brakuje przede wszystkim możliwość umieszczania bloków kodu.

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
Bolec39

@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

kolorado

@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żą

wonsz

@kolorado no bo tak to mniej więcej z tego zdawkowego opisu wynikało że tu będzie problem.

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
vrkr

@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

yourij

@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...

yourij

@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ć

Da się zaimplementować jakoś postinkrementacje w #python albo jest jakaś gotowa biblioteka z tym? Frustruje mnie pisanie x += 1 zamiast x++.
#naukaprogramowania
miej_nos_na_pol_mordy

@trojkat a co trudnego jest w uzyciu x++? Jest to i proste i czytelne i co najwazniejsze szybsze niz x += 1

Zaloguj się aby komentować

Następna