À propos des arguments de fonction (python)

introduction

Cet article est à moitié créé pour mes propres notes. Cependant, pour faire un mémo facile à comprendre quand je regarde en arrière J'ai essayé de rendre l'article facile à voir pour tout le monde. (Il semble qu'il sera signalé quand il fait une erreur ... (intention réelle))

ÉTAPE 1: À propos des arguments réels et formels

Les arguments sont grossièrement classés en deux types: les arguments formels et les arguments réels. Argument formel: utilisé dans la fonction ** définition **. Un argument formel car il donne un nom formel à l'objet réel. (argument) Argument réel: utilisé dans la fonction ** call **. Puisqu'il s'agit d'un objet réel, c'est un argument réel. (paramètre)


def foo(a):  #Argument formel
  a+=1
  return a

print(foo(1)) #Argument réel
 >>>2

ÉTAPE 2: Propriétés des arguments formels

Une propriété importante des arguments formels est qu'ils sont ** définis pour chaque appel de fonction **. Regardons un exemple concret.


def remove_first(lst):
    lst = lst[1:]
    print(lst)


lst = [1, 2, 3, 4]
print(lst)
remove_first(lst)
 >>> [2, 3, 4]
remove_first(lst)
 >>> [2, 3, 4]

Ce que je veux dire ici, c'est que les résultats du premier et du second remove_first (lst) sont les mêmes. En d'autres termes, "l'argument formel lorsqu'il est appelé pour la première fois" et "l'argument formel lorsqu'il est appelé pour la deuxième fois" sont Cela signifie que même la même variable est traitée comme une variable différente.

ÉTAPE 3: Type d'argument formel

Il existe cinq modèles pour les arguments formels mentionnés ci-dessus.

--Position ou mot-clé: définition de fonction dite ordinaire --Position uniquement: voir ci-dessous

Pour le moment, voici les positions ou mots-clés habituels.


def foo2(a, b=3):  #a est un argument positionnel et b est un argument mot-clé
  return a + b
def foo3(a=1, b):  #Erreur (l'argument mot-clé ne peut pas être défini avant l'argument positionnel)
  return a + b

print(foo2(1)) #Argument positionnel (la valeur de b est la valeur par défaut lorsque la fonction est définie)
 >>>4
print(foo2(1,5)) #Argument de position (un=1,b=5)
 >>>6
print(foo2(1,b=5)) #Arguments positionnels et mots-clés
 >>>6
print(foo2(a=1,b=5)) #Argument de mot-clé
 >>>6
print(foo2(b=2)) #Erreur
 >>>TypeError
print(foo2(b=3,a=1)) #Changer l'ordre des arguments de mots clés

En tant que propriété importante qui peut être vue de ce qui précède

ÉTAPE 4: Position uniquement, mot-clé uniquement

Ensuite, je présenterai uniquement les mots-clés mentionnés ci-dessus. Tout d'abord, seule la position, ** Lors de la définition d'une fonction, l'argument avant / ne peut être appelé que comme argument positionnel ** En revanche, seuls les mots clés ** Lors de la définition d'une fonction, les arguments après * ne peuvent être appelés qu'avec des arguments de mot-clé **


def func(a,*,b,c):
    return a + b + c

def func2(a, /):
    return a 

print(func(1,b=2,c=3)) #b entraînera une erreur s'il n'est pas appelé avec un argument mot-clé
print(func2(1)) #a entraînera une erreur s'il n'est pas appelé avec un argument de position

ÉTAPE 5: Position de longueur variable, mot-clé de longueur variable

Tout d'abord, la position de longueur variable est ** un argument qui peut recevoir n'importe quel nombre d'arguments de position **. ** Lors de la définition d'une fonction, ajoutez * avant l'argument pour en faire un argument positionnel (jusqu'à une fois par fonction) ** Les mots-clés de longueur variable sont des ** arguments qui peuvent accepter n'importe quel nombre d'arguments de mots-clés **. ** Lors de la définition d'une fonction, ajoutez \ ** avant l'argument pour en faire un argument positionnel (jusqu'à une fois par fonction) **


def func(*a, **b):
    print(a)
    print(b)

func(1,2,3,b=4,c=5)
 >>> (1, 2, 3)
     {'b': 4, 'c': 5}

Recommended Posts

À propos des arguments de fonction (python)
Python: à propos des arguments de fonction
fonction python ①
[Python] fonction
fonction de mémorandum python pour débutant
À propos de la fonction enumerate (python)
fonction python ②
Notation inclusive dans l'argument de la fonction Python
[Python] Arguments de fonction * (étoile) et ** (étoile double)
À propos des tranches Python
À propos de la notation d'inclusion de python
fonction d'énumération python
À propos de Python tqdm.
À propos du rendement Python
À propos de python, classe
Python> fonction> Fermeture
[Python] Fonction de générateur
À propos de l'héritage Python
À propos de python, range ()
À propos de Python Decorator
Python> fonction> Fonction interne
À propos de la référence Python
À propos des décorateurs Python
[Python] À propos du multi-processus
Décorateur de fonction Python
A propos des arguments de la fonction setup de PyCaret
Combinez les arguments de la fonction python en une seule variable
À propos de Python for loop
Enregistrer automatiquement les arguments de fonction dans argparse en Python
Temps d'exécution de la fonction (Python)
Exemple de prise de Python> function> * args comme argument
[Python] Mémo sur les fonctions
Résumé sur Python3 + OpenCV3
À propos de Python, pour ~ (plage)
Résumé des arguments de la fonction Python
[Python] Mémo sur les erreurs
À propos de l'environnement de développement Python
Fonction d'impression Python (suite)
À propos de la fonction Déplier
Python, à propos de la gestion des exceptions
Fonction de plancher de temps (Python)
À propos de Python Pyramid Traversal
Résumé des arguments Python
À propos de Python3 ... (objet Ellipsis)
[Python] Chapitre 01-01 À propos de Python (First Python)
[Python] À propos de l'entrée standard
À propos de __all__ en python
Exécuter la fonction Python à partir de Powershell (comment passer des arguments)
[Python] En savoir plus sur pip
À propos des arguments de filtre personnalisés de Django
Prise en charge de Fabric pour Python 3
Créer une fonction en Python
Utiliser la fonction de rappel en Python
À propos des objets et des classes Python
À propos des variables et des objets Python
[python] Valeur de l'objet fonction (?)
À propos du module Python venv
Fonction ntile (décile) en python