Paiza Python Primer 8: Comprendre les classes

Python 3 est totalement gratuit sur Paiza, donc je l'ai résumé.

Introduction à Paiza Python3

01: Comprenons la classe

Qu'est-ce qu'un objet

En termes simples, un ensemble de variables et de fonctions

Objet joueur

--Variable

Nom="paiza"
Profession="sorcier"
Force physique="120"

--Fonction

Traitement des attaques()
Traitement des déplacements()

Fonctions organisées en objets → méthodes

Comment utiliser les objets

--Créer et utiliser des objets à partir de classes --Classe: dessin de conception d'objet --Objet: Générer à partir de la classe

Classe de joueur

name
attack()

Créer un objet Player à partir de la classe Player

name="paiza"
attack()

name="python"
attack()

name="dragon"
attack()

Un objet créé à partir d'une classe est appelé une instance.

Avantages des objets

--Ensemble de variables et de méthodes

Difficile d'avoir des bugs

Facile à réutiliser Facile à classer ↓ De nombreuses bibliothèques / frameworks sont basés sur des classes

02: Créons une classe

lesson.py


#Commencez le nom de la classe par des majuscules
#1.Spécifiez le nom de classe Plyaer dans la classe
class Plyaer:
    #2.Méthode de classe(Ecrire une fonction)
    def walk(self):
        print("Le brave marchait dans le désert")

#3.Créer un objet en utilisant le nom de la classe
#Affectons l'objet créé à une variable
plyaer1=Plyaer()
#Nom de variable.Vous pouvez également appeler l'objet créé par le nom de la méthode
plyaer1.walk()

#Vous pouvez également affecter des objets à des variables

#classe
class Player:

#Propriétés et méthodes

    def walk(self):
        print("Le brave marchait dans le désert")

    #Augmentation des méthodes
    def attack(self, enemy):
        print("Le héros" + enemy + "Attaqué")

#objet
player1=Player()
player1.walk()
player1.attack("Vase")

Le brave marchait dans le désert
Les courageux ont attaqué la vase

#Un objet est une collection de méthodes et de propriétés d'une classe.

Exercice

  1. Créons un objet à partir d'une classe

lesson.py



class Greeting:
    def say_hello(self):
        print("hello paiza")

#En dessous, ajoutez le code dont vous avez besoin
greeting=Greeting()
greeting.say_hello()

  1. Définissons une méthode dans la classe

class Plyaer:

lesson.py



class Greeting:
    #En dessous, ajoutez le code dont vous avez besoin
    def say_hello(self):
        print("hello python")

paiza = Greeting()
paiza.say_hello()

  1. Trouver des erreurs

Il n'y avait pas:

lesson.py



class Greeting:
    def say_hello(self):
        print("hello paiza")

paiza = Greeting()
paiza.say_hello()

03: Gérons les variables en classe

class Plyaer:

lesson.py



class Player:
    #constructeur
    #Lors de la création d'un objet à partir d'une classe
    #Première méthode appelée
    #Ajouter une variable appelée job à Plyaerclass
    def __init__(self,job):
    #Appelé une variable d'instance
        self.job=job

    def walk(self):
        print(self.job+"Marchait dans le désert")

player1=Player("guerrier")
player1.walk()


player2=Player("sorcier")
player2.walk()

#L'objet player1 continue d'avoir la valeur de guerrier
player1.walk()

production


Le guerrier marchait dans le désert
La sorcière marchait dans le désert
Le guerrier marchait dans le désert
#self.job est une variable d'instance

#Une variable qu'un objet a
#Les variables d'instance sont aussi longues que l'objet existe
#La valeur est enregistrée
        self.job=job

#Qu'est-ce que soi
#Arguments requis lors de l'utilisation de variables d'instance
#En python, c'est le premier argument de la méthode dans la classe
#L'objet lui-même utilisé pour appeler la méthode est passé
#self est l'anglais qui signifie moi-même,
#Fait référence à l'objet utilisé pour appeler la méthode
#Lorsque vous appelez la méthode de travail de player1, selfjob
#Appelez la variable job de player1
#Lorsque vous appelez la méthode de travail de player2
#Appel de la variable job de player2
 def __init__(self,job):

Exercice

  1. Créons un objet à partir d'une classe

lesson.py


#Créons un objet à partir d'une classe

class Greeting:
    def __init__(self, name):
        self.name = name

    def say_hello(self):
        print("hello " + self.name)

#Ci-dessous, décrivez le traitement nécessaire

greeting=Greeting("paiza")
greeting.say_hello()

production

hello paiza

  1. Ajoutez des variables d'instance à la classe

lesson.py



class Greeting:
    def __init__(self,name):

        self.name=name


    def say_hello(self):
        print("hello " + self.name)

