Импортиране на клас от друг файл в Python

Блог

Първоначално публикувано на CodersLegacy

Ако сте кодирали в Python повече от седмица, има 9 от 10 шанса, че вече сте започнали да импортирате някои библиотеки във вашия код, за да подобрите функционалността на вашия код. Python няма да получи световното признание, което има сега, без съществуването на тези библиотеки. Но каква е основната концепция тук? Как тези библиотеки въвеждат тези почти магически функции във вашия код? И по -важното, можем ли да повторим такава функция?

Заден план

Преди да стигнем до основната точка на тази статия, ще преминем бързо към няколко други неща. Можете да прескочите напред, ако вече знаете това, но за тези, които не знаят, силно препоръчвам да прочетете всичко това.

реагирайте на родното изложение за избор на дата

По -долу е даден пример как импортираме доста често срещана библиотека, наречена време. Ще използваме една от многото функции, наречена sleep (). Кодът за него е показан по -долу.

import time time.sleep(5)

Не се интересуваме от това, което прави тази функция, по -скоро ще се съсредоточим върху изграждането на горното изявление. Изглежда ли познато? Ако сте направили Класове в Python ще забележите, че точно така наричаме методи от класове. За да илюстрирам по -нататък, ето малко парче код от нашата статия за класове на Python.

class Student: def __init__(self,name,age): #Constructor self.name = name self.age = age def checkage(self): #Defines function if self.age <18: print('Underage') else: print('18 or Above') Student1 = Student('Naomi',20) #Creates object Student1.checkage() #Calls function

Виждате ли колко подобни са двата начина за извикване на функцията? Е, това е така, защото и двамата се обаждат от часовете. Тази част е малко сложна, защото numpy е модул, а не клас. Тогава какво е модул?

*Модулът е начин за съхраняване на код за Python за многократна употреба, съдържащ класове или функции.
*
Ключовият момент, който трябва да се отнеме тук, е, че един модул може да има повече от само един клас или функция. Във всеки случай това е достатъчен фон. Ако се интересувате от нещо, обсъдено по -горе, винаги можете да го потърсите в Google по -късно.

Създаване на модул

Ако сте следвали внимателно тази статия, трябва да сте стигнали до заключението, че трябва да създадем модул, където ще създадем класа, който да бъде импортиран. Не се притеснявайте, можете да създадете модул за по -малко от минута. Всичко, което трябва да направите, е да създадете Python файл и да му дадете подходящо име.

За останалата част от тази статия създадохме python файл, наречен module1.py . Ще създадем клас в това, което след това ще импортираме за използване в нашия основен Python файл. Можете да импортирате module1.py веднага, въпреки че няма нищо в себе си.

Създаване на клас

Сега ще създадем клас в module1.py файл. Няма ограничение за броя на класовете, които можете да добавите, но в името на тази статия, добре се придържайте към един. Ще преминем и в бонус функция (Не всичко трябва да е в клас).

По -долу създадохме клас, наречен математика, който очевидно е предназначен да съхранява свързани с математиката методи. Създадохме два метода, добавяне и подчиняване, които съответно ще добавят и изваждат две числа.

class maths: def add(self, n1, n2): return n1 + n2 def sub(self, n1, n2): return n1 - n2 #Bonus Function def display(): print('Hello World')

Сега обратно към нашия основен файл на Python.

Импортиране

Време е да импортирате модула и да започнете да изпробвате нашия нов клас и функции.

За да се извика функция или клас, принадлежащи към module1, тази функция или клас трябва да се предхожда от думата module1. Това помага при всякакви сблъсъци на имена, които могат да възникнат, ако има вече съществуваща функция или клас със същото име.

ъглово падащо меню с множество избори
import module1 Created a class object object1 = module1.maths() Calling and printing class methods print(object1.add(3,5)) print(object1.sub(8,2)) Calling the function module1.display()

Импортирането на модула, както споменахме по -рано, автоматично ще пренесе всеки отделен клас и функция в модула в пространството на имената. Ако ще използвате само една функция, можете да предотвратите затрупването на пространството от имена, само като импортирате тази функция. Ще покажем пример по -долу.

from module1 import display display()

Сега трябва само да използвате display (), за да извикате импортираната функция.

Създаване на персонализирани библиотеки

Чудите се, защо да си правим труда да създаваме наши собствени модули, когато вече има толкова много налични? Отговорът е персонализирани библиотеки.

Когато кодирате широко, в крайна сметка ще трябва да кодирате подобни парчета код отново и отново. Нека вземем GUI библиотеки за пример. За да създадете графичен интерфейс, трябва да напишете десетки редове код дори за най -простия интерфейс. Има и много повторения, тъй като по същество същите ви функции функционират отново и отново. В един момент осъзнавате, че би било по -добра идея да създадете пакета на този код във функция и да го запишете в python файл. По -късно, когато искате да създадете GUI, можете просто да извикате тази функция с едно повикване.

Този подход (обикновено) е предназначен да бъде личен. Всеки има свой собствен стил и предпочитания по време на кодирането, така че няма универсален стандарт. Всъщност не е нужно да мислите за това на основно ниво, но това е нещо, което трябва да имате предвид, след като сте по -опитни.

fox finance #bsc

Това е краят му. Можете да прочетете подобни статии на адрес CodersLegacy !

coderslegacy.com

Импортиране на клас от друг файл в Python

Научете как да импортирате клас от друг Python файл! Ще ви преведем през основите, като обясним как модулите и класовете работят заедно, за да захранват Python.