Appearance
Введение в Python
Ввод-вывод данных
В Python можно вводить данные разными способами. Рассмотрим ввод/вывод "руками", то есть через консоль. Это делается с помощью функций input() и print() соответственно.
python
input() # мы ввели данные, но они нигде не сохраненыpython
a = input() # теперь мы записали их в переменную и сможем вытащить из нее данные позже
print(a)Если мы хотим, чтобы вместе с вводом в консоли было какое-то сообщение пользователю, можно сделать так:
python
a = input("Введите свое имя: ")
print("Привет,", a) # тут можно просто передать несколько параметров - строку и числоФункция input() позволяет записать только 1 переменную.
У функции print(a, end='\n', sep=' ') есть некоторые параметры, которые установлены по умолчанию:
end='\n'- устанавливается символ, который выводим в конце строки. В данном случае это перевод строки.sep=' '- устанавливается символ, который выводим между разными параметрами.
python
a = input("Enter string:")
b = input("Enter another string:")
print(a, b)
print(a, b, sep='')
print(a, b, sep='', end=" ")
print(a, b)Типы данных
Типов данных в Python много. Посмотрим на базовые.
В Python динамическая типизация: не нужно явно указывать тип переменной, которую мы создаем, а в процессе выполнения программы этот тип можно изменить.
int, float
int и float - это типы, которые представляют собой числа.
int- целое число.float- число с точкой.
python
a = 5
b = 1.12
print(type(a), type(b))С этими типами можно складывать, умножать, вычитать, делить и делать другие привычные операции.
python
a = 5
b = 2
print(a + b) # сложение
print(a - b) # вычитание
print(a * b) # умножение
print(abs(-a)) # взятие модуля
print(a**b) # возведение в степень
print(b / a, type(b / a)) # обычное деление
print(b // a, type(b // a)) # целочисленное деление
print(a % b, type(a % b)) # остаток от деленияЕще можно делить нацело даже если делитель float:
python
a = 5
b = 1.12
print(a // b)
print(a % b) # это деление с остатком, результат - остаток от деленияВажно, что операция деления с остатком не определена для float.
Строки
Любой ввод по умолчанию является строкой. Если мы сами записываем в переменную строку, то делаем так:
python
a = "abba"
print(type(a))Строки можно складывать:
python
print("eda" + "ami")И даже умножать, но только на число:
python
print("a" * 3)Полезные операции со строками:
len(s)- вывести длину строки.s.count(ss)- посчитать число подстрок внутри строки.s.find(ss),s.rfind(ss)- найти первое или последнее вхождение подстроки в строке.s.isdigit()- проверить, являются ли все элементы в строке числами.s.islower(),s.isupper()- проверить регистр букв.join()- соединить список строк в одну строку.s.strip(ss)- удалить символы из строки.s.replace(s_a, s_b)- заменить подстрокуs_aнаs_b.s.split(ss)- разбить строку по подстрокеss.
python
s = 'We love programming'
s_1 = '1234'
print(len(s))
print(len(s_1))
print(s.count('o'))
print(s.find("love"))
print(s.rfind('o'))
print(s.find('-'))
print(s.isdigit(), s_1.isdigit())
print(s.islower(), s.isupper())
full_s = ' '.join([s, s_1])
print(full_s)
print(full_s.split())Кортеж
Кортеж - неизменяемый тип данных: каким его задали, таким он и остается.
python
a = (1, 2, 3)
print(a)К элементам строк, кортежей и многих других типов данных можно обращаться по индексу. Индексация идет с 0.
python
print(a[1])Также в Python поддерживается отрицательная индексация: смотрим на элементы с конца.
python
print(a[-1])Есть такие методы для кортежей:
len(a)- узнать длину.count()- посчитать, сколько раз элемент содержится в кортеже.index()- получить индекс первого вхождения элемента.
python
a = (1, 2, 1, 3, 4)
print(len(a))
print(a.count(1))
print(a.index(3))Списки
Списки - изменяемый упорядоченный набор элементов.
python
aba = [1, 2, 3, 4, 5, 3]Помимо обращений по индексу еще можно делать срезы:
python
print(aba[::2])Общая структура индексации:
Это значит: возьми элементы с
Логическая переменная (bool)
Этот тип данных бывает только двух видов: True и False.
python
a = True
print(a)
a = False
print(a)Приведение типов
Некоторые типы данных можно приводить к другим типам.
python
a = "52"
print(a, type(a))
a = int(a)
print(a, type(a))python
a = "3.1415"
print(a, type(a))
a = float(a) # а к типу int не получится
print(a, type(a))В обратную сторону это тоже работает:
python
a = 53
print(a, type(a))
a = str(a)
print(a, type(a))
a = float(a)
print(a, type(a))Логические операторы
Отдельно стоит сказать про логические операторы, которые используются почти в любом питоновском скрипте.
Мы уже знаем про операторы умножения, сложения, целочисленного деления и деления с остатком. Рассмотрим операторы сравнения:
- числа сравниваются обычным образом;
- строки сравниваются с помощью лексикографического порядка;
- списки сравниваются поэлементно, тоже с помощью лексикографического порядка.
python
a = 1
b = 2
c = 1
print(a > b) # больше
print(a >= c) # больше или равно
print(a < b) # меньше
print(a <= c) # меньше или равно
print(a == c) # равенство
print(a != b) # неравенствоМожно еще сравнивать несколько логических выражений:
python
print(a == c and 0 == 0)
print(a != c or a != b)
print(not a)