paiza = Greeting("paiza")
paiza.say_hello()


hello paiza

  1. Trouver des erreurs class Plyaer:

lesson.py



class Greeting:
    def __init__(self, name):
        self.name = name

    def say_hello(self):
        print("hello " + self.name)

paiza = Greeting("paiza")
paiza.say_hello()

04: Faisons une classe ennemie de RPG

class Plyaer:

lesson.py



la revue
def attack(enemy):
    print(enemy + "Attaqué les braves")

attack("Vase")


'''
Créer une classe ennemie
class Enemy:
    def__init__(self,name)
    self.name=name
'''
#Créer une classe ennemie
'''
class Enemy:
    def__init__(self,name)
    self.name=name
'''
class Enemy:
    def __init__(self,name):
        self.name = name

    def attack(self):
    #enemy→self.nane
        print(self.name + "Attaqué les braves")

#Créer un objet de la classe ennemie
slime=Enemy("Vase")
slime.attack()

production
Slime a attaqué les courageux

lesson.py



#Créer une classe ennemie

class Enemy:
    def __init__(self,name):
        self.name = name

    def attack(self):
        print(self.name + "Attaqué les braves")

#Réunis dans une liste pour créer plusieurs ennemis
enemies=[]
enemies.append(Enemy("Vase"))
enemies.append(Enemy("monstre"))
enemies.append(Enemy("Dragon"))

#Utiliser pour l'instruction à afficher
for enemy in enemies:
    enemy.attack()

production
Slime a attaqué les courageux
Le monstre a attaqué le héros
Le dragon a attaqué le héros

#La classe d'anglais a le sens de la classification
#Slime, monstre et dragon sont des ennemis de la même classe Enemy, vous pouvez donc utiliser la méthode d'attaque commune.

#L'instance anglaise a le sens d'un exemple
#La classe ennemie définit la classification de l'ennemi et crée de la vase et des monstres en tant qu'objets.
#La liste créée est affectée à la liste des ennemis avec l'instruction for.

Exercice

Scène d'attaque RPG

lesson.py



class Player:
    def __init__(self, name):
        self.name = name

    def attack(self, enemy):
        print(self.name + "Est" + enemy + "Attaqué")

team = []
team.append(Player("Courageux"))
team.append(Player("guerrier"))
team.append(Player("sorcier"))

for player in team:
     player.attack("Vase")

05: Créons une méthode avec des arguments et une valeur de retour

lesson.py


class Item:
    def __init__(self,price,quantity):
        self.price=price
        self.quantity=quantity

    def total(self):
        return self.price * self.quantity
apple=Item(120,15)
print("Le montant total est" + str(apple.total()) + "C'est un cercle")
#total=apple.total(),str(total)
#Même si c'est OK → La valeur de retour de la méthode totale est sortie par impression
apple=Item(120,15)
print("Le montant total est" + str(total) + "C'est un cercle")
orange=Item(85,32)
print("Le montant total est"+str(orange.total())+"C'est un cercle")
production
Le montant total est de 1800 yens
Le montant total est de 1800 yens
Le montant total est de 2720 yens

lesson.py


Comment faire le montant TTC?
class Item:
    tax=1.08
#Utilisez la variable classes pour laquelle vous souhaitez créer une taxe à la consommation,
#Créé à partir de cette classe, contrairement aux variables d'instance
#Variables utilisables dans tous les objets

    def __init__(self,price,quantity):
        self.price=price
        self.quantity=quantity

    def total(self):
        #Int pour tronquer après la virgule décimale
        #Pour calculer la taxe à la consommation`Item.tax
        return int(self.price * self.quantity*Item.tax)
apple=Item(120,15)
total=apple.total()
print("Le montant total est" + str(total) + "C'est un cercle")
orange=Item(85,32)
print("Le montant total est"+str(orange.total())+"C'est un cercle")

Le montant total est de 1944 yens
Le montant total est de 2937 yens

Exercice

  1. Appelez la méthode étudiant

lesson.py



 class Gakusei:
    def __init__(self, kokugo, sansu):
        self.kokugo = kokugo
        self.sansu  = sansu
    def sum(self):
        return str(self.kokugo + self.sansu)
#Ci-dessous, décrivez le traitement nécessaire
yamada = Gakusei(70, 43)
print("Le total est" +str(yamada.sum()) +"Est un point")
  1. Créez une méthode étudiante

lesson.py


class Gakusei:
    def __init__(self, kokugo, sansu):
        self.kokugo = kokugo
        self.sansu  = sansu
    #En dessous, décrivez la méthode de somme qui renvoie le score total comme valeur de retour.
    def sum(self):
        return str(self.kokugo + self.sansu)
