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)
<. 🎜>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("米饭") #*表示位置参数的动态传参 结果为我要吃 ('米饭',) fun("一锅米饭","一箱辣条","一桶方便面","可口可乐")#我要吃 ('一锅米饭', '一箱辣条', '一桶方便面', '可口可乐') fun ("一碗米饭","辣条","雪碧") #结果为我要吃 ('一碗米饭', '辣条', '雪碧')
def fun (*food,a,b): print("我要吃",food,a,b) fun("苹果","梨子","香蕉") #此时程序会报错,全被food接收了,a和b永远接收不到参数. def fun (a,b,*food): print("我要吃",a,b,food) fun("苹果","梨子","香蕉","橘子") #我要吃 苹果 梨子 ('香蕉', '橘子')
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("香蕉", "菠萝", "葫芦娃") #香蕉 菠萝 ('葫芦娃',) 娃哈哈 默认值生效 chi("香蕉", "菠萝", "葫芦娃", "口罩") # 香蕉 菠萝 ('葫芦娃', '口罩') 娃哈哈 默认值生效 chi("香蕉", "菠萝", "葫芦娃", "口罩",c="苹果")#香蕉 菠萝 ('葫芦娃', '口罩') 苹果
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) #{'a': 10, 'b': 20, 'jay': '周杰伦', 'jj': '林俊杰'} func(a=10, b=20, jay="周杰伦", jj="林俊杰")
4 La signification de * et ** dans l'utilisation réelle des paramètres
def fun(*args, **kwargs): print(args, kwargs) fun("3","2",a="hello") #('3', '2') {'a': 'hello'}
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
def fun(): a=10 fun() print(a) #a 此时不存在
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()) #{'a': 10} fun() print(globals()) #显示的没有a的信息 print(locals()) #此时和globals一样,显示的没有a的信息,因为他显示的是当前作用域中的内容.
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.
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!