0
votes

Comment utiliser des variables / valeurs comme des arguments pour les modules / fonctions importés

Le contexte est que j'essaie de faire un module commun pouvant être importé dans d'autres programmes. Le code ici est du module commun. L'idée de cette fonction est qu'elle vérifie si la valeur donnée à partir du programme principal est un entier positif ou non.

def checkpoints(x):
        if x.isdigit() == False:
                num = print('Please enter valid interger.')
                return num
        else:
                print('all g')
                return


1 commentaires

Permettez-moi d'essayer de reformuler votre question: demandez-vous comment un script Python pourrait utiliser ce module / bibliothèque en passant / à travers une variable, telle que x ? S'il vous plaît aider en rendant votre question centrale plus claire


3 Réponses :


0
votes

Pour importer des variables et des fonctions à partir de fichiers, traitez le nom du fichier en tant que module. Cela ne fonctionne que si les 2 fichiers sont dans le même répertoire.

# File Name, Function/Variables/Wildcard
from file import *


2 commentaires

J'ai fait ce qui suit. Est-ce que vous sait savoir comment obtenir le x.isdigit () fonctionner? x étant une valeur.


Ajouter x en tant que paramètre à votre fonction et ajouter si type (x) == int: Pour vérifier s'il s'agit d'un entier.



0
votes

Oui, vous pouvez utiliser cette fonction dans votre programme principal et transmettre un argument. Ce que vous voulez faire entre les deux fichiers est d'abord configuré votre fonction pour recevoir un argument, AVIS 'x' ajouté dans la parenthèse: xxx

puis dans votre principal où vous souhaitez importer le Fichier comme Clinton vous a montré ci-dessus. Donc, si votre nom de fichier est «myfunctions.py», vous pouvez «importer *» à partir de ce fichier, ou spécifiquement votre fonction: xxx

J'espère que cela aide!


13 commentaires

Donc, si appelez-le et dites des points de contrôle (4) dans la valeur principale.py la valeur 4 sera traitée si c'est un entier ou non? Est-ce la bonne compréhension?


Oui, vous pouvez passer quelque chose dans cette fonction que vous voudriez. Il sera à la suite de la fonction de pouvoir utiliser ce que vous passez ou de vérifier avant de l'utiliser afin de ne pas lancer une erreur ou de le convertir. Donc, si vous savez que vous allez transmettre une chaîne dans la fonction Pour une raison quelconque, vous pouvez simplement la première chose dans la fonction indique "x = int (x)" pour vous assurer que vous passez un entier s'il s'agit d'un problème pour vous.


De même, comme mentionné dans un autre commentaire, à importer de cette manière, le fichier que vous importateur doit être dans le même répertoire et simplement utiliser le nom sans extension à l'importation.


J'ai défini que "x" sera un entier. Après l'avoir importé jusqu'au programme principal, je reçois une erreur d'argument de position. J'ai bien peur de ne pas savoir ce que c'est.


Combien d'arguments passez-vous dans la fonction? De plus, où définissez-vous que X sera un entier?


de chk_one import checkpoints de contrôle def principaux (): x = int (entrée (entrée ('')) Points de contrôle (x) principaux () #Ce est le # Main.py #


Votre problème principal est Isdigit. C'est une méthode de l'objet String désignant vous dire si une chaîne a des chiffres à l'intérieur .. Donc, si vous passez '1321' comme une chaîne, il retournera true car ce sont des chiffres. Si vous voulez vous assurer qu'il s'agit d'un Int positif, changez votre instruction IF à 'si type (x) == int && x> 0 "pour le chèque.


c'était en arrière, vous voulez type (x) == 'int' && x <0


Vous pouvez également vouloir essayer de stocker votre entrée dans une variable avant de vous assurer. Pour tester cela, essayez simplement la fonction comme points de contrôle (-1) et les points de contrôle (1) et voyez quels résultats vous obtenez.


Ah, je vois. Oui, tout monte correctement. Et je sais que je suis une douleur mais une dernière question. Le commun.py est l'endroit où les points de contrôle sont stockés si je devais avoir une autre fonction à l'intérieur du commun.papy avec les points de contrôle, que dois-je faire pour vous assurer que lorsque les points de contrôle sont appelés, il ne fonctionne que des points de contrôle et la même chose s'applique avec l'addition une fonction?


Ce que vous pouvez faire si vous avez un fichier .PY, vous importerez avec de nombreuses fonctions est plutôt que «des points de contrôle d'importation communs», vous pouvez faire «l'importation commune que c 'puis se référer à la fonction que c.Checkpoints (2)


De plus, vous pouvez simplement dire «l'importation commune», puis utiliser les fonctions comme communes.Checkpoints (2) ou communs.somefunction () .., etc. Mais lui donnez un nom court à l'aide de «l'importation commune que c 'créera un fichier plus propre.


Pas non plus une douleur, heureuse d'aider. Plz upvote la réponse si tout mon départ, merci Faro!



0
votes

Si vous voulez simplement passer dans une variable x que vous avez dans Main () , vous pouvez simplement importer la fonction et l'appeler à la principale comme suit. < Pré> xxx

Notez que vous devez modifier la définition des points de contrôle pour prendre dans x comme argument.


0 commentaires