Je sais que celui-ci est assez dupliqué cependant: je veux utiliser doit imprimer: p> ne serait-il pas tellement plus facile? P> < p> Et je sais que cela peut être fait en utilisant Mais pourquoi ne fonctionnera-t-il pas de cette façon? Y a-t-il une raison (s) de cette manière d'accès? Est-ce que cela rendra python vulnérable? ou fera-t-il faire python instable? P> Je n'ai pas pu trouver une explication parfaite, concise, précise et précise pour ce problème d'accès. P> Merci beaucoup. P> Plus précis pour @goyo P> ou p> Je pense que c'est plus instinctif de codes d'écriture.
Peut-être que c'est juste moi. P> p> '.' code> fonction de point (syntaxe) pour accéder aux variables déclarées dans d'autres fonctions comme : p>
classe code> ou à de nombreuses autres voies aussi. P>
3 Réponses :
C'est parce que vous n'avez pas dit retour code> dans la fonction
Func1 code>, vous devez donc le faire:
def func1():
a = [1,2,3,4,5]
return a
def func2():
b = func1()
print(b[0])
Une fonction (dans votre cas une procédure car elle ne renvoie rien) est un traitement sur les données, pas un support de données comme un objet ou une structure. Lorsque vous écrivez B = FUNC (), vous vous attendez à obtenir le résultat de Func (). Vous n'avez pas à savoir ce qui se passe dans Func. A Dans votre fonction est une variable interne pouvant être détruites recueillies à la fin de la fonction (personne ne le référencant) p>
Merci pour vos aimables explications.
Vous avez une erreur variables de classe code> avec
variables de fonctions code>
code>
Oui ça marche. Mais je me demandais pourquoi Python n'était pas censé construire comme celui que j'ai fait.
J'utiliserai ';' Pour séparer le code, b = func1 (); Imprimer (type (Func1 ())); Résultat:
a = 2; A.C = 3; Code> Une variable ne peut pas gérer une autre variable au moins en python!
Merci à toi! Votre aide compte.
En Python, une fonction qui ne renvoie rien ne renvoie rien
Aucun code>.
Vous ne retournez rien de la fonction.
Ce n'est pas clair du tout ce que vous envisagez d'un problème ou de ce que "ceci" est que cela peut être fait avec une classe.
Demandez-vous pourquoi déclarer une variable locale dans une fonction ne l'ajoute pas comme un attribut à
Aucun code>? Ou pourquoi une fonction sans référence code> déclaration code> ne renvoie pas implicitement un objet contenant toutes les fonctions variables locales au lieu de retourner
Aucun code>? Ou autre chose?
Je pense qu'ils demandent pourquoi l'exécution d'une fonction ne renvoie pas automatiquement un objet qui a toutes les variables locales de la fonction en tant qu'attributs. ... Parce que ce n'est pas quelles fonctions sont pour.
Maintenant, votre code n'est pas d'accord avec la sortie que vous prétendez produire.
Erreur devrait être maintenant: AttributeError: L'objet 'Liste' n'a aucun attribut 'A'
FUNC1 CODE> renvoie une liste, donc
B code> est cette liste. Je pense que votre prochain arrêt doit être Tutoriel Python .
Je suis dyslexique. molbdnilo
@ user10874790 Oh, je suis désolé. Vous écrivez mieux que la plupart des gens, alors je n'avais aucune idée.
Pourquoi changez-vous votre question après avoir accepté une réponse? La réponse acceptée répond-elle à votre question ou non?
@Goyo n'est pas extrêmement précisément. Cependant, le choisi au moins dirigé la région où je m'interrogeais. Et plus tard, j'ai lu plus les réponses et les réponses, je suppose que c'est quelque chose ne peut être répondu que si elle n'est répondu aux développeurs Python. Et j'espérais que si des développeurs de python ou d'autres langues mènent ma question. C'est pourquoi j'ai édité ma question pour livrer mon intention. Excuses si l'une de cela confond aucun.
Je ne pense pas que cela rend votre intention plus claire, mais en fait le contraire. Quoi qu'il en soit, qu'est-ce qui vous fait penser que
impression (b.a) code> est "beaucoup plus facile" que
print (b) code>?
@Goyo qui est intéressant. Il n'est pas question d'imprimer quelque chose plutôt que cela peut rendre la vie plus facile en n'utilisant pas
global code> ou en faisant une autre variable dans une nouvelle fonction. Peut-être??
@Goyo def Func (): A = [1,2,3,4,5] def Func2 (): B = FUNC () B.A [0] = "Ne fonctionne pas" Imprimer (B) Func2 ()
@Goyo mis à jour à nouveau
Qu'attendez-vous
B code> dans les exemples en bas? Qu'est-ce que
impression (b) code> est-il réellement imprimé?
@Goyo pour Func2 et 3 ['ne fonctionne pas', 2, 3, 4, 5]. Attendez. Imprimer (B.A) a plus de sens.
Alors, quel serait le code qui démontre votre point?