Εισαγωγή μονάδας σε Python με παραδείγματα

⚡ Έξυπνη Σύνοψη

Εισαγωγή σε Python Επιτρέπει σε ένα αρχείο να επαναχρησιμοποιεί τις μεταβλητές, τις συναρτήσεις και τις κλάσεις που ορίζονται σε ένα άλλο. Μια ενότητα είναι απλώς ένα αρχείο .py, ενώ ένα πακέτο ομαδοποιεί σχετικές ενότητες μέσα σε έναν κατάλογο που επισημαίνεται από ένα αρχείο __init__.py.

  • 🔘 Τι είναι μια ενότητα: Μια ενότητα είναι ένα μόνο αρχείο .py που περιέχει μεταβλητές, συναρτήσεις ή κλάσεις.
  • ☑️ εισαγωγή λέξης-κλειδιού: Η import φορτώνει μια ολόκληρη ενότητα. Η εντολή module_name.function_name καλεί τα μέλη της.
  • ✅ Επιλεκτική εισαγωγή: Η εντολή from module import name εισάγει μόνο τις συναρτήσεις ή τις μεταβλητές που χρειάζεστε.
  • 🧪 Ψευδώνυμα: Η εισαγωγή της ενότητας ως ψευδώνυμο συντομεύει τα μεγάλα ονόματα· από την εισαγωγή της ενότητας * εκθέτει τα πάντα.
  • ️ Πακέτα και διαδρομές: Η __init__.py μετατρέπει έναν φάκελο σε πακέτο. Η εντολή sys.path παραθέτει τις θέσεις αναζήτησης.
  • 🤖 Ροές εργασίας τεχνητής νοημοσύνης: Τα έργα μηχανικής μάθησης εισάγουν NumPy, pandas και PyTorch ως ενότητες.

Εισαγωγή μονάδας σε Python

Οι παρακάτω ενότητες εξηγούν τις ενότητες, τα πακέτα, τα διαφορετικά στυλ εισαγωγής και τον τρόπο λειτουργίας των απόλυτων και σχετικών εισαγωγών. Python.

Σε τι περιλαμβάνονται οι ενότητες Python?

Μια ενότητα είναι ένα αρχείο με Python κώδικα. Ο κώδικας μπορεί να έχει τη μορφή μεταβλητών, συναρτήσεων ή μιας καθορισμένης κλάσης. Το όνομα αρχείου γίνεται το όνομα της ενότητας.

Για παράδειγμα, εάν το όνομα του αρχείου σας είναι guru99.py, το όνομα της μονάδας θα είναι guru99. Με τη λειτουργικότητα της μονάδας, μπορείτε να σπάσετε τον κώδικά σας σε διαφορετικά αρχεία αντί να γράψετε τα πάντα μέσα σε ένα αρχείο.

Ποια είναι η Python μονάδα εισαγωγής;

Ένα αρχείο θεωρείται ενότητα (module) στο PythonΓια να χρησιμοποιήσετε την ενότητα, πρέπει να την εισαγάγετε χρησιμοποιώντας το εισαγωγή λέξη-κλειδί. Οι συναρτήσεις ή οι μεταβλητές που υπάρχουν μέσα στο αρχείο μπορούν να χρησιμοποιηθούν σε ένα άλλο αρχείο εισάγοντας την ενότητα. Αυτή η λειτουργικότητα είναι διαθέσιμη και σε άλλες γλώσσες όπως TypeScript, JavaΓραφή, Java, Ruby, κ.λπ.

Πώς να δημιουργήσετε και να εισαγάγετε μια ενότητα Python?

Τώρα θα δημιουργήσουμε μια ενότητα και θα την εισαγάγουμε σε ένα άλλο αρχείο.

Ακολουθεί η ροή για τη δημιουργία και εισαγωγή της λειτουργικής μονάδας όπως φαίνεται στο στιγμιότυπο οθόνης:

Δημιουργία και εισαγωγή μιας ενότητας Python

Ακολουθήστε τα βήματα που δίνονται για να δημιουργήσετε μια ενότητα στο Python.

Η δομή του φακέλου που χρησιμοποιείται για τον έλεγχο του κώδικα είναι η εξής:

modtest/
	test.py
	display.py	

