Paiza Python Primer 7: Comprendre les fonctions

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

Paiza Python3 Primer

01: Découvrons les fonctions

lesson.py


#L'impression et le texte sont des fonctions

#Les fonctions peuvent effectuer un traitement à l'aide de valeurs
#Dans le cas de l'impression suivante dont la valeur est appelée "argument""hello world"
#Le résultat traité dans la fonction est renvoyé en tant que "valeur de retour" et peut être affecté à une variable, etc.
print("hello world")

#Si elle est saisie, la chaîne de caractères de la valeur saisie à partir du clavier devient la "valeur de retour" et peut être affectée à la variable.
text=input()

Fonction fonction </ strong>
・ Divisez et organisez les codes longs → améliorez la visibilité
・ Vous pouvez nommer le code
・ Vous pouvez appeler le code autant de fois que vous le souhaitez → Vous pouvez le réutiliser
・ Vous pouvez combiner des codes

02: Faisons une fonction

lesson.py



#Créer une fonction
#def=definition
def say_hello():
    print("hello world")
say_hello()

text.txt


hello world

lesson.py


#Créer une fonction
#Vous pouvez créer votre propre fonction
#def=definition
def say_hello():
    print("hello world")
say_hello()
say_hello()

text.txt



hello world
hello world

Exercice

  1. Appelons la fonction

lesson.py


def say_hello():
    print("hello paiza")

#Écrivez un appel de fonction ci-dessous
say_hello()
hello paiza
  1. Créons une fonction

lesson.py



def say_hello():
    #Décrivez le traitement dans la fonction ci-dessous
    print("hello python")

say_hello()

03: Ajoutons des arguments et retournons la valeur

lesson.py



Dernier examen
def say_hello():
    print("hello world")
    
say_hello()


def sum():
    print(10+20)

sum()

#Toujours 10+Avoir une fonction pour calculer 20 n'est pas très utile


#Si l'appel de fonction a un argument, la définition de fonction(x)Passé à une variable
#variable(x)Créer une fonction qui change en changeant
def sum(x):
#def sum(variable):
    print( x + 20)

sum(30)

#Fonction avec deux arguments
    print(x + y)
sum(3,2)

#Ajouter des arguments et une valeur de retour

def sum(x,y):
    #Revenir à la définition et au réglage de la fonction
    return x + y

#Vers la variable nu1(return x +y est)À stocker
num1=sum(3,4)
print(num1)
num1=sum(300,400)
print(num1)

Exercice

  1. Appelons la fonction de multiplication

lesson.py


def multiply(x, y):
    return x * y

#Écrivez un appel de fonction ci-dessous
ans =multiply(3,4)
print(ans)

  1. Créons une multiplication

lesson.py



#Créons une fonction de multiplication

def multiply(x, y):
    #Décrivez le processus ci-dessous
    return x*y

print(multiply(3, 4))
print(multiply(5, 7))
print(multiply(12, 34))

  1. Créons un tableau de quatre-vingt-dix-neuf

lesson.py



#Créons une table de quatre-vingt-dix-neuf

def multiply(x, y):
    return x * y

for step in range(1,10):
    for num in range(1, 10):
        print(multiply(step, num), end="")
        if num < 9:
            print(", ", end="")
    print("")

04: Comprenons la portée

lesson.py




'''
#la revue

def sum(x,y):
    return x + y

num = sum (3,2)
print(num)

'''

#J'utilisais des variables lors de l'appel de fonctions
def sum(x,y):
    return x + y
    
a=10
b=30

num sum(a,b)
print(num)



#C'est correct d'écrire bizarre avant la définition
a=10
b=20
def sum(x,y):
    return x + y
    


num sum(a,b)
print(num)

lesson.py


#Même si je décide beaucoup de variables et que je fais une erreur et que cela semble être dupliqué, cela semble fonctionner normalement,
#La plage effective de la variable est fixe et elle est appelée "portée".

a=10
b=20

def sum(x,y):
    a=3
    print("hello" + str(a))
    return x + y

num = sum(a,b)

print(num)


hello3
30

#Parce que la portée est séparée à l'intérieur et à l'extérieur
#La valeur est sortie sans aucun problème
#La variable externe une et la variable interne une variable sont traitées comme des choses différentes

lesson.py



Il existe des variables locales et des variables globales
Variable locale ... avec portée
Les variables globales ... peuvent être utilisées n'importe où


#le message est une variable globale
message="paiza"
a=10
b=20

def sum(x,y):
    a=3
    
    #Soyez prudent lorsque vous modifiez des variables globales
    #Les variables globales ne peuvent être référencées qu'à partir de la fonction,
    #Les affectations et les modifications ne sont pas autorisées telles quelles
    #Utiliser le message global pour changer
    #global message
    #message +=  "paiza"
    print("hello" + str(a))
    return x + y

