|
Python 9 Типы данных Python
Python 3.9 Типы данных Python a=None
print(type(a),a)
a=1
print(type(a),a)
a=1.0
print(type(a),a)
a=1+1j
print(type(a),a)
a='1'
print(type(a),a)
a=True
print(type(a),a)
a=[1,1,'1']
print(type(a),a)
a=(1,1,'1')
print(type(a),a)
a={1,1,'1'}
print(type(a),a)
a={'a':1,'b':1,'c':1}
print(type(a),a)
None
1
1.0
(1+1j)
1
True
[1, 1, '1']
(1, 1, '1')
{1, '1'}
{'a': 1, 'b': 1, 'c': 1} - Преобразование в Python выполняется с использованием функций-конструкторов:
- int() — создает целочисленное число из числового значения, либо значения с плавающей точкой (округляя его до предыдущего целого числа) или строкового значение (при условии, что данная строка является целым числом)
- float() — так же создает число, но с плавающей точкой из целочисленного значения, значения с плавающей точкой или строкового (при условии, что строка представляет собой число с плавающей точкой или целое число)
- str() — создает строку из многих типов данных, включая строки, целые числа и числа с плавающей точкой.
- list() - создаст пустой список, list(iterable) - преобразует контейнер, поддерживающим итерацию в список.
- tuple() - создаст пустой кортеж, tuple(iterable) - преобразует контейнер, поддерживающим итерацию в кортеж tuple('abc'), tuple([1, 2, 3])
- set(iterable) - преобразует контейнер, поддерживающим итерацию в множество.
- dict() - cоздает словарь из переданных аргументов.
Операторы выражений. Таблица приоритетности операторов { . . . }
| Словарь, множество, генератор словарей, генератор множеств (самый высший приоритет)
| [ . . . ]
| Список, генератор списков
| ( . . . )
| Кортеж, подвыражение, выражение-генератор
| x.attr
| Обращение к атрибуту
| x( . . . )
| Вызов функций, классов. Здесь x – имя функции, класса
| x[l:j:k]
| Срез
| x[i]
| Взятие по индексу i
| x ** y
| Возведение в степень
| x
| Битовая операция НЕТ (отрицание, инверсия)
| -x, +x
| Унарный минус, тождество
| x/y, x//y
| Обычное деление, деление с округлением вниз
| x%y
| Остаток от деления, формат
| x*y
| Умножение, повторение
| x-y
| Вычитание, разность множеств
| x+y
| Суммирование, конкатенация
| x<>y
| Сдвиг x влево или вправо на y бит
| x&y
| Битовая операция И, пересечение множеств
| x^y
| Битовая операция «исключающее ИЛИ» (XOR), симметрическая разница множеств
| x | y
| Битовая операция ИЛИ, объединение множеств
| x==y, x!=y, x<>y
| Операторы проверки на равенство. Случай x<>y работает только в Python 2.6.
| x>y, x=y, x<=y
| Операторы сравнения
| x is y, x is not y
| Проверка идентичности объектов
| x in y, x not in y
| Для итерированных объектов и множеств
| not x
| Логическое отрицание
| x and y
| Логический оператор И (значение y вычисляется только если значение x истинно)
| x or y
| Логическая операция ИЛИ (значение y вычисляется только если значение x не истинно)
| x if y else z
| Тернарный оператор выбора (значение x вычисляется только если значение y истинно)
| Синтаксис Python - Конец строки является концом инструкции (точка с запятой не требуется).
- Вложенные инструкции объединяются в блоки по величине отступов. Отступ может быть любым, главное, чтобы в пределах одного вложенного блока отступ был одинаков. И про читаемость кода не забывайте. Отступ в 1 пробел, к примеру, не лучшее решение. Используйте 4 пробела (или знак табуляции, на худой конец).
- Вложенные инструкции в Python записываются в соответствии с одним и тем же шаблоном, когда основная инструкция завершается двоеточием, вслед за которым располагается вложенный блок кода, обычно с отступом под строкой основной инструкции.
Основная инструкция:
Вложенный блок инструкций
Синтаксис Python - Несколько специальных случаев
- Иногда возможно записать несколько инструкций в одной строке, разделяя их точкой с запятой:
- a = 1; b = 2; print(a, b)
- Допустимо записывать одну инструкцию в нескольких строках. Достаточно ее заключить в пару круглых, квадратных или фигурных скобок:
- if (a == 1 and b == 2 and
- c == 3 and d == 4): # Не забываем про двоеточие
- print('spam' * 3)
- Тело составной инструкции может располагаться в той же строке, что и тело основной, если тело составной инструкции не содержит составных инструкций.
- if x > y: print(x)
Инструкция if-elif-else, проверка истинности, трехместное выражение if/else if test1: State1 elif test2: State2 elif test3: State3 elif test4: State4 else: State5 Сначала записывается часть if с условным выражением, далее могут следовать одна или более необязательных частей elif, и, наконец, необязательная часть else. Общая форма записи условной инструкции if выглядит следующим образом:
Проверка истинности в Python - Любое число, не равное 0, или непустой объект - истина.
- Числа, равные 0, пустые объекты и значение None - ложь
- Операции сравнения применяются к структурам данных рекурсивно
- Операции сравнения возвращают True или False
- Логические операторы and и or возвращают истинный или ложный объект-операнд
Трехместное выражение if/else - Для инструкций вида:
Было придумано выражение if/else: В данной инструкции интерпретатор выполнит выражение y, если x истинно, в противном случае выполнится выражение z. if x:
a = y
else:
a = z
a = y if x else z - While - один из самых универсальных циклов в Python, поэтому довольно медленный. Выполняет тело цикла до тех пор, пока условие цикла истинно.
- Цикл for чуть менее универсальный, но выполняется гораздо быстрее цикла while. Этот цикл проходится по любому итерируемому объекту (например строке или списку), и во время каждого прохода выполняет тело цикла.
i = 5
while i < 15:
print(i)
i = i + 2
for i in 'hello world':
print(i * 2, end='') - Оператор continue начинает следующий проход цикла, минуя оставшееся тело цикла (for или while)
- Оператор break досрочно прерывает цикл.
for i in 'hello world':
if i == 'o':
continue
print(i * 2, end='')
for i in 'hello world':
if i == 'o':
break
print(i * 2, end='') - Слово else, примененное в цикле for или while, проверяет, был ли произведен выход из цикла инструкцией break, или же "естественным" образом. Блок инструкций внутри else выполнится только в том случае, если выход из цикла произошел без помощи break
for i in 'hello world':
if i == 'a':
break
else:
print('Буквы a в строке нет')
Python: функция range() Функция range является одной из встроенных функций, доступных в Python. Она генерирует серию целых чисел, от значения start до stop, указанного пользователем. Можно использовать для цикла for для итерации (обхода) диапазона как списка
Функция range() принимает один обязательный и два необязательных параметра. Это работает по-разному с различными комбинациями аргументов
Python: функция range() - Существует два варианта функции range() в Python 3.
- Это форма range() требует один аргумент для указания исключительного (Stop) верхнего предела.
- «0» становится отправной точкой для генерации чисел.
Range(Stop)
Python: функция range() - Range(Start, Stop[, Step])
- 'start' -> Начальная точка для генерации чисел в range()
- 'stop' -> Это точка перед завершением range().
- 'step' -> Общая разница или счетчик приращений между двумя значениями
- Значение по умолчанию «step» равно 1. Оно вступает в действие, когда аргумент step отсутствует.
- Нулевое значение для «шага» приводит к ошибке ValueError.
- Нецелое значение вызывает TypeError.
Python: функция range(), примеры Решение задач - Задача #1 Напишите программу, которая бы определяла, какую букву английского алфавита ввел пользователь гласную или согласную.
- Задача #2 Подсчитайте сколько раз в введенной строке из букв встречается каждая буква. Выведите результат на экран.
- Задача #3 Вычислите факториал x!=(1*2*3*...*x) вводимого числа х.
- Задача #4 Вычислите все значения функции: F(x,y) = (x2+y2)/(1+x*y) для всех значений x и y в диапазонах значений от 0 до 99. Выведите значения на экран.
|
|
|