Βήμα 1) Δημιουργήστε ένα αρχείο και ονομάστε το test.py

Βήμα 2) Μέσα στο test.py δημιουργήστε μια συνάρτηση που ονομάζεται display_message()

Def display_message():
    return "Welcome to Guru99 Tutorials!"

Βήμα 3) Τώρα δημιουργήστε ένα άλλο αρχείο display.py.

Βήμα 4) Μέσα στο display.py, εισαγάγετε το αρχείο test.py της ενότητας, όπως φαίνεται παρακάτω:

import test

Κατά την εισαγωγή, δεν χρειάζεται να αναφέρετε το test.py αλλά μόνο το όνομα του αρχείου.

Βήμα 5) Στη συνέχεια, μπορείτε να καλέσετε τη συνάρτηση display_message() από το test.py μέσα στο display.py. Πρέπει να χρησιμοποιήσετε το module_name.function_name.

Για παράδειγμα test.display_message().

Import test
print(test.display_message())

Βήμα 6) Όταν εκτελέσετε το display.py, θα λάβετε τα εξής Παραγωγή:

Welcome to Guru99 Tutorials!

Εισαγωγή τάξης σε Python

Νωρίτερα, είδαμε μια απλή ενότητα με μια συνάρτηση. Εδώ θα δημιουργήσουμε μια κλάση και θα αναφερθούμε στην κλάση που βρίσκεται μέσα σε ένα άλλο αρχείο.

Η δομή των φακέλων για τη δοκιμή του κώδικα έχει ως εξής:

myproj/
	Car.py
	display.py

Δημιουργήστε ένα αρχείο που ονομάζεται Car.py με τον ακόλουθο κώδικα:

Όνομα αρχείου: Car.py

class Car:
	brand_name = "BMW"
	model = "Z4"
	manu_year = "2020"

	def __init__(self, brand_name, model, manu_year):
		self.brand_name = brand_name
		self.model = model
		self.manu_year = manu_year

	def car_details(self):
		print("Car brand is ", self.brand_name)
		print("Car model is ", self.model)
		print("Car manufacture year is ", self.manu_year)
			
			
	def get_Car_brand(self):
		print("Car brand is ", self.brand_name)

	def get_Car_model(self):
		print("Car model is ", self.model) 

Στο αρχείο Car.py, υπάρχουν τα χαρακτηριστικά brand_name, model και manu_year. Οι συναρτήσεις που ορίζονται μέσα στην κλάση είναι car_details(), get_Car_brand(), get_Car_model().

Ας χρησιμοποιήσουμε τώρα το αρχείο Car.py ως λειτουργική μονάδα σε ένα άλλο αρχείο που ονομάζεται display.py.

Όνομα αρχείου: display.py

import Car
car_det = Car.Car("BMW","Z5", 2020)
print(car_det.brand_name)
print(car_det.car_details())
print(car_det.get_Car_brand())
print(car_det.get_Car_model())

Παραγωγή:

BMW
Car brand is  BMW
Car model is  Z5
Car manufacture year is  2020
Car brand is  BMW
Car model is  Z5

Έτσι, μπορούμε να έχουμε πρόσβαση σε όλες τις μεταβλητές και τις συναρτήσεις από το Car.py χρησιμοποιώντας την ενότητα Car.

Χρήση της ενότητας από για εισαγωγή

Μπορείτε να εισαγάγετε μόνο ένα μικρό μέρος της ενότητας, δηλαδή μόνο τις απαιτούμενες συναρτήσεις και τα ονόματα μεταβλητών από την ενότητα αντί να εισαγάγετε τον πλήρη κώδικα.

Όταν θέλετε να εισαχθούν μόνο συγκεκριμένα στοιχεία, μπορείτε να χρησιμοποιήσετε τη λέξη-κλειδί "από" για να εισαγάγετε ό,τι θέλετε.

Άρα η σύνταξη είναι

from  module import your function_name , variables,... etc.

Η δομή του φακέλου που χρησιμοποιείται για τον έλεγχο του κώδικα είναι η εξής:

modtest/
	test.py
	display.py	

Στο test.py υπάρχουν 2 συναρτήσεις όπως φαίνεται:

Όνομα αρχείου: test.py