num = sum(a,b)

print(num)
#Les variables globales peuvent être utilisées en commun à l'intérieur et à l'extérieur de la définition de fonction
#Même si vous attribuez une valeur à une variable avec le même nom dans la définition de fonction, elle deviendra automatiquement une autre variable locale.
#N'affecte pas les variables globales
print(message+ " " + str(a))

Exercice

Trouver des erreurs

lesson.py


 
 msg = "hello"

def say_hello():
    global msg
    msg += " "
    msg += "paiza"
    print(msg)

say_hello()

05: Faisons une scène d'attaque RPG

lesson.py



#Scène d'attaque RPG

import random

def attack(enemy):
    print("Le héros"+ enemy + "Attaqué")
enemies = ["Vase","monstre","Dragon"]

for enemy in enemies:
    #print("Le héros"+ enemy + "Attaqué")
    attack(enemy)
    
    #La portée de la variable def ennemi et de la variable for ennemi est différente.
    

lesson.py



#Effectuer un coup critique selon une valeur aléatoire
import random

def attack(enemy):
    print("Le héros"+ enemy + "Attaqué")
    hit =random.randint(1,10)
    #Dégâts normaux à 6 ou moins, coups critiques dans le cas contraire
    if hit <6:
        print(enemy + "À" +str(hit) + "Endommagé")
    else:
        print("coup critique!" + enemy+ "Infligé 100 dégâts sur!")
enemies = ["Vase","monstre","Dragon"]

for enemy in enemies:
    #print("Le héros"+ enemy + "Attaqué")
    attack(enemy)
    
    #La portée de la variable def ennemi et de la variable for ennemi est différente.

Exercice

lesson.py



def attack(person):
    print(person + "Slime attaqué")

def output_ememy_hp(enemy_hp):
    print("Les HP ennemis restent" + str(enemy_hp) + "est")

enemy_hp = int(input())
team = {"Courageux" : 200, "guerrier" : 150, "sorcier" : 100}

for person, power in team.items():
    attack(person)
    #Ci-dessous, écrivez le code pour réduire la force physique de l'ennemi
    enemy_hp -= power
    output_ememy_hp(enemy_hp)

production

06: Valeur par défaut de l'argument

lesson.py



#Valeur par défaut de l'argument
#Valeur par défaut pouvant être utilisée lorsque l'argument est omis

def introduce(name):
    print("je"+name+"est")
    
introduce("Courageux")

'''

production
Je suis un homme courageux

lesson.py


#Obtenez un argument uniquement lorsque vous avez un rôle spécial
#Utilisez-le et devenez automatiquement un "villageois" quand il n'y a pas de dispute
#Vous pouvez le faire avec les valeurs par défaut

#Vous pouvez spécifier la valeur par défaut de l'argument,
#Si vous appelez une fonction sans argument, sa valeur par défaut est utilisée

#Passez le villageois comme argument
def introduce(name = "Villageois"):
    print("je" + name+ "est.")

introduce("Courageux")    
introduce()

production
Je suis un homme courageux

Je suis un villageois

lesson.py



#Si vous utilisez la valeur par défaut, elle sera automatiquement omise si l'argument est omis.
#La valeur initiale peut être spécifiée
#Cependant, il existe une fonction qui définit la valeur par défaut comme argument,
#Soyez prudent lorsque vous souhaitez y ajouter un nouvel argument

def introduce(name = "Villageois",greeting):
    print("je" + name+ "est."+greeting)

introduce("Courageux","Bonjour")    
introduce("Bonjour")


#Faire ce qui précède entraînera une erreur

#L'argument pour lequel vous souhaitez définir une valeur par défaut doit être écrit après l'argument qui n'a pas de valeur par défaut.
#Alors échangez le message d'accueil et le nom

def introduce(greeting,name = "Villageois"):
    print("je" + name+ "est."+greeting)

introduce("Courageux","Bonjour")    
introduce("Bonjour")

Je suis un bonjour. Courageux
Je suis un villageois Bonjour

lesson.py


#Argument de longueur variable
#Recevoir des arguments, mais à utiliser lorsque vous ne savez pas combien d'arguments
#Fixez le contenu du message d'accueil comme un essai afin que plusieurs personnes puissent saluer

#Argument de fonction du nom*(astérisque)Changer de nom et utiliser la valeur par défaut"Villageois"Supprimer"
def introduce(greeting,*names):
    #Répétez le processus
    for name in names:
        print("je" + name+ "est."+greeting)

#(Bonjour → salutation,Héros, villageois, soldat →*names)A été mis en
introduce("Bonjour","Courageux","Villageois","Soldat")

lesson.py


#Argument de longueur variable-dictionnaire
   #**Changer aux gens
def introduce(**peple):
    #Répéter le nom du traitement, greeting,inpep;e.imes()changer en
    for name,greeting in peple.items():
        print("je" + name+ "est."+greeting)
    print(peple)

#(Bonjour → salutation,Héros, villageois, soldat →*names)A été mis en
introduce(hero="Ravi de vous rencontrer",villager="Bonjour",soldier ="J'ai hâte de travailler avec vous.")

production
Je suis là Ravi de vous rencontrer
Je suis un villageois Bonjour
Je suis un soldat J'ai hâte de travailler avec vous.
{'here': 'Ravi de vous rencontrer', 'villager': 'Bonjour', 'soldier': 'J'ai hâte de travailler avec vous.'}

Exercice

  1. Valeur par défaut de l'argument

lesson.py



def say_hello(target = "paiza"):
    print("hello " + target)

#Écrivez un appel de fonction ci-dessous
say_hello()

  1. Scène de bataille RPG

lesson.py


#ennemis*Ennemis
def battle(*enemies):
	for enemy in enemies:
		print("Le guerrier" + enemy + "Combattu avec")

battle("Vase", "monstre", "Dragon")

07: Comprenons les arguments des mots clés

lesson.py



#Argument de mot-clé

#Fonction si l'argument est omis
#"Bonjour" dans la variable d'accueil,"World" est dans la variable cible
#Production
def say_hello(greeting = "hello",target="world"):
    print(greeting + " " + target)

#hello world
say_hello()

#Bonjour salutation, état qui contient tout le monde dans taeget
say_hello("Bonjour","toutes les personnes")

#Si vous utilisez la valeur par défaut pour l'argument, vous pouvez omettre l'argument lors de l'appel
#Il se trouve dans la variable d'accueil et la variable cible est omise
#Par conséquent, il est sorti comme bonjour le monde.
say_hello("good morning")

#Il existe un "argument de mot-clé" qui étiquette les arguments
#Notez que ce n'est pas une affectation car elle sera étiquetée, c'est temporaire
say_hello(greeting="Bonjour",target="toutes les personnes")

#Vous pouvez également modifier l'ordre des arguments
say_hello(target="Professeur de chat",greeting="Bonjour")

#Si la "variable mot-clé" a une valeur par défaut, son argument peut être omis.
say_hello(target="Professeur de chat")
say_hello(greeting="Bonjour")

production
hello world
Bonjour à tous
good morning world
Bonjour à tous
Bonjour professeur de chat
bonjour professeur de chat
Bonjour le monde

Exercice

  1. Argument de mot-clé partie 1

lesson.py



Valeur de sortie attendue
Je suis un villageois

def introduce(name = "je", role = "Villageois"):
    print(name + role + "est")

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

  1. Argument mot-clé partie 2

lesson.py



je suis un guerrier

def introduce(name = "je", role = "Villageois"):
    print(name + role + "est")

#Ci-dessous, décrivez le traitement nécessaire
introduce(role="guerrier")

Recommended Posts

Paiza Python Primer 7: Comprendre les fonctions
Paiza Python Primer 8: Comprendre les classes
Paiza Python Primer 1 Apprendre la programmation
Paiza Python Primer 4: Notions de base sur les listes
Fonctions Python
Paiza Python Primer 5: Principes de base des dictionnaires
Paiza Python Primer 3: Apprendre le traitement des boucles
# Bases de Python (fonctions)
[Débutant] Fonctions Python
Comprendre l'auto python
Fonctions Python faciles à utiliser
bases de python: fonctions
Guide du débutant Python (fonctions)
Cours de base Python (12 fonctions)
[Python] Mémo sur les fonctions
# 4 [python] Bases des fonctions
Fonction intégrée Python ~ Zip ~
Note d'introduction Python Tkinter
Fonctions intégrées Wrap Python
Paiza Python Primer 2: Apprenez les opérateurs de branchement conditionnel et de comparaison
Curry n'importe quelle fonction avec Python ...
Python> lambda> petites fonctions / fonctions de rappel
Introduction aux fonctions Python
Mémo d'apprentissage O'Reilly python3 Primer
Compréhension complète de la fonction numpy.pad
Étude de Python Hour3: Fonctions
Remplacer les fonctions de bibliothèque en Python
Arguments de mots-clés pour les fonctions Python
Python #function 1 pour les super débutants
Fonctions de tri et de comparaison Python 3
Compréhension complète du débogage Python
Fonctions Python apprises avec la chimioinfomatique
Fonctions d'ordre supérieur et notation d'inclusion en Python
[python] Gérer les fonctions dans une liste
Python et DB: comprendre le curseur DBI
À propos de Python dict et des fonctions triées
Utilisation de variables globales dans les fonctions python
[Python] Comprendre le potentiel_field_planning de Python Robotics
10 fonctions du "langage avec batterie" python
Définir dynamiquement des fonctions (méthodes) en Python
[Road to Intermediate] Comprendre les propriétés Python