Введение в программирование на Python — Типы данных и операторы


TLDR

  • Числовые типы по своей природе являются либо целыми числами (т.е. integers, например 1, 2, 3), либо содержат десятичные знаки (например floats, например 2.3, 8.22).

  • Вы можете выполнять арифметические операции над целыми и плавающими числами, используя + - * / %. Например: 2 + 2, 9 - 6, 8 * 3, 5 / 2 и 15 % 2.

  • Булевы значения, например, True и False используются для влияния на направление потока программы. Ложные значения включают 0, '', [], {}, set().

  • Операторы сравнения (> < >= <= == !=) и логические операторы (and or not) дают булевы значения. Например, 5 > 3 — это True, а 9 < 3 — это False.

  • Строки — это неизменяемые последовательности символов, заключенные в одинарные или двойные кавычки. Примеры: "Mary Doe", 'John Doe' и т.д,

  • Общие операции со строками включают

    • конкатенация, например, "John " + "Doe" дает "John Doe",
    • индексация, например, "John Doe"[0] возвращает 'J' и "John Doe"[-1] возвращает 'e' и
    • нарезка, например, "John Doe"[0:3] возвращает "Joh".
  • Общие строковые методы включают replace(), strip(), format(), lower(), upper() и title().

  • Проверьте тип значения с помощью функции type().

  • int(), float() и str() могут быть использованы для базовых преобразований типов.

Типы данных

Основные типы данных или значений в python — это целые числа, плавающие числа, булевы и строки. Эти типы часто записываются буквально или хранятся в переменных. За кулисами выделяется память всякий раз, когда эти типы создаются в программе python.

Существует специальный тип None. Он представляет собой отсутствие значения.

Целочисленные и плавающие числа

В python числа могут быть целыми (целые числа) или содержать десятичные знаки (плавающие числа). Эти типы можно использовать для представления таких атрибутов, как возраст, рост и вес, а также таких понятий, как температура, цена и так далее. Информацию о сложении можно найти здесь.

Создание

Вы можете ввести литерал числа, например, 15, 23, 56 и т.д., или использовать функцию int или float (подробнее об этом позже).

# Age in years
age = 54

# let's say height in feet
height = 7.2
Вход в полноэкранный режим Выход из полноэкранного режима

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

Чтобы запустить код, вы можете скопировать и вставить его в оболочку python или в файл. Если вы использовали файл python, вам нужно будет использовать функцию print(), чтобы увидеть вывод. Например, print(height) выведет 7.2 в консоли python или REPL.

age и height выше называются переменными. Переменная — это символ, который представляет тип данных python. Думайте об этом как об адресе дома (тип данных). Переменная в python создается с помощью оператора присваивания (=).

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

При именовании переменных python действуют определенные правила. Например, переменные python не могут начинаться с цифр и не могут быть ни одним из зарезервированных ключевых слов. Используйте help("keywords"), чтобы посмотреть список зарезервированных ключевых слов.

Ознакомьтесь с этим замечательным постом для получения дополнительной информации.

Операции

Самые основные операции, которые мы выполняем с этими типами, — это арифметические операции, такие как сложение, вычитание, умножение и деление. Например:

# Addition (with the + operator)
2 + 6 # 8

# Subtraction
6 - 5 # 1

# Multiplication
4 * 9 # 36

# Division

9 / 2 # 4.5
9 / 3 # 3.0

# Remainder division
8 % 3 # The remainder of 8/3 is 2

# Floor division
9 // 2 # 4

Войти в полноэкранный режим Выйти из полноэкранного режима

Арифметические операторы включают +, -, *, /, %. Оператор modulo (%) используется для деления с остатком. Например, с его помощью можно проверить, является ли число четным или нечетным, кратным 5 и так далее.

Чтобы использовать integers и floats в нескольких местах, а также сообщить о своем намерении, необходимо дать им имя или присвоить их переменной. Это относится к любому другому типу данных.


# create two variables
number_of_fish = 20
amount = 5.2
Вход в полноэкранный режим Выход из полноэкранного режима
# use the variables
total_price = number_of_fish * amount # 104.0

# print(total_price)
# >>> total_price
Войти в полноэкранный режим Выход из полноэкранного режима

Булевский тип данных

Булевы числа используются для представления истинности значения. Проще говоря, True и False.

Создание

#1 By literal boolean assignment

is_sweet = True
is_bitter = False

#2 From the result of a comparison or logical operation

# comparison
three_is_bigger_than_2 = 3 > 2  # True

is_bitter and is_sweet # False

Вход в полноэкранный режим Выход из полноэкранного режима

Операции

Операторы сравнения включают операторы равенства (==), не равен (!=), меньше чем (<), больше чем (>), больше или равно (>=) и меньше чем или равно (<=). Например

3 == 3 # True, 3 is indeed equal to 3

6 != 7 # True, 6 is not equal to 7

8 > 18 # False, 8 is not greater than 18

2 < 10 # True, 2 is less than 10
Вход в полноэкранный режим Выход из полноэкранного режима
Быстрое выполнение упражнений
# what's the answer
100 >= 45
Войдите в полноэкранный режим Выход из полноэкранного режима
number_1 = 45
number_2 = 67
number_1 <= number_2 # What's the answer?
Войти в полноэкранный режим Выход из полноэкранного режима

Логические операторы включают and, or и not. Чтобы операция and была истинной, обе стороны или операнды должны быть истинными.

Таблица истинности AND

Истинно Ложь
Истинно Истинно Ложь
Ложь Ложь Ложь
  • True and True есть True
  • True and False is False
  • False and True is False
  • False and False есть False

Чтобы операция or была истинной, необходимо, чтобы одна сторона (операнд) была истинной.

Таблица истинности ИЛИ

Истинно Ложь
Истинно Истинно Истинно
Ложь Правда False
  • True or True is True
  • True or False is True
  • False or True is True
  • Ложь or Ложь есть Ложь
is_sweet and is_bitter # False
is_sweet or is_bitter # True
Вход в полноэкранный режим Выход из полноэкранного режима

Строки

Строка — это набор символов (букв, цифр и знаков), окруженных одинарными '' или двойными '' или тройными '' кавычками.

Они очень полезны для идентификации и группировки элементов. Строки являются

  • неизменяемы — после любых операций со строками всегда создается новая строка. Исходная строка остается неизменной.

  • Строки также являются упорядоченными последовательностями — это означает, что каждый элемент или символ в строке имеет свою позицию или индекс. Первый элемент имеет индекс, равный 0.

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

Создание

# using double quotes
name = "John Doe"
occupation = "Data analyst"

# using single quotes
address = 'somewhere beyond the earth'

# using triple quotes
"""
The triple quotes must be proud of themselves
They keep the newline.
"""
Вход в полноэкранный режим Выход из полноэкранного режима

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


# correct

"John's Paper" # double outside, single inside
'John"s Paper' # single outside, double inside

# wrong
# Why this? Read about escaping strings or escape sequences. Google is your friend :)
'john's paper'
"John"s Paper"

Ввести полноэкранный режим Выйти из полноэкранного режима

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

'john's paper'
"John"s Paper"
Войти в полноэкранный режим Выйти из полноэкранного режима

Существуют и другие символы, такие как n (символ новой строки) и t (символ табуляции).

Операции со строками

Подсчет
len(address) # 26
Вход в полноэкранный режим Выход из полноэкранного режима
Конкатенация (сложение строк)
#1 with the + operator
"Hello my name is" + " " + name + "." + " I am a " + occupation + "!" # 'Hello my name is John Doe. I am a Data analyst!'

#2 placing string literals side by side

"Hello my name is " "John" # 'Hello my name is John'
Войти в полноэкранный режим Выход из полноэкранного режима
#3. Using the string format method

"My name is {} and I work as a {}. I live {}!".format(name, occupation, address)

# 'My name is John Doe and I work as a Data analyst. I live somewhere beyond the earth!'
Войти в полноэкранный режим Выход из полноэкранного режима
#4 using the * operator
name * 5 # 'John DoeJohn DoeJohn DoeJohn DoeJohn Doe'
Войти в полноэкранный режим Выход из полноэкранного режима
Индексирование и нарезка
# indexing
# The letter in the 3rd position is 'h'
name[2] # 'h'
Войти в полноэкранный режим Выход из полноэкранного режима
#First position 
name[0] # 'J'

# last position
name[-1] # 'e'
Войти в полноэкранный режим Выход из полноэкранного режима
# Slicing

# take from 1st to 4th (the 4th element at index position 3 is excluded)
name[0:3] # 'Joh'

# slice from 4th to the end
name[3:] # 'n Doe'
Войти в полноэкранный режим Выход из полноэкранного режима

Методы строк

Доступ к строковым методам осуществляется с помощью шаблона the_string.method(). Например, используйте метод replace() для замены определенных символов в строке.

# replace 'Johh' with 'Mary'
new_name = name.replace("John", "Mary")

new_name # Mary Doe
Вход в полноэкранный режим Выход из полноэкранного режима
# The original name is not affected
print(name) # 'John Doe'

# or
>>> name
'John Doe'
Войти в полноэкранный режим Выход из полноэкранного режима
# upper
name.upper() # 'JOHN DOE'

# lower
new_name.lower() # 'mary doe'
Войти в полноэкранный режим Выход из полноэкранного режима
# strip: removes leading and trailing whitespace
"   This string has lots of space. So trim it.   ".strip() # 'This string has lots of space. So trim it.'
Войти в полноэкранный режим Выход из полноэкранного режима
# We can chain multiple methods: convert to upper then replace 'DOE' with an empty string
# Then remove the extra white space and slice the string starting from position 1 to the end
# Then convert the slice to a title-case string

name.upper().replace('DOE', '').strip()[1: ].title() # 'Ohn'
Войти в полноэкранный режим Выход из полноэкранного режима

Типы и преобразования типов

Типы

В python вы можете проверить тип значения с помощью функции type(). Например

type("a string") # <class 'str'>
Войти в полноэкранный режим Выход из полноэкранного режима
# we created the name variable above
type(name) # <class 'str'>
Войти в полноэкранный режим Выход из полноэкранного режима
type(age) # <class 'int'>
Ввести полноэкранный режим Выход из полноэкранного режима
# remember that height is a number that contained decimal places
type(height) # <class 'float'>
Войти в полноэкранный режим Выход из полноэкранного режима

За кулисами, целые числа, плавающие числа и строки являются классами, поэтому они представлены как <class type>.

Преобразования типов

Чтобы определить тип данных или переменной, используйте функцию type(). Например

# create some variables
my_int = 45
my_float = 45.2
my_string = "12.234"


# Check the types

type(my_int)  # <class 'int'>
type(my_float) # <class 'float'>
type(my_string) # <class 'str'>
Войти в полноэкранный режим Выйти из полноэкранного режима

Используйте функцию int() для преобразования значения в целое число. Используйте функции float() и str() для преобразования типа в float и string соответственно.

Обратите внимание, что функция int или float может не сработать, если получит значение, которое не может преобразовать (недопустимый тип).

Функция input принимает пользовательский ввод с консоли и всегда возвращает строку. Если вы просите пользователя ввести целые/плоские числа, например, возраст или сумму, вам следует преобразовать вводимое значение с помощью соответствующей функции, т.е. int() или float() соответственно.

now_a_float = float(my_string)

print("my_string: '{}'' is of type '{}'".format(my_string, type(my_string)))
print("now_a_float: '{}'' is of type '{}'".format(now_a_float, type(now_a_float)))
Вход в полноэкранный режим Выход из полноэкранного режима
my_string: '12.234'' is of type '<class 'str'>'
my_string_is_now_a_float: '12.234'' is of type '<class 'float'>'
Войти в полноэкранный режим Выход из полноэкранного режима
# convert integer to float
float(my_int) # 45.0

# convert float to integer - the decimal place is lost
int(my_float) # 45

# convert float to integer - the decimal place is lost
int(my_string_is_now_a_float) # 12
Войти в полноэкранный режим Выход из полноэкранного режима
# convert integer to string
str(my_int) # '45'

# convert float to string
str(my_float) # '45.2'

Войти в полноэкранный режим Выход из полноэкранного режима

Резюме

В этой статье вы узнали об основных типах python и их операциях. Вы также увидели, как преобразовать один базовый тип в другой. Спасибо за чтение!

Оцените статью
devanswers.ru
Добавить комментарий