defdisplay_message():
	return "Welcome to Guru99 Tutorials!"
	
def display_message1():
	return "All about Python!"

Τώρα θέλετε τη συνάρτηση display_message(). Η συνάρτηση ή η μεταβλητή που εισάγετε μπορεί να προσπελαστεί απευθείας όπως φαίνεται παρακάτω:

Όνομα αρχείου: display.py

from test import display_message
print(display_message())

Παραγωγή:

Welcome to Guru99 Tutorials!

Τώρα, αν τύχει να χρησιμοποιήσετε τη συνάρτηση display_message1(), θα εμφανιστεί ένα σφάλμα ότι η συνάρτηση δεν έχει οριστεί όπως φαίνεται παρακάτω:

from test import display_message
print(display_message1())

Παραγωγή:

Traceback (most recent call last):
File "display.py", line 3, in <module>
print(display_message1())
Name Error: name 'display_message1' is not defined

Εισαγωγή όλων από τη μονάδα

Η εισαγωγή σάς επιτρέπει να εισαγάγετε ολόκληρη την ενότητα χρησιμοποιώντας την εισαγωγή ακολουθούμενη από το όνομα της ενότητας, δηλαδή το όνομα αρχείου ή τη βιβλιοθήκη που θα χρησιμοποιηθεί.

Σύνταξη:

Import module

Ή χρησιμοποιώντας

from module import *

Η δομή του φακέλου που χρησιμοποιείται για τον έλεγχο του κώδικα είναι η εξής:

modtest/
	test.py
	display.py	

Ακολουθούν οι λεπτομέρειες του κώδικα μέσα στο test.py

my_name = "Guru99"
my_address = "Mumbai"

defdisplay_message():
	return "Welcome to Guru99 Tutorials!"
	
	
def display_message1():
	return "All about Python!"

Χρήση της μονάδας εισαγωγής

Χρησιμοποιώντας μόνο το όνομα της ενότητας εισαγωγής, για να αναφερθείτε στις μεταβλητές και τις συναρτήσεις μέσα στην ενότητα, πρέπει να τους προσθέσετε το όνομα της ενότητας ως πρόθεμα.

Παράδειγμα

Όνομα αρχείου: display.py

Import test
print(test.display_message())
print(test.display_message1())
print(test.my_name)
print(test.my_address)

Η δοκιμή ονόματος ενότητας χρησιμοποιείται για να αναφερθεί στις συναρτήσεις και τις μεταβλητές μέσα στη δοκιμή ενότητας.

Παραγωγή:

Welcome to Guru99 Tutorials!
All about Python!
Guru99
Mumbai

Χρήση εισαγωγής *

Ας δούμε ένα παράδειγμα χρησιμοποιώντας εισαγωγή *. χρησιμοποιώντας εισαγωγή *, οι συναρτήσεις και οι μεταβλητές είναι άμεσα προσβάσιμες, όπως φαίνεται στο παρακάτω παράδειγμα:

from test import *

print(display_message())
print(display_message1())
print(my_name)
print(my_address)

Παραγωγή:

Welcome to Guru99 Tutorials!
All about Python!
Guru99
Mumbai

Η συνάρτηση dir( ).

Η dir() είναι μια ενσωματωμένη συνάρτηση στο PythonΗ συνάρτηση dir() επιστρέφει όλες τις ιδιότητες και τις μεθόδους, συμπεριλαμβανομένων των ενσωματωμένων ιδιοτήτων του δεδομένου αντικειμένου.

Έτσι, όταν χρησιμοποιείται η συνάρτηση dir() στη λειτουργική μονάδα, θα σας δώσει τις μεταβλητές και τις συναρτήσεις που υπάρχουν μέσα στη λειτουργική μονάδα.

Ακολουθεί ένα λειτουργικό παράδειγμα της dir() σε μια ενότητα. Έχουμε μια κλάση που ονομάζεται Car.py, ας εισάγουμε την Car και ας την αντιστοιχίσουμε στην dir() για να δούμε την έξοδο.

Η δομή του φακέλου για τον έλεγχο του κώδικα θα είναι η εξής:

test prop/
	Car.py
	test.py	

Όνομα αρχείου: Car.py

