Это серия на Python и как правильно использовать Python при выходе из фона на другом компьютерном языке. Из-за этого это не будет медленным вступлением в программирование, и предполагается, что у вас есть предпочтительный текстовый редактор и достаточно умны, чтобы получить Python Runc. Вы можете скачать установки и пакеты с их официального сайта найден здесь Отказ Основные знания о том, как использовать Гит И как управлять компьютером также предпочтительным.
Эта серия предполагает, что вы знакомы с некоторой формой компьютерного языка и базовых парадигм. C/C ++, JavaScript и GO будет передан большинству, поскольку они являются моими самыми знакомыми языками, отличными от Python, но любой, кто с опытом в самом отношении чего-либо еще должен быть в состоянии следовать.
Также я знаю, Python называет их методами Но я использую «методы» и «функцию» взаимозаменяемо.
Из последней статьи есть что-то, что я испытывал, что вы испытали объектно-ориентированные программисты, а хакеры, вероятно, были бы в ужасе без: классов. Классы очень подгреются в природе Питона. Создание класса можно сделать так.
# This file is named "dogs.py" class Dog: # this is a class variable and will be shared # with all instances of class 'Dog' genus = 'canine' # this function gets called # When you initialize a new instance # of the class 'Dog' # these variables are on a per instance # basis and will not be shared. def __init__ (self, name, age): self.age = age self.name = name self.parts = {} self.furry = True self.hypoallergenic = False # this will be called when the # class needs to be represented # such as when you try to print # an instance of it def __repr__ (self): return f"({self.name}, {self.age})" def set_parts(self, tails=1, ears=2, paws=4): self.parts = { # this sets the instance variable "tails": tails, "ears": ears, "paws": paws } return self.parts # You can also return the value like a standard function def sheds(self): if self.furry and not self.hypoallergenic: # using the instance variables within logic return True return False @static_method # this is a method that can be def bark(): # called without instantiating a class print('Bark Bark!') if __name__ ==" __main__": # Only run if the file is being explicitly ran as a script. # Here is how to use the class murphy = Dog("Murphy", 7) murphy.bark() murphy.set_parts() # ticks all of the boxes for the default if murphy.sheds(): print("You should buy a roomba.") champion = Dog("Champion", 2) champion.set_parts(1, 2, 3) # The dog from Parks and Rec only has 3 legs print(murphy) print(champion) # you can also call static methods like this Dog.bark()
Переменные экземпляра могут быть определены в функциях с Я. <Вар имя>
И я предпочитаю определять все те, которые я буду пользоваться в __init__
Способ моей собственной организации. Переменные классов определяются вне методов и передаются между всеми функциями даже при изменении. Например, если бы я должен был изменить родом Мерфи к «кошке» или что-то абсурдно, родом чемпионов также изменится. Также классы могут наследовать другие классы. Вот пример, предполагая, что предыдущий код, связанный с классом, был импортирован ранее.
from dogs import Dog class Labrador(Dog): def is_purebred(self): return True if __name__ ==' __main__' # the class labrador would have the same # methods, class vars and instance vars as # the previous dog class. marley = Labrador("Marley", 14) marley.bark() marley.set_parts() if marley.sheds(): print("Labs shed a lot.") if marley.is_purebred(): print("This dog is pure!")
В этом примере я импортировал некоторые из ранее написанного кода. Когда вы называете Импорт
Заявление, Python ищет в нескольких местах для вашего кода. Места, которые он ищет, называется Pythonpath
и ваш текущий каталог включен. Когда вы импортируете другой файл в Python, имя файла опущено. Вот еще один пример импорта:
import os from dogs import Dog name = os.getenv('DOG_NAME') age = os.getenv('DOG_AGE') dog = Dog(name, age)
В этом примере импорта стандартный библиотечный модуль ОС
был использован. Этот модуль дает доступ к функциям операционной системы во время оставшихся платформы Agnostic, поэтому функции будут работать на любой ОС.
Заказ на импорт, пока не насилился, обычно идет так:
import standard_library import pypi_module import local_module
Чтобы установить модуль PYPI, запустите команду PIP Установите <Имя>
Отказ Общие модули включают Запросы
, действительно простая библиотека запроса на отдых HTTP, Колбу , популярный и легкий HTTP Server Server, а Подушка библиотека манипулирования изображениями. Многие, многое существуют и можно найти на Pypi Отказ
Обычно при работе с множеством пакетов Python используются виртуальные среды. Они делают установку пакетов на уровне проекта, похожи на то, как NPM
устанавливает пакеты локально. Посмотреть здесь Для установки инструкции.
Использовать на Windows:
python -m venv env .\env\Scripts\activate
Использовать на MacOS & Linux:
python3 -m venv env source env/bin/activate
Затем вы можете установить пакеты, как указано ранее, но они будут установлены в виртуальную среду. Чтобы сохранить все пакеты для последующего использования в другой системе, запустите PIP Freeze> Требования. TXT
Отказ Для установки пакетов из свежей виртуальной среды:
python3 -m venv env source env/bin/activate pip install -r requirements.txt
Все пакеты в требования .txt
будет установлен в виртуальную среду. Это эквивалентный узел Package-lock.json
Файл и должен быть привержен для вашего исходного управления.
Это завершает Python для программистов, часть 3.
Оригинал: “https://dev.to/chand1012/python-for-programmers-part-3-classes-and-imports-2n57”