Maison > développement back-end > Tutoriel Python > Résumé complet des fonctions en Python (avec exemples)

Résumé complet des fonctions en Python (avec exemples)

不言
Libérer: 2018-09-15 17:51:26
original
1805 Les gens l'ont consulté

Ce que cet article vous apporte est un résumé complet des fonctions en Python (avec des exemples). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

1. Paramètres dynamiques des paramètres formels : Paramètres dynamiques, utilisés lorsque les paramètres sont incertains
Format :

def fun (*args)
fun(args)
Copier après la connexion

<. 🎜>1. Recevoir dynamiquement les paramètres de position : les paramètres dynamiques doivent être après les paramètres de position.Exemple 1. Si les paramètres sont incertains, comme indiqué ci-dessous, tout le monde a des appétits différents et des types d'aliments différents, transfert de paramètres dynamiques. est utilisé en ce moment.

def fun(*food):  #*表示的是不定参数,可以传递任意个信息,参数名称还是food,且接收到的信息为元祖()
    print("我要吃",food)
fun("米饭")    #*表示位置参数的动态传参    结果为我要吃 (&#39;米饭&#39;,)
fun("一锅米饭","一箱辣条","一桶方便面","可口可乐")#我要吃 (&#39;一锅米饭&#39;, &#39;一箱辣条&#39;, &#39;一桶方便面&#39;, &#39;可口可乐&#39;)
fun ("一碗米饭","辣条","雪碧")  #结果为我要吃 (&#39;一碗米饭&#39;, &#39;辣条&#39;, &#39;雪碧&#39;)
Copier après la connexion
Liezi 2.


def fun (*food,a,b):
    print("我要吃",food,a,b)
fun("苹果","梨子","香蕉")  #此时程序会报错,全被food接收了,a和b永远接收不到参数.
def fun (a,b,*food):
    print("我要吃",a,b,food)
fun("苹果","梨子","香蕉","橘子")  #我要吃 苹果 梨子 (&#39;香蕉&#39;, &#39;橘子&#39;)
Copier après la connexion

2. Lorsqu'il y a des paramètres de valeur par défaut : ordre : paramètres de position, paramètres dynamiques*, paramètres de valeur par défaut

def chi(a, b, *food, c="娃哈哈"):
    print(a, b, food, c)
chi("香蕉", "菠萝") #香蕉 菠萝 () 娃哈哈 默认值生效
chi("香蕉", "菠萝", "葫芦娃") #香蕉 菠萝 (&#39;葫芦娃&#39;,) 娃哈哈 默认值生效
chi("香蕉", "菠萝", "葫芦娃", "口罩") # 香蕉 菠萝 (&#39;葫芦娃&#39;, &#39;口罩&#39;) 娃哈哈 默认值生效
chi("香蕉", "菠萝", "葫芦娃", "口罩",c="苹果")#香蕉 菠萝 (&#39;葫芦娃&#39;, &#39;口罩&#39;) 苹果
Copier après la connexion
À ce moment, nous constatons que toutes les valeurs par défaut​​sont en vigueur à ce moment, si aucun mot-clé n'est donné à transmettre. paramètres, alors votre valeur par défaut. Elle est toujours valide.


3. Recevez dynamiquement les paramètres de mot-clé : Ordre final (*) : Paramètres de position> *args > Paramètres de valeur par défaut> 1. Les paramètres de position dynamiques peuvent être utilisés en python, mais * dans ce cas, ne peuvent recevoir que des paramètres de position, pas des paramètres de mot-clé. Utilisez ** en python pour recevoir des paramètres de mot-clé dynamiques (les paramètres formels n'ont que des paramètres de position et des paramètres de valeur par défaut. Deux. types) *les paramètres de position args reçoivent des tuples

**kwargs les paramètres dynamiques du mot-clé, et reçoivent le dictionnaire
Par exemple

2. Mode invincible, vous pouvez accepter n'importe quoi

def func(**kwargs): # key word arguments
    print(kwargs)  #{&#39;a&#39;: 10, &#39;b&#39;: 20, &#39;jay&#39;: &#39;周杰伦&#39;, &#39;jj&#39;: &#39;林俊杰&#39;}
func(a=10, b=20, jay="周杰伦", jj="林俊杰")
Copier après la connexion


4 La signification de * et ** dans l'utilisation réelle des paramètres

1
def fun(*args, **kwargs):
    print(args, kwargs)
fun("3","2",a="hello")  #(&#39;3&#39;, &#39;2&#39;) {&#39;a&#39;: &#39;hello&#39;}
Copier après la connexion
* dans la réalité. La position du paramètre signifie la dispersion. Ce qui est cassé, ce sont les objets itérables tels que les listes et les chaînes. Les paramètres formels représentent l'agrégation


def func(*args): # Ici, cela équivaut à l'agrégation des paramètres transmis. dans un tuple print(args)lst = "Wahaha"
func(*lst) # * dans la position réelle du paramètre signifie l'impression, ce qui est dispersé est l'objet itérable
2. Dans la position réelle du paramètre**, ce qui est dispersé est le dictionnaire
def func(**kwargs): # ** Regrouper (agréger) les paramètres de mot-clé reçus dans le dictionnaire
print(kwargs) # Ce doit être un dictionnaire
dic = {"Zhang Wuji": "Maître de Mingjiao", "Xie Xun": "Roi Lion Golden Retriever", "Fan Yao": "Envoyé droit de la Lumière"}
func(Zhang Wuji=dic ['Zhang Wuji'], Xie Xun=dic['Xie Xun'], Fan Yao=dic['Fan Yao'])
func(**dic) # Le ** voici le dictionnaire Rupture. La clé du dictionnaire est utilisée comme nom du paramètre et la valeur du dictionnaire est transmise au paramètre formel comme valeur du paramètre. Les deux résultats sont les mêmes que {'Zhang Wuji' : 'Mingjiao leader', '. Xie Xun' : 'Golden Retriever Lion King', 'Fan Yao' : 'Le bon envoyé de la lumière'}

2. Espace de noms :


Nous. donner un nom à l'espace qui stocke la relation entre les noms et les valeurs : Namespace. Nos variables sont stockées dans cet espace lorsqu'elles sont stockées

1. Classification de l'espace de noms :
def fun():
    a=10
fun()
print(a)   #a 此时不存在
Copier après la connexion
1. directement dans le fichier py, en dehors de la fonction Toutes les variables appartiennent à l'espace de noms global

2. Espace de noms local --> Les variables déclarées dans la fonction seront placées dans l'espace de noms local
3. > stocke l'interpréteur python qui nous est fourni. Les noms, liste, tuple, str, int sont tous des espaces de noms intégrés
2. Ordre de chargement :
1. Espace de noms intégré 2. Espace de noms global 3. Espace de noms local ( lorsque la fonction est exécutée)
3. Ordre des valeurs :
1. Espace de noms local 2. Espace de noms global 3. Espace de noms intégré

3. Portée

est la portée, selon la portée effective, il peut être divisé en portée globale et portée locale Portée globale : inclut l'espace de noms intégré et l'espace de noms global. Il peut être utilisé n'importe où dans l'ensemble du fichier (suivez l'exécution ligne par ligne de haut en bas). ). Portée locale : peut être utilisée dans une fonction.
Espace de noms de portée :
1. Portée globale : espace de noms global + espace de noms intégré
2. pouvez Vous pouvez afficher le contenu dans la portée globale via la fonction
globals()
, et vous pouvez également afficher les informations sur les variables et les fonctions dans la portée locale via
locals()
. () les vues sont du contenu dans la portée actuelle
4. L'imbrication des fonctions

def fun():
    a=10
    print(locals())   #{&#39;a&#39;: 10}
fun()
print(globals())   #显示的没有a的信息
print(locals()) #此时和globals一样,显示的没有a的信息,因为他显示的是当前作用域中的内容.
Copier après la connexion
utilise principalement deux fonctions,

globale et non locale
global : introduire localement des variables globales nonlocal : introduire localement des variables dans la couche la plus proche et ne peut pas utiliser de variables globales dans la fonction de la première couche. Apportez-le.

Vous pouvez comprendre le sens de l'imbrication en lisant l'image ci-dessous


Recommandations associées :

programmation réseau python Résumé des fonctions couramment utilisé en PHP

Fonctions de chaîne en PHP Résumé complet

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal