Рубрики
Без рубрики

Вы кодируете неправильный путь в Python, если не используете эти две библиотеки

Здравствуйте, удивительные разработчики таблица … Tagged с Python, начинающими, сегодняшним сегодняшним, Codenewbie.

Привет, удивительные разработчики

Оглавление

  • Мотивация
  • Вступление
  • Печатать
    • Переменные
    • Списки
    • Словарь
    • Функции
    • Классы
  • Вывод
  • Ресурсы

Мотивация

Что заставляет людей любить (иногда ненавижу 😛) Машинопись Больше, чем JavaScript?

Это типинг, безопасность типа. Они знают, что под ними будет безопасная сетка, которая ловит на нас многие ошибки и кричит на нас, если мы совершаем ошибки.

Дело не только в том, что это также важно, это также важно, это было бы удивительно правильно, когда вы получите лучшие автоматические завершения и методы для переменной.

Что, если я скажу, что мы сможем, вы могли бы получить это в Python. Это прекрасно.

Теперь, поскольку мы знаем, что Python является интерпретированным языком, и он не имеет компилятора для себя, поэтому мы не можем полностью воспроизвести TypeScript, но, по крайней мере, пытаемся использовать типы, где это возможно.

TL; DR. Как работает TypeScript, он принимает весь код сценария, компилированную его в файл JavaScript, компилятор выполняет всю проверку типов.

Python – это динамически напечатанный язык

Вступление

От Python 3.5 у нас есть эта удивительная библиотека, которая строится внутри Python, это набор библиотека. Мы не можем охватить всю библиотеку, но применять принцип Парето (правило 80-20) Я постараюсь осветить несколько важных частей библиотеки.

Мы используем его вместе с библиотекой проверки типа мощности mypy Анкет

Мы будем кратко скользить по следующим темам

  • Основные переменные
  • Списки
  • Словарь
  • Функции
  • Классы

Давайте начнем

IDE SETUP

Пожалуйста, установите следующие расширения для VSCODE

Mypy

Ошибка объектива (Необязательный)

Печатать

Переменные

  • Целое число
  • Плавать
  • Нить
int_typed:int = 4

float_typed:float = 1.2

string_typed:str = "hello"

Давайте посмотрим, что произойдет, если мы попытаемся присвоить им другое значение.

Списки

Чтобы узнать больше о списках, вы должны знать о Последовательность

Последовательность

В Python последовательность является общим термином для упорядоченного набора. В Python есть несколько типов последовательностей, следующие три являются наиболее важными.

Списки

Списки являются наиболее универсальным типом последовательности. Элементы списка могут быть любым объектом, а списки изменены – их можно изменить. Элементы могут быть переназначены или удалены, а новые элементы могут быть вставлены.

from typing import List
int_typed_list:List[int] = []

Крики за ошибки типа

Но но но в TypeScript У нас есть Любые Ключевое слово, если мы хотим динамический массив

Да Золотое Любой Даже существует здесь тоже

from typing import Any, List

int_typed:int = 4

float_typed:float = 1.2

string_typed:str = "hello"

int_typed_list:List[int] = []

int_typed_list.append(int_typed)

any_typed_list: List[Any] = []
any_typed_list.append(int_typed)
any_typed_list.append(string_typed)
any_typed_list.append(float_typed)
any_typed_list.append(int_typed_list)

Нет крика 🤫

Словарь

Для этого раздела Картинка говорит громче, чем слова

from typing import Dict

x: Dict[str, int] = {'followers': 1110} 

x['abc'] = 123

x.keys()

x.values()

Он читает ключи, если мы определим в коде и поможем нам в Auto Complete

Теперь мы знаем, что Keys () возвращает список ул

Теперь мы знаем, что ценности() возвращает список инт

Функции

Мое любимое определение функции на все времена изображено на картинке ниже.

def get_avg(num1:int, num2:int) -> float:
    return (num1+num2)/2

get_avg(12,9)

Функция кричит

Классы

Нам может понадобиться решение, когда нам требуется пользовательские классы для хранения и использования наших данных. Тогда мы могли бы сходно с этим

import math as m

class Vector:
    def __init__(self, x:float,y:float) -> None:
        self.x = x
        self.y = y

    def calculate_magnitude(self) -> float:
        return m.sqrt(m.pow(self.x,2)+ m.pow(self.y,2))

v = Vector(1,1)

Вы снова получаете прекрасное автозаполнение с подробностями 💫

Вывод

Как сказано на картинке, с большой силой приходит большая ответственность. Динамические типы Python дают нам очень легко начать работу с обучением Python, но в то же время увеличивает шансы на непреднамеренно создавать ошибки.

Типинг становится еще лучше в Python 3.9, и я надеюсь, что он станет лучше и лучше по мере продвижения.

Небольшие изменения могут огромное влияние на код, поэтому, пожалуйста, начните использовать типы, Mypy и чувствовать себя в безопасности.

Я держал это краткое, но, пожалуйста, дайте мне знать, если погружается глубже, обратная связь действительно ценится.

Ресурсы

Mypy

Печатать

П.С. Мой Twitter DM всегда открыты, если вы хотите обсудить возможности сотрудничества или запроса на написание по теме

Спасибо, Рохит Гилла

Оригинал: “https://dev.to/gillarohith/you-are-coding-the-wrong-way-in-python-if-you-aren-t-using-these-two-libraries-42bi”