Cours de base Python (12 fonctions)

Qu'est-ce qu'une fonction

Selon le glossaire informatique, «fonction» est Il existe "une série d'instructions qui reçoivent des données appelées arguments, exécutent le traitement spécifié et renvoient le résultat". Un programme est un ensemble de fonctions car le programme lui-même traite en fonction des données et renvoie le résultat. Si vous écrivez à chaque fois que vous utilisez un programme qui fait la même chose sans utiliser de fonction, le programme devient redondant. De plus, si une correction est nécessaire, toutes les pièces doivent être corrigées. Si vous en faites une fonction, vous pouvez réduire la quantité de code dans le programme, et vous n'avez qu'à modifier une fonction, donc cela ne prend pas de temps. Il est également indispensable lors de la création du "module" décrit plus loin.

Définition des fonctions

Créez une fonction simple. C'est un programme qui utilise une fonction qui détermine si l'année donnée en argument est une année humide. Une fonction qui stocke un numéro favori dans l'année sur la 9ème ligne (stocke actuellement 2015) et détermine l'année Vérifions que leap_year () fonctionne correctement.

leap_year.py


def leap_year(year):
    if year % 400 == 0 or (year % 100 != 0 and year % 4 == 0) :
        leap = True
    else:
        leap = False

    return leap

year = 2015
print("{0} = {1}".format(year,leap_year(year)))

La fonction est définie sous la forme suivante.

** def ** * Nom de la fonction * ** (** * Argument * **): ** En traitement ** return ** * valeur de retour *

Vous pouvez également définir une fonction sans valeur de retour en n'écrivant pas d'instruction de retour.

leap_year2.py


def leap_year(year):
    if year % 400 == 0 or (year % 100 != 0 and year % 4 == 0) :
        print("{0} is leap year".format(year))
    else:
        print("{0} is not leap year".format(year))


year = 2015
leap_year(year)

argument

Si vous omettez l'argument d'une fonction normale, une exception se produira.

argment_ERRROR.py


def plus_4(arg1,arg2,arg3,arg4):
    return arg1+arg2+arg3+arg4

print("no arg:{0}".format(plus_4()))

TypeError: plus_4() takes exactly 4 arguments (0 given)

Cependant, lorsque la fonction est définie, l'argument est omis en écrivant * argument * ** = ** * valeur par défaut *. Vous pouvez définir la valeur par défaut.

argment_ERRROR.py


def plus_4(arg1=2000,arg2=0,arg3=10,arg4=5):
    return arg1+arg2+arg3+arg4

print("no arg:{0}".format(plus_4()))

Le résultat suivant est sorti. C'est pratique. no arg:2015

Argument de longueur variable

Vous pouvez créer une fonction qui ne détermine pas le nombre d'arguments à l'avance.

argments.py


def spam(*args):
	print("{0}".format(args))

spam("arg1",2,3.4)

Le résultat de sortie est ('arg1', 2, 3.4) Ce sera. Vous pouvez passer une valeur à l'argument sous forme de tapple en définissant ** \ * nom de variable ** dans l'argument.

argments2.py


def spam(**args):
	print("{0}".format(args))

spam(taro=165,jiro=180,saburo=170)

Une autre façon de définir des arguments de longueur variable consiste à définir les arguments comme ** \ * \ * nom de variable **. Vous pouvez passer une valeur comme argument en tant que dictionnaire.

variable globale

Les variables globales sont des variables qui peuvent être référencées de n'importe où. En le déclarant en dehors de la fonction, il peut être utilisé à l'intérieur ou à l'extérieur de la fonction. Inversement, les variables locales, qui sont des variables déclarées à l'intérieur d'une fonction, ne peuvent pas être utilisées en dehors de la fonction.

global_explain.py


var1 = "global"
def hoge(str):
    var2 = "local"
    return var1 + str + var2

print("{0}".format(hoge("-")))
print("{0}".format(var2))
#print("{0}".format(var1))