class Car:
	brand_name = "BMW"
	model = "Z4"
	manu_year = "2020"

	def __init__(self, brand_name, model, manu_year):
		self.brand_name = brand_name
		self.model = model
		self.manu_year = manu_year

	def car_details(self):
		print("Car brand is ", self.brand_name)
		print("Car model is ", self.model)
		print("Car manufacture year is ", self.manu_year)
			
			
	def get_Car_brand(self):
		print("Car brand is ", self.brand_name)

	def get_Car_model(self):
		print("Car model is ", self.model) 

Όνομα αρχείου: test.py

import Car

class_contents = dir(Car)
print(class_contents)

Η έξοδος μας δίνει το όνομα της κλάσης και όλες τις συναρτήσεις που ορίζονται στο Car.py.

Μπορείτε επίσης να δοκιμάσετε να χρησιμοποιήσετε το dir() σε μια ενσωματωμένη μονάδα που είναι διαθέσιμη σε PythonΑς δοκιμάσουμε το ίδιο και στο json όπως φαίνεται στο παρακάτω παράδειγμα. Θα εμφανίσει όλες τις ιδιότητες και τις μεθόδους που είναι διαθέσιμες στο json μονάδα μέτρησης.

Import json
json_details = dir(json)
print(json_details)

Παραγωγή:

['JSONDecodeError', 'JSONDecoder', 'JSONEncoder', '__all__', '__author__', '__bu
iltins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__pac
kage__', '__path__', '__spec__', '__version__', '_default_decoder', '_default_en
coder', 'codecs', 'decoder', 'detect_encoding', 'dump', 'dumps', 'encoder', 'loa
d', 'loads', 'scanner']

Πακέτα

Ένα πακέτο είναι ένας κατάλογος με όλα τα modules που ορίζονται μέσα του. Για να κάνετε ένα Python Ο διερμηνέας το αντιμετωπίζει ως πακέτο, ο κατάλογός σας θα πρέπει να περιέχει το αρχείο __init__.py. Το __init__.py μετατρέπει τον κατάλογο σε πακέτο. Ακολουθεί η διάταξη του πακέτου στην οποία θα εργαστούμε.

Πακέτα σε Python

Το όνομα του πακέτου είναι το πακέτο μουΓια να ξεκινήσετε να εργάζεστε με το πακέτο, δημιουργήστε έναν κατάλογο με το όνομα mypackage/. Μέσα στον κατάλογο, δημιουργήστε ένα κενό αρχείο με το όνομα __init__.py. Δημιουργήστε 3 ακόμη αρχεία module1.py, module2.py και module3.py και ορίστε τις συναρτήσεις όπως φαίνεται στο στιγμιότυπο οθόνης. Ακολουθούν οι λεπτομέρειες των module1.py, module2.py και module3.py

module1.py

def mod1_func1():
print("Welcome to Module1 function1")

def mod1_func2():
print("Welcome to Module1 function2")

def mod1_func3():
print("Welcome to Module1 function3")

module2.py

def mod2_func1():
print("Welcome to Module2 function1")

def mod2_func2():
print("Welcome to Module2 function2")

def mod2_func3():
print("Welcome to Module2 function3")

module3.py

def mod3_func1():
print("Welcome to Module3 function1")

def mod3_func2():
print("Welcome to Module3 function2")

def mod3_func3():
print("Welcome to Module3 function3")

The πακέτο είναι έτοιμο για χρήση. Τώρα καλέστε το πακέτο που βρίσκεται μέσα σε οποιοδήποτε από τα αρχεία σας, όπως φαίνεται παρακάτω στο test.py:

Εδώ, το mypackage.module1 εισάγεται και δίνεται ένα ψευδώνυμο ως λειτουργία 1Ομοίως, μπορείτε να χρησιμοποιήσετε τις άλλες ενότητες module2.py και module3.py από το mypackage.

import mypackage.module1 as mod1

print(mod1.mod1_func1())
print(mod1.mod1_func2())
print(mod1.mod1_func2())

Παραγωγή:

Welcome to Module1 function1
None
Welcome to Module1 function2
None
Welcome to Module1 function2
None

Μόλις παρουσιάσαμε το πακέτο με μια απλή ενότητα με συναρτήσεις στο εσωτερικό της. Ανάλογα με το έργο σας, μπορείτε επίσης να δημιουργήσετε πακέτα που έχουν υποπακέτα, δηλαδή υποφακέλους που έχουν ενότητες με καθορισμένες κλάσεις.

Python Διαδρομή αναζήτησης ενότητας

Κατά την εκτέλεση, όταν Python συναντά όνομα μονάδας εισαγωγής, ο διερμηνέας προσπαθεί να εντοπίσει τη λειτουργική μονάδα. Αναζητά τη λειτουργική μονάδα στην ενσωματωμένη λίστα λειτουργικών μονάδων και, στη συνέχεια, σε όλους τους καταλόγους που έχουν οριστεί μέσα στο sys.path.

Συνοψίζοντας, ο διερμηνέας κάνει την ακόλουθη αναζήτηση για να εντοπίσει τη μονάδα:

  1. Στον τρέχοντα κατάλογο σας.
  2. Στη λίστα ενσωματωμένων ενοτήτων.
  3. Μέσα στους καταλόγους sys.path.

Μπορείτε να λάβετε τις λεπτομέρειες του sys.path εισάγοντας την ενότητα sys και εκτυπώνοντας το sys.path. Θα σας εμφανιστεί η λίστα με τους καταλόγους όπως φαίνεται παρακάτω:

importsys
print(sys.path)

Παραγωγή:

['Python Latest\\task2', 'Users\\AppData\\Local\\Programs\\Python\
\Python37\\python37.zip', 'Users\\AppData\\Local\\Programs\\Python\\P
ython37\\DLLs']

Μπορείτε επίσης να τροποποιήσετε τη διαδρομή και να διατηρήσετε τους καταλόγους σύμφωνα με τις απαιτήσεις σας.

Χρήση ψευδωνύμου μονάδας στην εισαγωγή

Μπορείτε επίσης να μετατρέψετε το όνομα της ενότητας σε συντομότερη μορφή δίνοντάς της ένα ψευδώνυμο. Το ψευδώνυμο μπορεί να δημιουργηθεί χρησιμοποιώντας το as λέξη-κλειδί.

Σύνταξη:

import filename as alias name

Η δομή του φακέλου για τον έλεγχο του κώδικα θα είναι η εξής:

Mod test/
	test.py
	display.py	

Ακολουθεί ο κώδικας μέσα στο test.py

my_name = "Guru99"
my_address = "Mumbai"

def display_message():
	return "Welcome to Guru99 Tutorials!"	
	
def display_message1():
	return "All about Python!"

Τώρα θα χρησιμοποιήσουμε ένα ψευδώνυμο για το test.py στο display.py

Import test as t

print(t.display_message())
print(t.display_message1())
print(t.my_name)
print(t.my_address)

Το ψευδώνυμο που χρησιμοποιείται για την ενότητα δοκιμής είναι t. Έτσι, οι συναρτήσεις και οι μεταβλητές από το test.py μπορούν να αναφερθούν χρησιμοποιώντας το ψευδώνυμο t.

Παραγωγή:

Welcome to Guru99 Tutorials!
All about Python!
Guru99
Mumbai

Απόλυτες και Σχετικές Εισαγωγές σε Python

Τώρα ξέρετε πώς να εισάγετε ένα αρχείο ως λειτουργική μονάδα μέσα σε άλλο αρχείο. Ας δούμε τώρα πώς να διαχειριστούμε τα αρχεία που είναι διαθέσιμα σε φακέλους. Τα αρχεία στους φακέλους μπορούν να εισαχθούν είτε χρησιμοποιώντας απόλυτες είτε σχετικές εισαγωγές.

Σκεφτείτε ότι έχετε τη δομή του φακέλου του έργου σας, όπως φαίνεται παρακάτω:

Απόλυτες και Σχετικές Εισαγωγές σε Python

Ο ριζικός φάκελος είναι ο myproject/. Έχει δύο υποφακέλους, το package1 και το package2.

Ο φάκελος package1 έχει δύο ενότητες, την module1.py και την module2.py.

Ο φάκελος package2 έχει μια κλάση myclass.py, ένα υποπακέτο subpkg με module3.py και τελευταίο module4.py.

  • Στο module1.py, υπάρχει μια συνάρτηση που ονομάζεται myfunc1.
  • Στο module2.py, υπάρχει μια συνάρτηση που ονομάζεται myfunc2.
  • Στο module3.py, υπάρχει μια συνάρτηση που ονομάζεται myfunc3.
  • Στο module4.py, υπάρχει μια συνάρτηση που ονομάζεται myfunc4.

Χρήση Απόλυτων Εισαγωγών

Για απόλυτες εισαγωγές, πρέπει να προσθέσετε ολόκληρη τη διαδρομή της ενότητας σας απευθείας από τον ριζικό φάκελο του έργου.

Ας δούμε τώρα πώς να χρησιμοποιήσουμε απόλυτες εισαγωγές για να αναφερθούμε στις συναρτήσεις που υπάρχουν σε κάθε μία από τις ενότητες.

Για να εργαστείτε με τη συνάρτηση myfunc1, θα χρειαστεί να την εισαγάγετε ως εξής:

from package1.module1  import  myfunc1
or
from package1 import module1
module1.myfunc1()  

Για να εργαστείτε με τη συνάρτηση myfunc3, θα χρειαστεί να την εισαγάγετε ως εξής:

from package1.subpkg.module3  import  myfunc3
or
from package1.subpkg import module3
module3.myfunc3()  

Πλεονεκτήματα και μειονεκτήματα της χρήσης απόλυτων εισαγωγών

Ακολουθούν τα πλεονεκτήματα της χρήσης απόλυτων εισαγωγών:

  • Γίνεται εύκολο να tracΕπιστρέψτε τις ενότητες για έλεγχο κώδικα.
  • Εύκολο στη χρήση και πολύ απλό.
  • Εάν το έργο μετακινηθεί σε διαφορετική διαδρομή, οι εισαγωγές θα παραμείνουν οι ίδιες.

Μειονεκτήματα της χρήσης απόλυτων εισαγωγών

Ακολουθούν τα μειονεκτήματα της χρήσης απόλυτων εισαγωγών:

  • Η διαδρομή εισαγωγής μπορεί να γίνει πολύ μεγάλη σε περίπτωση που οι ενότητες είναι ένθετες και τα ονόματα των ενοτήτων είναι μεγάλα.

Χρήση σχετικών εισαγωγών

Λαμβάνοντας υπόψη την ίδια δομή φακέλων που αναφέρθηκε παραπάνω, θα δούμε πώς να την εισαγάγουμε χρησιμοποιώντας σχετικές εισαγωγές.

Σε μια σχετική εισαγωγή, η ενότητα που θα εισαχθεί είναι σχετική με την τρέχουσα τοποθεσία, δηλαδή, την τοποθεσία όπου υπάρχει η πρόταση εισαγωγής.

Σύνταξη

Σε σχετικές εισαγωγές, πρέπει να προσθέσετε μια τελεία (.) πριν από το όνομα της μονάδας κατά την εισαγωγή χρησιμοποιώντας από.

Θα υπάρχουν δύο τελείες (..) πριν από το όνομα της ενότητας εάν η ενότητα βρίσκεται ένα επίπεδο πάνω από την τρέχουσα τοποθεσία.

Αναφερόμενοι στο σχήμα δομής φακέλων που αναφέρθηκε παραπάνω, έχουμε τις ακόλουθες ενότητες με τις λειτουργίες τους, στις οποίες πρέπει να αναφερθούμε.

  • Στο module1.py, υπάρχει μια συνάρτηση που ονομάζεται myfunc1.
  • Στο module2.py, υπάρχει μια συνάρτηση που ονομάζεται myfunc2.
  • Στο module3.py, υπάρχει μια συνάρτηση που ονομάζεται myfunc3.
  • Στο module4.py, υπάρχει μια συνάρτηση που ονομάζεται myfunc4.

Για να εργαστείτε με τη συνάρτηση myfunc1, θα χρειαστεί να την εισαγάγετε ως εξής:

from  .module1  import  myfunc1

Για να εργαστείτε με τη συνάρτηση myfunc3, θα χρειαστεί να την εισαγάγετε ως εξής:

from  .subpkg.module3  import  myfunc3

Πλεονεκτήματα των σχετικών εισαγωγών

  • Είναι εύκολο να δουλέψεις με σχετικές εισαγωγές.
  • Από την τρέχουσα τοποθεσία, οι εισαγωγές μπορούν να συντομευθούν σε σύγκριση με τις απόλυτες εισαγωγές.

Μειονεκτήματα των σχετικών εισαγωγών

  • Χρησιμοποιώντας σχετικές εισαγωγές, είναι δύσκολο να tracπίσω εκεί που βρίσκεται ο κώδικας.

Συχνές Ερωτήσεις

Python Δεν είναι δυνατός ο εντοπισμός της ενότητας. Επιβεβαιώστε ότι το αρχείο είναι γραμμένο σωστά, βρίσκεται στο sys.path ή στον τρέχοντα φάκελο και ότι το πακέτο είναι εγκατεστημένο στο ενεργό εικονικό σας περιβάλλον. Εκτελέστε την εντολή pip install ακολουθούμενη από το όνομα του πακέτου για τις ενότητες τρίτων κατασκευαστών.

Εγκαταστήστε το πρώτα με κουκούτσι, Python διαχειριστής πακέτων, για παράδειγμα pip install pandas. Μόλις εγκατασταθεί στο περιβάλλον σας, εισαγάγετέ το κανονικά με το import pandas. Οι ενσωματωμένες ενότητες όπως το json δεν χρειάζονται εγκατάσταση.

Μια κυκλική εισαγωγή συμβαίνει όταν δύο ενότητες εισάγουν η μία την άλλη, αφήνοντας τη μία μόνο μερικώς φορτωμένη. Διορθώστε το αυτό συγχωνεύοντας κοινόχρηστο κώδικα, εισάγοντας μέσα στη συνάρτηση που τον χρειάζεται ή εισάγοντας ολόκληρη την ενότητα αντί για συγκεκριμένα ονόματα.

Αυτός ο φρουρός εκτελεί κώδικα μόνο όταν το αρχείο εκτελείται απευθείας, όχι κατά την εισαγωγή. Χωρίς αυτόν, κάθε εισαγωγή θα εκτελούσε ξανά τις εντολές ανώτατου επιπέδου της ενότητας. Διατηρεί τις επαναχρησιμοποιήσιμες συναρτήσεις ξεχωριστά από τον κώδικα δοκιμών τύπου σεναρίου.

Όχι. Python εκτελεί μια ενότητα μία φορά, στη συνέχεια την αποθηκεύει προσωρινά στο sys.modules και επαναχρησιμοποιεί αυτό το αντικείμενο για μεταγενέστερες εισαγωγές. Για να επιβάλετε επαναφόρτωση κατά την ανάπτυξη, καλέστε το importlib.reload(module).

Χρησιμοποιήστε την importlib.import_module(“name”) όταν το όνομα της ενότητας είναι γνωστό μόνο κατά την εκτέλεση, όπως κατά τη φόρτωση πρόσθετων (plugins). Επιστρέφει το αντικείμενο της ενότητας, ώστε να μπορείτε να έχετε πρόσβαση στις λειτουργίες της όπως μια κανονική εισαγωγή.

Ο κώδικας μηχανικής μάθησης εισάγει NumPy, pandas, scikit-learn, TensorFlow και PyTorch ως ενότητες. Οι ομάδες χωρίζουν επίσης τις δικές τους αγωγούς σε επαναχρησιμοποιήσιμες ενότητες και πακέτα και, στη συνέχεια, εισάγουν κοινόχρηστες συναρτήσεις προεπεξεργασίας και εκπαίδευσης σε όλα τα σενάρια.

Ναι. Ο GitHub Copilot και οι βοηθοί πρακτόρων προτείνουν γραμμές εισαγωγής καθώς πληκτρολογείτε, προσθέτουν εισαγωγές που λείπουν και βοηθούν στην επίλυση σφαλμάτων εισαγωγής. Πάντα να επιβεβαιώνετε ότι η ενότητα είναι εγκατεστημένη και ότι το όνομα ταιριάζει με το περιβάλλον σας πριν εμπιστευτείτε μια πρόταση.

Συνοψίστε αυτήν την ανάρτηση με: