Maison développement back-end Tutoriel Python Appel de fonction Python et passage de paramètres (exemple d'analyse)

Appel de fonction Python et passage de paramètres (exemple d'analyse)

Aug 15, 2018 pm 01:51 PM

Dans l'article d'aujourd'hui, nous découvrirons les connaissances liées à l'appel de fonctions Python et au passage de paramètres. Après avoir compris ce qu'est une fonction, ce que nous devons savoir, c'est comment utiliser les fonctions en python. Après tout, si vous savez seulement ce qu'est une fonction mais ne savez pas comment Python appelle une fonction, alors seulement connaître la définition d'une fonction ne sert à rien, commençons sans plus tarder. apprendre à appeler des fonctions.

Appel de fonction : définir une fonction donne uniquement un nom à la fonction, spécifie les paramètres contenus dans la fonction et la structure du bloc de code. Une fois la structure de base de cette fonction terminée, vous pouvez l'exécuter via un autre appel de fonction ou directement à partir de l'invite Python. L'exemple suivant appelle la fonction printme() :

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 定义函数
def printme( str ):
   "打印任何传入的字符串"
   print str;
   return;
 
# 调用函数
printme("我要调用用户自定义函数!");
printme("再次调用同一函数");
Copier après la connexion
Les résultats de sortie de l'exemple ci-dessus sont les suivants :

我要调用用户自定义函数!
再次调用同一函数
Copier après la connexion
C'est assez simple, utilisez simplement vos mains pour tester cela. Vous pouvez comprendre.

Parlons ensuite du

passage de paramètres : En python, les types appartiennent à des objets et les variables n'ont pas de type.

Référez-vous à l'encodage suivant :

a=[1,2,3]
 
a="Runoob"
Copier après la connexion

(Dans le code ci-dessus, [1,2,3] est de type Liste, "Runoob" est de type Chaîne et variable a is Il n'y a pas de type, c'est juste une référence à un objet (un pointeur), qui peut être un objet de type List ou un objet de type String)

Mutable et . Objets immuables

(En python, les chaînes, les tuples et les nombres sont des objets immuables, tandis que les listes, dict, etc. sont des objets qui peuvent être modifiés. )

1. Type immuable : la variable reçoit a=5 puis a=10. Ici, un nouvel objet de valeur int 10 est réellement généré, et a est pointé vers lui, tandis que 5 est ignoré au lieu de changer. la valeur de a, cela équivaut à une nouvelle génération de a.

2. Type de variable : l'affectation de variable la=[1,2,3,4] puis l'affectation la[2]=5 changera la valeur du troisième élément de la liste la, la elle-même n'en a pas. bouge, mais certaines de ses valeurs internes sont modifiées.

Passage de paramètres de la fonction python :

1. Type immuable : similaire au passage de valeurs C++, tel qu'un entier, une chaîne, un tuple. Par exemple, fun(a) transfère uniquement la valeur de a et n'affecte pas l'objet a lui-même. Par exemple, modifier la valeur d'un intérieur fun(a) ne modifie qu'un autre objet copié et n'affecte pas a lui-même.

2. Type de variable : similaire au transfert de référence C++, tel qu'une liste et un dictionnaire. Par exemple, fun(la) passera effectivement la. Après modification, la outside fun sera également affectée

(tout en python est un objet, à proprement parler on peut' Je ne parle pas de passage par valeur ou de passage par référence. Nous devrions parler de passage d'objets immuables et de passage d'objets mutables)

Python passant des instances d'objets immuables : > (Il y a l'objet int 2 dans l'instance et la variable pointant vers lui est b. Lorsqu'elle est transmise à la fonction ChangeInt, la variable b est copiée par valeur. a et b pointent tous deux vers le même objet Int. Lorsque a = 10 , créez un nouvel objet de valeur int 10 et pointez dessus. )

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
def ChangeInt( a ):
    a = 10
 
b = 2
ChangeInt(b)
print b # 结果是 2
Copier après la connexion

Python passe l'instance d'objet variable :

L'objet passé. dans la fonction et l'objet ajouté à la fin avec le nouveau contenu dans l'instance utilisent la même référence, donc le résultat de sortie est le suivant :
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 可写函数说明
def changeme( mylist ):
   "修改传入的列表"
   mylist.append([1,2,3,4]);
   print "函数内取值: ", mylist
   return
 
# 调用changeme函数
mylist = [10,20,30];
changeme( mylist );
print "函数外取值: ", mylist
Copier après la connexion

Ce qui précède est ce que je vais expliquez aujourd'hui le contenu, comment appeler des fonctions et le passage des paramètres python. Bien que les points de connaissances ci-dessus donnent des exemples, vous devez toujours l'essayer vous-même. Après tout, si vous ne le faites pas vous-même, c'est comme parler sur papier. La pratique pratique est la meilleure méthode et le meilleur moyen de vérifier ce que vous faites. ont appris. Enfin, j'espère également que cet article pourra vous apporter de l'aide à vous qui apprenez Python
函数内取值:  [10, 20, 30, [1, 2, 3, 4]]
函数外取值:  [10, 20, 30, [1, 2, 3, 4]]
Copier après la connexion

Pour plus de connaissances connexes, veuillez visiter le site Web php chinois
Python Colonne Tutoriel
.

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Apr 01, 2025 pm 05:09 PM

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Apr 02, 2025 am 07:18 AM

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu? Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu? Apr 02, 2025 am 07:15 AM

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Apr 01, 2025 pm 11:15 PM

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Apr 01, 2025 pm 10:51 PM

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

Comment obtenir des données d'information en contournant le mécanisme anti-frawler d'Investing.com? Comment obtenir des données d'information en contournant le mécanisme anti-frawler d'Investing.com? Apr 02, 2025 am 07:03 AM

Comprendre la stratégie anti-rampe d'investissement.com, Beaucoup de gens essaient souvent de ramper les données d'actualités sur Investing.com (https://cn.investing.com/news/latest-news) ...

Comment créer dynamiquement un objet via une chaîne et appeler ses méthodes dans Python? Comment créer dynamiquement un objet via une chaîne et appeler ses méthodes dans Python? Apr 01, 2025 pm 11:18 PM

Dans Python, comment créer dynamiquement un objet via une chaîne et appeler ses méthodes? Il s'agit d'une exigence de programmation courante, surtout si elle doit être configurée ou exécutée ...

See all articles