Le programme ci-dessus lèvera une exception d'exécution. Vous devriez voir quelque chose comme ceci:

global-local Traceback (most recent call last): print("{0}".format(var2)) NameError: name 'var2' is not defined

La variable var2 étant une variable déclarée dans la fonction hoge, elle ne peut pas être utilisée de l'extérieur. La variable var1 déclarée en dehors de la fonction peut être utilisée à l'intérieur et à l'extérieur de la fonction. Du programme Commentez "print (" {0} ".format (var2))" et À la place, décommentez "print (" {0} ".format (var1))" et réexécutez le programme. Cette fois, aucune exception n'est soulevée.

Ensuite, je vais vous montrer comment changer la variable globale à l'intérieur de la fonction.

change_global_NG.py


var1 = "global"

def spam():

	var1 = "change global"
	var2 = "local"
	print(var1,var2)

spam()
print("var1 : {0}".format(var1))

ange global local var1 : change global

Je m'attends à ce qu'il soit affiché, mais en réalité

ange global local var1 : global

Il sera affiché. Pourquoi ne puis-je pas changer la variable globale à l'intérieur de la fonction? Même si vous stockez la valeur dans une variable avec le même nom que la variable globale dans la fonction, elle sera interprétée comme une variable locale avec le même nom. Si vous souhaitez modifier la variable globale dans la fonction, spécifiez que la variable est globale comme indiqué ci-dessous, puis modifiez-la.

change_global.py


def spam():
    global var1
    var1 = "change global"
    var2 = "local"
    print("{0}".format(var1+" "+var2))

spam()
print("var1 : {0}".format(var1))

change global local var1 : change global

Le résultat attendu était la sortie.

Suivant: Cours de base Python (13 classes)

Recommended Posts

Cours de base Python (12 fonctions)
Cours de base Python (7 dictionnaire)
Cours de base Python (2 installation Python)
Cours de base Python (9 itérations)
Cours de base Python (11 exceptions)
Cours de base Python (6 sets)
Cours de base Python (Introduction)
Cours de base Python (13 cours)
Cours de base Python (8 branches)
Cours de base Python (3 Exécution de Python)
Cours de base Python (10 notation d'inclusion)
Fonctions Python
Cours de base Python (5 List Taple)
Cours de base Python (1 Qu'est-ce que Python)
Cours de base Python (14 modules et packages)
RF Python Basic_01
Écriture de base Python
# Bases de Python (fonctions)
[Débutant] Fonctions Python
Grammaire de base Python3
RF Python Basic_02
Fonctions Python faciles à utiliser
bases de python: fonctions
Cours de base Python (à la fin de 15)
Cours de base Python (4 types numériques / type chaîne de caractères)
Guide du débutant Python (fonctions)
Édition de base Python Memo
Tri de base en Python
[python] méthode de base de la classe
[Python] Mémo sur les fonctions
Aide-mémoire Python3 (basique)
Grammaire de base Python (divers)
Mémorandum de base Python partie 2
python basic ② sous windows
Mémo de base Python - Partie 2
Notes de commande de base Python
# 4 [python] Bases des fonctions
Connaissance de base de Python
Fonction intégrée Python ~ Zip ~
Mémo de grammaire de base Python
Fonctions intégrées Wrap Python
Mémo de base Python - Partie 1
mémorandum python super basique
Instruction if de base Python
Python Basic --Pandas, Numpy-
Cours de base sur Python Traitement CSV (fonctions et classes n ° 1 CSV est lu et écrit)
Curry n'importe quelle fonction avec Python ...
Python> lambda> petites fonctions / fonctions de rappel
Grammaire de base du système Python3 (quelques itérations de Python)
Introduction aux fonctions Python
Application Python: Pandas Partie 1: Basique
Refactoring appris avec Python (Basic)
Authentification BASIC avec bouteille Python
Ordre de tri des dict de base Python
[Python] Utilisation d'OpenCV avec Python (basique)
Installation de Python et grammaire de base