Fonctions Python

Je vais résumer ce que j'ai appris sur les fonctions python.

une fonction

Une fonction est un ensemble de processus. Il est utilisé pour rendre le processus plus facile à comprendre afin d'extraire des processus similaires, de les standardiser et de les coder efficacement. Au fait, en python, il semble habituel de déclarer les noms de fonctions séparés par "_".

Méthode de définition

La méthode de définition en python est définie comme "def function name ():". Le traitement dans la fonction est décrit en déplaçant le retrait. Si vous souhaitez définir un argument, décrivez-le entre ().

python


#Aucun argument
def test_function_1():
    pass

#Avec argument
def test_function_2(arg1, arg2):
    pass

Cela ressemble à ceci en java.

java


//Aucun argument
void testFunction1() {
}

//Avec argument
void testFunction2(String arg1, String arg2) {
}

Comment appeler

La méthode d'appel de java est la même en python. Il peut être exécuté avec le nom de la fonction ().

python


def test_function_1():
    print("La fonction a été exécutée.")

def test_function_2(arg1):
    print("arg1:" + arg1)

#Exécuter la fonction
test_function_1() #⇒ La fonction a été exécutée.
test_function_2("J'ai passé une dispute.") # ⇒ arg1:J'ai passé une dispute.
print(test_function_1()) #⇒ La fonction a été exécutée. Aucun

java


//Aucun argument
void testFunction1() {
    System.out.println("La fonction a été exécutée.");
}

void testFunction2(String arg1) {
    System.out.println("arg1:" + arg1);
}

//Exécuter la fonction
testFunction1(); //⇒ La fonction a été exécutée.
testFunction2("J'ai passé une dispute."); // ⇒ arg1:J'ai passé une dispute.

Si vous ne définissez pas de valeur de retour, la fonction retournera None. Si vous souhaitez définir une valeur de retour, écrivez «valeur de retour de retour» à la fin de la fonction.

python


def test_function_3():
    return "Essayez de renvoyer la valeur de retour"

#Exécuter la fonction
print(test_function_1()) #⇒ Essayez de renvoyer la valeur de retour

C'est la même chose pour java, donc je vais l'omettre.

Valeur par défaut

Vous pouvez définir des valeurs par défaut pour les arguments python. En définissant, la fonction peut être exécutée sans spécifier d'argument avec une valeur par défaut. Dans ce cas, la valeur par défaut prendra effet.

python


def test_function_3(arg1, arg2 = "Aucun argument"):
    print("arg1:" + arg1 + " arg2:" + arg2)

#Exécuter la fonction
test_function_3("Argument 1") # ⇒ arg1:Argument 1 arg2:Aucun argument
test_function_3("Argument 1", "Argument 2") # ⇒ arg1:Argument 1 arg2:Argument 2

java n'a pas de fonctionnalité comme la valeur par défaut.

Argument de longueur variable

Si vous souhaitez recevoir des arguments de longueur variable en python, définissez la fonction en préfixant le nom de l'argument avec "". Le résultat reçu peut être utilisé dans la fonction comme un taple. Par convention, les arguments de longueur variable sont nommés " args". Cependant, comme il s'agit d'une convention, cela fonctionne même s'il n'est pas nommé args.

python


def test_function_4(*kahen):
    print(kahen)

test_function_4("Variable 1", "Variable 2", "Variable 3") # ⇒ ('Variable 1', 'Variable 2', 'Variable 3')

Il peut également être utilisé avec des arguments réguliers.

python


def test_function_5(arg1, arg2, *kahen):
    print("arg1:" + arg1 + " arg2:" + arg2 + " kahen:" + str(kahen))

test_function_5("Invariant 1", "Invariant 2", "Variable 3", "Variable 4") # ⇒ arg1:Invariant 1 arg2:Invariant 2 kahen:('Variable 3', 'Variable 4')

En Java, écrivez "..." après le type comme String ...

