base python - Fonction détaillée

base python - Fonction détaillée

Tout d'abord, quelle est la fonction

函数:就是一套定义好的流程,输入数据得到结果。函数之间可能相互独立,也可能一个函数的输入是另一个函数的输出,也可能一个函数的内部调用另一个函数。
		或者说是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集

Deuxièmement, la fonction retourne

Utiliser cette fonction peut améliorer la réutilisabilité du code, des procédures écrites pour améliorer l'efficacité

En troisième lieu, la définition de la fonction

python une structure de fonction:

def 函数名(参数1,参数2,参数3):
	函数体第一行
	函数体第二行
	……
	函数体第N行
	return 返回值
   一个函数可以有参数,也可以没有参数。如果没有参数函数名后面为一对括号,如果函数有	
参数参数可以有一个,也可以有很多个参数,可以以任何数据类型,函数参数,甚至可以是另
一个函数。
函数可以没有return语句,有一个return语句,也可以有多个return语句。

Les trois cas suivants sont équivalentes:
1. Il n'y a pas de déclaration de retour.
Après la déclaration 2.Return sans valeur.
Aucun 3.Retournez

	在函数中可以使用return将里面的结果返回。出来。哪一代运行到了return,那么函数就会结束
return后面的代码都不会被执行。
	在一个Python工程中,应保证每个函数名称唯一,函数体就是这个函数需要执行的一系列操作
操作可能只有一行。也可能有很多行。
	函数只做一件事Python编码规范建议一个函数的函数体不超过20行代码,如果超过,说明这个函数做了不止一件事,就应该把这个函数拆分成为更小的函数。

Quatrièmement, les espaces de noms et la fonction portée

1. Champ d'application (portée): l'entrée en vigueur de la région variable

En Python Il y a deux champs d' application
de la portée globale :( similaires aux fenêtres de la variable d'environnement de chemin)

  • portée mondiale créé lorsque le programme est exécuté, détruit à la fin de l'exécution du programme
  • Toutes les fonctions sont en dehors de la zone de portée mondiale
  • Dans la définition des variables de portée mondiale, font partie des variables globales, les variables globales sont accessibles à tout moment dans le programme

Domaine d' une fonction :

  • Domaine d'une fonction est créée lorsque la fonction est appelée, détruite à la fin de l'appel
  • Chaque appel à la fonction générera une nouvelle portée de fonction
  • Dans la définition des variables de portée de la fonction sont des variables locales, qui ne sont accessibles que dans la fonction

Trouver des variables (similaires aux fenêtres de recherche dans la variable d'environnement)

  • Lorsque nous utilisons des variables, il donnera la priorité à la recherche à la portée actuelle de la variable, si l' on utilise, sinon continuer alors à chercher sur une portée, si l' on utilise, si toujours pas continuer alors d'aller sur un rôle domaine la recherche, etc. jusqu'à trouver la portée mondiale, est toujours pas trouvé, une exception est levée
    NameError: nom « a » est pas défini
    Insérer ici l'image Description

2. espace de noms (namespace)

  • Namespace : emplacements de stockage variable, chaque besoin variable être stocké dans un espace de noms spécifié que
    chacun aura une portée qu'un espace de noms correspondant
    espace de noms global utilisé pour stocker des variables globales. espace de noms de fonction est utilisée pour enregistrer une fonction de la variable
    espace de noms est en fait un dictionnaire, un dictionnaire conçu pour stocker une variable

la population locale () est utilisé pour obtenir le champ d'espace de noms actuel
si vous appelez la population locale dans le domaine global () Obtient l'espace de noms global, si les habitants appellent le domaine de la fonction d'action () pour obtenir l'espace de noms, retourne un dictionnaire, vous pouvez ajouter des variables ou de suppression du dictionnaire des modifications.

Cinquième, appelez la fonction

Les données série entre les fonctions peuvent fonctionner, d'abord par une fonction de traitement, mais aussi un processus dans une autre fonction, peut également être imbriquée exécuter une fonction qui appelle une autre fonction, bien sûr, fonction également dans lequel la fonction est définie, qui sont avancées fonction.

1. fonction récursive:

L'idée est qu'un gros problème dans un petit problème, jusqu'à ce que le problème ne peut pas décomposer, aller résoudre le problème de
deux éléments fonction récursive
1. Conditions de référence
- problème minimum peut être décomposé en question, et quand répondre à la ligne de base lorsque la condition ne fonctionne pas une récursives
2. conditions de récursion
- conditions continueront à se décomposer des problèmes
boucle récursive, etc., peuvent essentiellement remplacer l'autre, la
circulation est plus facile à écrire, lire un peu difficile
récursive écrire et difficile, mais facile à lire

2. Fonctions d'ordre supérieur:

En fonction des paramètres reçus ou des valeurs de retour de fonction en fonction d'ordre supérieur est fonction de
lorsque l' on utilise une fonction comme paramètre, le code spécifié est effectivement transmis dans la fonction objective

Cinquièmement, les paramètres de la fonction

Paramètre 1:
le paramètre de définition peut spécifier une valeur par défaut pour le paramètre
spécifier une valeur par défaut après que l'utilisateur si la valeur par défaut est le paramètre passé n'a pas d' effet
si l'utilisateur ne passe pas, la valeur par défaut sera effective
2. Arguments mode de transmission
paramètre de position
paramètre de position correspondant à la position réelle est copié dans le paramètre de référence correspondant à la position
du premier argument est attribué au premier paramètre, le second paramètre est affecté au second paramètre. . .
fn (1, 2, 3)

paramètres de mots - clés
des paramètres d', le paramètre de commande ne peuvent pas être définis de manière à transférer, directement sur les paramètres de transfert selon le nom du paramètre
Fn (= B. 1, C = 2, A =. 3)
Imprimer ( « Bonjour », Fin = « » ) les
paramètres de position et les paramètres peuvent être mélangés avec des mots
lors du mélange des mots - clés et de paramètres de localisation, les paramètres doivent être écrites dans une position en face de
fn (1, c = 30) des
paramètres de longueur variable :

在定义函数时,可以在形参前边加上一个*,这样这个形参将会获取到所有的实参
它将会将所有的实参保存到一个元组中
*a会接受所有的位置实参,并且会将这些实参统一保存到一个元组中(装包)
 带星号的形参只能有一个
 *形参只能接收位置参数,而不能接收关键字参数
def fn3(*a) :
    print('a =',a)

**形参可以接收其他的关键字参数,它会将这些参数统一保存到一个字典中
  字典的key就是参数的名字,字典的value就是参数的值
**形参只能有一个,并且必须写在所有参数的最后

VI Remarques fonction python

Paramètres de fonction déterminent le type de son champ d' application.
Après maintien vers le bas à l'extérieur des conteneurs passés en tant que paramètre de la fonction, si la fonction modifie la valeur à l' intérieur du récipient, les fonctions de récipient externe seront affectés, mais en dehors de la fonction normale des variables comme arguments passés à la fonction, et la modification de la fonction cela est en dehors des paramètres des variables ne sont pas affectées.

Publié 59 articles originaux · louange gagné 213 · vues 10000 +

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42767604/article/details/105150344
conseillé
Classement