Witam,
Na wstępie chciałbym się przywitać ze wszystkimi uzytkownikami forum i przeprosić jeśli ten temat już wystąpił... :D
Chciałbym was poprosić o podsunięcie jakiś dobrych pomysłów jak ogarnąć klasy itp. w pythonie ?
Uczę się pythona od paru miesięcy i niestety zatrzymałem się na tym temacie...
Z góry dziękuje !
A jaki konkretnie masz problem z tymi klasami?
Nie umiesz napisać klasy?
Nie rozumiesz po co są?
Nie rozróżniasz klasy od obiektu?
itd, itd
Najlepiej by było jakbyś wkleił jakiś konkretny kod z którym masz problem
To może Ci trochę pomoże. To samo tylko że w 1 przypadku na słownikach, a w 2 przy użyciu klasy
def create_enemy(name, health, defense):
return { 'name': name, 'health': health, 'defense': defense }
def damage_enemy(enemy, attack):
enemy['health'] -= max(0, attack - enemy['defense'])
def is_enemy_dead(enemy):
return enemy['health'] <= 0
def enemy_status(enemy):
return f'{enemy["name"]} is{"" if is_enemy_dead(enemy) else " not"} dead'
enemy = create_enemy("belzedup", 15, 3)
damage_enemy(enemy, 5)
print(enemy_status(enemy))
damage_enemy(enemy, 20)
print(enemy_status(enemy))
vs
class Enemy:
def __init__(self, name, health, defense):
self.name = name
self.health = health
self.defense = defense
def take_damage(self, attack):
self.health -= max(0, attack - self.defense)
def is_dead(self):
return self.health <= 0
def status(self):
return f'{self.name} is{"" if self.is_dead() else " not"} dead'
enemy = Enemy("belzedup", 15, 3)
enemy.take_damage(5)
print(enemy.status())
enemy.take_damage(20)
print(enemy.status())
Mianowicie problem leży u mnie w tym, że mam trudności ze zrozumieniem z jakich konkretnych terminów należy w danym momencie skorzystać, aby ułozyło się to wszystko w jedną spójną całość...
@spartanPAGE: Dzięki za przykłady, przeanalizuje sobie je.
Na necie jest tyle dobrych materiałów do nauki Pythona i klas, że głowa mała:)
https://runestone.academy/runestone/books/published/thinkcspy/index.html
https://docs.python.org/3/tutorial/index.html