java


//Aucun argument
void testFunction4(String... kahen) {
    System.out.println(Arrays.toString(kahen));
}

void testFunction5(String arg1, String arg2, String... kahen) {
    System.out.println("arg1:" + arg1 + " arg2:" + arg2 + " kahen:" + Arrays.toString(kahen));
}

//Exécuter la fonction
testFunction4("Variable 1", "Variable 2", "Variable 3"); // ⇒ [Variable 1, Variable 2, Variable 3]
testFunction5("Invariant 1", "Invariant 2", "Variable 3", "Variable 4"); // ⇒ arg1:Invariant 1 arg2:Invariant 2 kahen:[Variable 3, Variable 4]

Décorateur

Les décorateurs sont des fonctionnalités spécifiques à Python qui n'existent pas en Java. Une fonction qui prend une fonction comme argument et définit la fonction comme valeur de retour. C'est difficile à comprendre avec des mots seuls, alors je vais l'écrire.

Python


def deco(argFun):
    def retFun(arg):
        print("--Start--argument:" + arg)
        argFun(arg)
        print("--End--")
    return retFun

def test_function_6(arg):
    print("Argument décolé:" + arg)

deco(test_function_6)("TEST")

# --Start--argument:TEST
#Argument décolé:TEST
# --End--

La fonction décoratrice "déco" est définie. Cette fonction renvoie la fonction "retFun". "RetFun" est une fonction qui produit un journal avant et après l'exécution de la fonction reçue par "deco". De cette manière, le décorateur est une fonction qui ajoute (décore) le traitement avant et après l'exécution de la fonction "test_function_6". En plus de ces méthodes, vous pouvez également décorer en utilisant le modificateur "@".

Python


def deco(argFun):
    def retFun(arg):
        print("--Start--argument:" + arg)
        argFun(arg)
        print("--End--")
    return retFun

@deco
def test_function_7(arg):
    print("Decolated@argument:" + arg)

test_function_7("test")

# --Start--argument:test
# Decolated@argument:test
# --End--

C'est la fin de l'explication de la fonction. L'idée des décorateurs est une toute nouvelle étude pour moi qui suis venu à Java. Il est difficile de penser à un bon moyen de l'utiliser, mais selon la façon dont vous l'utilisez, le code peut être très déroutant, alors j'aimerais bien réfléchir lorsque vous l'utilisez.

Recommended Posts

Fonctions Python
# Bases de Python (fonctions)
[Débutant] Fonctions Python
Fonctions Python faciles à utiliser
bases de 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 ~
Fonctions intégrées Wrap Python
Python> lambda> petites fonctions / fonctions de rappel
Introduction aux fonctions Python
É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
Paiza Python Primer 7: Comprendre les fonctions
Fonctions de tri et de comparaison Python 3
Fonctions Python apprises avec la chimioinfomatique
Fonctions d'ordre supérieur et notation d'inclusion en Python
python kafka
Syntaxe de contrôle Python, fonctions (mémo d'apprentissage Python ②)
Les bases de Python ⑤
Résumé Python
Notation d'inclusion Python
Technique Python
Azure Functions: essayez des fonctions durables pour Python
Étudier Python
Mémorandum Python
Python FlowFishMaster
[python] Gérer les fonctions dans une liste
Service Python
astuces python
fonction python ①
Les bases de Python
Mémo Python
ufo-> python (3)
Notation d'inclusion Python
Installer python
Python Singleton
Les bases de Python ④
Mémorandum Python 2
mémo python
Python Jinja2
Incrément Python
atCoder 173 Python
[Python] fonction
Installation de Python
À propos de Python dict et des fonctions triées
Installer Python 3.4.3.
Essayez Python
Mémo Python
Itératif Python
Algorithme Python
Python2 + mot2vec
"Effective Python 2nd Edition" Chapitre 3 <Fonctions>
[Python] Variables
Python sys.intern ()