Klasy w pythonie, pomoc

0

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 !

4

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

2

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())
0

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ść...

0

@spartanPAGE: Dzięki za przykłady, przeanalizuje sobie je.

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1