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

Python: типы данных

Идет из JavaScript, это освежает изучать Python, так как он имеет большую стандартную библиотеку и легко … Tagged с помощью Python, DataTypes, фрагментов.

Исходя из JavaScript, это освежает изучать Python, так как он имеет большую стандартную библиотеку и легко забрать (особенно, если у вас есть предварительные знания по программированию). Начиная с типов данных, я хочу выделить некоторые удивительные функции, которые есть у Python, и интересные различия, которые я видел. Так что не ожидайте, что это будет полное руководство или сравнение обоих.

Если вы хотите попробовать инструкции ниже, вы можете запустить Python Repl. Если у вас установлен Python Run Python в вашем терминале. Любой код питона, который начинается с >>> Символы указали, что он был введен в реплику.

Вспомогательные функции

Сам Python имеет полезные функции, которые помогут вам определить и открыть для себя типы. Они type () , dir () и help () Анкет

>>> name = "Lennart"
>>> type(name)

>>> dir(str)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
>>> help(str.title)
Help on method_descriptor:

title(self, /)
    Return a version of the string where each word is titlecased.

    More specifically, words start with uppercased characters and all remaining
    cased characters have lower case.

Числа

Python имеет более явные типы для работы с числами. В JavaScript они объединены в Номер Анкет

>>> x = 4
>>> y = 5.0
>>> z = 42j
>>> type(x)

>>> type(y)

>>> type(z)

Кортеж

ПУЛЕЙ – это неизменные коллекции, которые вы можете использовать для отслеживания связанных, но разных элементов. Таким образом, они великолепны как неизменные ключи в установить и диктат . Распаковка это способ быстро получить информацию от кортежа:

>>> favourite_food = ("Italian", "Pizza")
>>> cuisine, name = favourite_food
>>> cuisine
'Italian'
>>> name
'Pizza'

Набор

Набор изменен и хранит неподвижные типы несортированными способами. Вы не можете сохранить другие изменчивые типы (например, List , set или дикта ) в этом. Набор может содержать только уникальные элементы.

Это здорово, чтобы быстро дедуплизировать список:

>>> names = ["Luke", "Leia", "Malak", "Luke"]
>>> set(names)
{'Leia', 'Luke', 'Malak'}

Вы можете выполнить пару мутаций на наборе ( .Add или .discard и т.д.) Но я определенно нашел .Update Интересно, так как вы можете добавить несколько значений одновременно:

>>> chars = {"James", "Naomi", "Amos"}
>>> addition = {"Alex", "Julie"}
>>> chars.update(addition)
>>> chars
{'Julie', 'James', 'Naomi', 'Alex', 'Amos'}

Еще одна крутая вещь – это установить Операции – Союз и пересечение:

>>> chars = {"James", "Naomi", "Amos"}
>>> favourite_chars = {"James"}
>>> chars | addition
{'Julie', 'James', 'Naomi', 'Alex', 'Amos'}
>>> chars & favourite_chars
{'James'}

Словарь

Словарь изменен и хранит ключ: пары значений (клавиши могут быть только неизбежными типами). Таким образом, это очень быстро найти. Помимо стандартных вещей, есть три полезных метода: keys () , значения () , элементы () :

>>> chars = { "expanse": "Holden", "star_wars": "Luke" }
>>> chars.keys()
dict_keys(['expanse', 'star_wars'])
>>> chars.values()
dict_values(['Holden', 'Luke'])
>>> chars.items()
dict_items([('expanse', 'Holden'), ('star_wars', 'Luke')])

Хотя одни только эти функции не делают много, они могут очень удобны для петли:

>>> for franchise, char in chars.items():
...     print(f"The char {char} exists in the franchise {franchise}")
...
The char Holden exists in the franchise expanse
The char Luke exists in the franchise star_wars

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

Оригинал: “https://dev.to/lekoarts/python-data-types-1klp”