yamada = Gakusei(70, 43)
print("Le total est" + str(yamada.sum()) + "Est un point")

06: Méthodes de chaîne et de liste

  1. Exécutez la méthode sur la chaîne de caractères

lesson.py


text= "pYthon"
print(text)
#Mettre l'acronyme en majuscule
print(text.capitalize())
#Tout le capital
print(text.upper())
players="Courageux,guerrier,sorcier,Ninja"
#Liste des chaînes
#La méthode de fractionnement est le caractère spécifié par l'argument
#Une méthode qui divise une chaîne et renvoie une liste
list=players.split(",")
print(list)
#Méthodes disponibles dans la liste
#L'élément spécifié par l'argument peut être supprimé de la liste
list.remove("Ninja")
print(list)
list.append("Kirishima")
print(list)
pYthon
Python
PYTHON
['Courageux', 'guerrier', 'sorcier', 'Ninja']
['Courageux', 'guerrier', 'sorcier']
['Courageux', 'guerrier', 'sorcier', 'Kirishima']

Exercice

lesson.py


contribution
testcase
msg = input()
#En dessous, décrivez le processus pour afficher si les msg sont tous en minuscules.
print(msg.islower())
production
True
  1. Exécutez la méthode sur la liste

lesson.py


team = ["Courageux", "guerrier", "sorcier", "Ninja"]
#En dessous, ajoutez "voleur" à l'index 3 et décrivez le processus pour afficher la liste
team.insert(3, "Voleurs")
print(team)

07: Comprenons les restrictions d'accès

lesson.py


class Player:
    def __init__(self, job, weapon):
        self.job = job
        self.weapon = weapon
    def walk(self):
        print(self.job + "Marchait dans le désert")

    #Ajoutez un signe de soulignement au nom de la méthode
    #__attack
    def __attack(self, enemy):
        print(self.weapon + "donc" + enemy + "Attaquer")
    #__attack
        self.__attack("Vase")
player1 = Player("guerrier", "épée")
player1.walk()
#__Vous ne pouvez pas faire cela en dehors de la classe d'attaque
#player1.__attack("Vase")
__.weapon
print(player1.weapon)
#Souligner avant le nom de la variable(__)Si vous ajoutez deux
#Devenir une variable qui ne peut être appelée que dans la classe
#C'est ce qu'on appelle une variable privée ou une propriété privée.

lesson.py


class Player:
    def __init__(self, job, weapon):
        self.job = job
        #__weapon
        self.__weapon = weapon
    def walk(self):
        print(self.job + "Marchait dans le désert")

    def __attack(self, enemy):
        #__weapon
        print(self.__weapon + "donc" + enemy + "Attaquer")
        self.__attack("Vase")
player1 = Player("guerrier", "épée")
player1.walk()
#__weapon
print(player1.__weapon)
#Souligner avant le nom de la variable(__)Si vous ajoutez deux
#Devenir une variable qui ne peut être appelée que dans la classe
#C'est ce qu'on appelle une variable privée ou une propriété privée.

Exercice

"Exécuter une méthode sur une chaîne"

lesson.py


class Greeting:
    def __init__(self, name):
        self.__name = name
    def say_hello(self):
    #Ajoutez deux barres inférieures ici
        print("hello " + self.__name)
paiza = Greeting("paiza")
paiza.say_hello()

Recommended Posts

Paiza Python Primer 8: Comprendre les classes
Paiza Python Primer 7: Comprendre les fonctions
Paiza Python Primer 1 Apprendre la programmation
Paiza Python Primer 4: Notions de base sur les listes
Paiza Python Primer 5: Principes de base des dictionnaires
Paiza Python Primer 3: Apprendre le traitement des boucles
Comprendre Python Coroutine
Comprendre l'auto python
Les classes Python sont lentes
Cours de base Python (13 cours)
Note d'introduction Python Tkinter
Paiza Python Primer 2: Apprenez les opérateurs de branchement conditionnel et de comparaison
Mémo d'apprentissage O'Reilly python3 Primer
À propos des objets et des classes Python
Classe Python pour apprendre avec la chimioinfomatique
Compréhension complète du débogage Python
Ce code Python n'a pas de classes ...
ABC pour les classes abstraites Python et la saisie de canard
Python et DB: comprendre le curseur DBI
Python: une note sur les classes 1 "Résumé"
Ce qui était surprenant dans les classes Python
[Python] À propos des classes Executor et Future
[Python] Comprendre le potentiel_field_planning de Python Robotics
Classes et instances Python, méthodes d'instance
[Road to Intermediate] Comprendre les propriétés Python
Comprendre les classes python Struggle (2) Work Ce n'est pas tout, non? _ À propos de l'héritage de classe