[Ich habe versucht, Pythonista 3 zu verwenden] Importieren meines eigenen Moduls

Was ist ein Modul?

Ein Modul ist eine Datei, die Python-Definitionen und -Anweisungen enthält. (Das Suffix des Dateinamens lautet .py) Die folgenden Dateien können auch als Module behandelt werden.

HelloWorld.py


print( “HelloWorld” )

Was ist Import?

Importieren Sie beispielsweise das Modul "os" der Standardbibliothek.

import_test.py


import os
print( type( os ) )
# <class ‘module’>
print( os.getcwd() )
# /private/var/mobile/Library/Mobile Documents/iCloud~com~omz-software~Pythonista3/Documents/Test

Sie können importieren, indem Sie wie oben beschrieben import <Modulname> verwenden. Module werden als Objekte vom Typ "Modul" importiert.

Importieren Sie Ihr eigenes Modul

Verzeichnis

  • iCould - Test - MyFunc - MyCalc.py - MyCalcTest.py

Wir werden mit den obigen Verzeichnissen fortfahren. Importieren Sie das Modul "MyCalc.py" mit "MyCalcTest.py" Versuchen Sie es mit den Funktionen des Moduls "MyCalc.py".

MyCalc.py


'''
Selbst erstelltes Berechnungsmodul
'''
def sum ( v1, v2 ) :
	'''
Hinzufügen
	'''
	return v1 + v2
	
def sub ( v1, v2 ) :
	'''
Subtrahieren
	'''
	return v1 - v2

MyCalcTest.py


import MyFunc.MyCalc

v1 = 10
v2 = 5

res1 = MyFunc.MyCalc.add( v1, v2 )
print( "%d + %d = %d" %( v1, v2, res1 ) )
#>> 10 + 5 = 15

res2 = MyFunc.MyCalc.sub( v1, v2 )
print( "%d - %d = %d" %( v1, v2, res2 ) )
# 10 - 5 = 5

Ich konnte die Funktionen des Moduls MyCalc.py wie folgt nutzen.

Einfacher Zugriff auf Funktionen in Ihrem eigenen Modul

Es ist mühsam, jedes Mal "MyFunc.MyCalc.add" zu schreiben.

Objekt importieren

Objektspezifikation

Sie können ein Objekt mit from <Modulname> import <Objektname> importieren.

import_test.py


from MyFunc.MyCalc import add, sub

v1 = 10
v2 = 5

res1 = add( v1, v2 )
print( "%d + %d = %d" %( v1, v2, res1 ) )

res2 = sub( v1, v2 )
print( "%d - %d = %d" %( v1, v2, res2 ) )

Alle Objekte

Alle Objekte können mit dem Platzhalter * importiert werden.

import_test.py


from MyFunc.MyCalc import *

v1 = 10
v2 = 5

res1 = add( v1, v2 )
print( "%d + %d = %d" %( v1, v2, res1 ) )

res2 = sub( v1, v2 )
print( "%d - %d = %d" %( v1, v2, res2 ) )

Fazit

Abhängig von der Verzeichnishierarchie kann der zu importierende Pfadname lang sein. Es ist besser, das Objekt anzugeben, als es so zu verwenden, wie es ist. Gibt es im Namespace einen Platzhalter, der sehr einfach zu verwenden ist? Es kann besser sein, darauf zu verzichten, weil es unbekannt ist.

Recommended Posts

[Ich habe versucht, Pythonista 3 zu verwenden] Importieren meines eigenen Moduls
[Ich habe versucht, Pythonista 3 zu verwenden] Einführung
Ich habe versucht, meinen eigenen Datensatz mit Chainer Trainer zu lernen
Ich habe versucht, parametrisiert zu verwenden
Ich habe versucht, Argparse zu verwenden
Ich habe versucht, Mimesis zu verwenden
Ich habe versucht, anytree zu verwenden
Ich habe versucht, aiomysql zu verwenden
Ich habe versucht, Summpy zu verwenden
Ich habe versucht, Coturn zu verwenden
Ich habe versucht, Pipenv zu verwenden
Ich habe versucht, Matplotlib zu verwenden
Ich habe versucht, "Anvil" zu verwenden.
Ich habe versucht, Hubot zu verwenden
Ich habe versucht, openpyxl zu verwenden
Ich habe versucht, Ipython zu verwenden
Ich habe versucht, PyCaret zu verwenden
Ich habe versucht, Cron zu verwenden
Ich habe versucht, das Datetime-Modul von Python zu verwenden
Ich habe versucht, ngrok zu verwenden
Ich habe versucht, face_recognition zu verwenden
Ich habe versucht, Jupyter zu verwenden
Ich habe versucht, doctest zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, jinja2 zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, das Zeitfenster zu verwenden
Ich habe versucht, mein eigenes Modul zu veröffentlichen, damit ich es per Pip installieren kann
Ich habe versucht, RandomForest zu verwenden
Ich habe versucht, BigQuery ML zu verwenden
Ich habe meine eigene Sprache gemacht. (1)
Ich habe versucht, Amazon Glacier zu verwenden
Ich habe versucht, Git Inspector zu verwenden
Ich habe meine eigene Sprache gemacht (2)
Ich habe meine eigene AML gemacht
Ich habe versucht, Magenta / TensorFlow zu verwenden
Ich habe versucht, AWS Chalice zu verwenden
Ich habe versucht, Slack Emojinator zu verwenden
Ich habe versucht, Rotrics Dex Arm # 2 zu verwenden
Ich habe versucht, Rotrics Dex Arm zu verwenden
Ich habe versucht, GrabCut von OpenCV zu verwenden
Ich habe versucht, Thonny (Python / IDE) zu verwenden.
Ich habe versucht, mit dem Server-Client über tmux zu kommunizieren
Ich habe versucht, mit PyBrain verstärkt zu lernen
Ich habe versucht, mit Theano tief zu lernen
Ich habe irgendwie versucht, ein Jupyter-Notebook zu verwenden
[Kaggle] Ich habe versucht, mit unausgeglichenem Lernen zu unterabtasten
Ich habe versucht, mit OpenPose eine Schildkrötenwelle zu schießen
Ich habe versucht, die checkio-API zu verwenden
Ich habe versucht, asynchrone Verarbeitung mit Asyncio
Ich habe versucht, meinen Lieblingssänger (SHISHAMO) mit der Spotify-API zu analysieren
Ich habe mein eigenes Recherchetool mit der Gesetzes-API [Smart Roppo] erstellt.
Ich habe versucht, Amazon SQS mit Django-Sellerie zu verwenden
Ich habe versucht, Azure Speech to Text zu verwenden.
Ich habe versucht, YOUTUBE Data API V3 zu verwenden
Ich habe versucht, Selen mit Headless-Chrom zu verwenden