Слайд 1Языки программирования
Лекция 2
Слайд 2Вывод результатов работы программы
print ("Строка 1")
print ("Строка 2")
Результат:
Строка 1
Строка 2
Слайд 3Вывод результатов работы программы
print ("Строка 1", "Строка 2")
Результат:
Строка 1 Строка
2
------------------------------------------
print ("Строка 1", "Строка 2", sep="")
Результат:
Строка 1Строка 2
Слайд 4Вывод результатов работы программы
print ("Строка 1", "Строка 2", end=" ")
print("Cтpoкa
3")
Результат:
Строка 1 Строка 2 Строка 3
Слайд 5Вывод результатов работы программы
for n in range(1, 5):
print(n,
end=" ")
print ()
print ("Этот текст на новой строке")
Результат:
1 2 3
4
Этот текст на новой строке
Слайд 6Вывод результатов работы программы
print("""Cтpoкa 1
Строка 2
Строка З""")
Результат:
Строка 1
Строка 2
Строка 3
Слайд 7Ввод данных
name = input("Как Вас зовут? ")
print("Привет,", name)
Слайд 8Типы данных
bооl – логический тип данных. Может содержать значения True
или False, которые ведут себя как числа 1 и 0
соответственно
>>> type (True), type(False)
(, )
>>> int(True), int(False)
(1, О)
Слайд 9Типы данных
NоnеTуре – объект со значением None (обозначает отсутствие значения):
>>>
type(None)
В логическом контексте значение None интерпретируется как False:
>>> bool(None)
False
Слайд 10Типы данных
int – целые числа. Размер числа ограничен лишь объемом
оперативной памяти
>>> type(2147483647), type(999999999999999999999999)
(, )
Слайд 11Типы данных
float – вещественные числа
>>> type(5.1), type(8.5e-3)
(, )
complex
– комплексные числа
>>> type (2+2j)
Примечание. Конвертирование из строки:
complex(‘1
+ 2j’) – ошибка ValueError
complex(‘1+2j’) – правильно (тут нет пробелов)
x = complex(1,2); print(x)
(1+2j)
y = complex(3,4)
z = x+y
print(z)
(4+6j)
print(x.conjugate()) # сопряженное число
(1-2j)
print(x.imag) # мнимая часть
2.0
print(x.real) # действительная часть
1.0
print(x>y) # комплексные числа нельзя сравнивать
TypeError: unoderable types
print(x == y) # но можно проверить на равенство
False
abs(3+4j) # модуль комплексного числа
5.0
Также для работы с комплексными числами используется модуль cmath
Слайд 12Типы данных
str – Unicode-cтpoки
>>> type ("Строка")
'''Это многострочная строка. Это
её первая строка.
Это её вторая строка.
"What's your name?", - спросил
я.
Он ответил: "Bond, James Bond."
'''
Слайд 13Типы данных
bytes – неизменяемая последовательность байтов
>>> type (bytes ("Cтpoкa", "utf-8"))
’bytes’>
Создаем байтовую строку
‘Байты’.encode(‘utf-8’)
b’\xd0\x91\xd0\xb0\xd0\xb9\xd1\x82\xd1\x8b’
Для преобразования в строку используется метод decode:
b’\xd0\x91\xd0\xb0\xd0\xb9\xd1\x82\xd1\x8b’.decode(‘utf-8’)
‘Байты’
bytearray –
изменяемая последовательность байтов:
>>> type (bytearray ("Cтpoкa", "utf-8"))
Слайд 14Типы данных
list – списки. Тип данных list аналогичен массивам в
других языках программирования:
>>> type ([1, 2, 3])
list(‘список’)
[‘с’, ‘п’, ‘и’,
‘с’, ‘о’, ‘к’]]
s = [] # пустой список
l = [‘s’, ‘p’, [‘isok’], 2]
tuple – кортежи:
>>> type ((1, 2, 3))
a = (1,2,3,4,5,6)
b = [1,2,3,4,5,6]
a.__sizeof__()
36
b.__sizeof__()
44
Слайд 15Типы данных
range – диапазоны:
>>> type (range(1, 10))
dict – словари.
Тип данных dict аналогичен ассоциативным массивам в других языках
программирования:
>>> type
({"х": 5, "у": 20})
d1 = {‘dict’: 1, ‘dictionary’: 2}
d2 = dict([(1,1), (2,4)])
Слайд 16Типы данных
set – множества (коллекции уникальных объектов):
>>> type ({"а", "Ь",
"с"})
frozenset – неизменяемые множества:
>>> type (frozenset (["a", "b", "с"]))
’frozenset’>
Слайд 17Типы данных
function – функции:
>>> def func(): pass
>>> type(func)
module –
модули:
>>> import sys
>>> type(sys)
type – классы и типы данных.
Все данные в языке Python являются объектами, даже сами типы данных!
>>> class С: pass
>>> type(C)
>>> type (type (""))
Слайд 18Типы данных
Пример изменения элемента списка:
>>> arr = [1, 2, 3]
>>>
arr [0] = 0 # Изменяем первый элемент списка
>>> arr
[0,
2, З]
>>> str1 = "авто"
>>> str2 = "транспорт"
>>> str3 = str1 + str2 # Конкатенация
>>> print(str3)
автотранспорт
Слайд 19Присваивание значения переменным
>>> х = 7 # Тип int
>>> у
= 7.8 # Тип float
>>> s1 = "Строка" # Переменной
s1 присвоено значение Строка
>>> s2 = ’Строка’ # Переменной s2 также присвоено значение Строка
>>> b = True # Переменной b присвоено логическое значение True
В одной строке можно присвоить значение сразу нескольким переменным:
>>> x = y = 10
>>> x, y
(10, 10)
Слайд 20Присваивание значения переменным
>>> x = y = [1, 2] #
Якобы создали два объекта
>>> x, y
([1, 2], [1, 2])
>>> y[1]
= 100 # Изменяем второй элемент
>>> x, y
([1, 100], [1, 100])
>>> x = [1, 2]
>>> y = [1, 2]
>>> y[1] = 100
>>> x, y
([1, 2], [1, 100])
Слайд 21Присваивание значения переменным
>>> x, y, z = 1, 2, 3
>>>
x, y, z
(1, 2, 3)
>>> x, y = 1, 2;
x, y
(1, 2)
>>> x, y = y, x; x, y
(2, 1)
>>> x, y, z = "123" # Строка
>>> x, y, z
(’1’, ’2’, ’3’)
>>> x, y, z = [1, 2, 3] # Список
>>> x, y, z
(1, 2, 3)
>>> x, y, z = (1, 2, 3) # Кортеж
>>> x, y, z
(1, 2, 3)
>>>[x, y, z] = (1, 2, 3) # Список слева, кортеж справа
>>> x, y, z
(1, 2, 3)
>> x, y, z(’1’, ’2’, ’3’)>>> x, y, z = [1, 2, 3] # Список>>> x, y, z(1, 2, 3)>>> x, y, z = (1, 2, 3) # Кортеж>>> x, y, z(1, 2, 3)>>>[x, y, z] = (1, 2, 3) # Список слева, кортеж справа>>> x, y, z(1, 2, 3)">
Слайд 22Проверка типа данных
>>> a = "Строка" # Тип str
>>> a
= 7 # Теперь переменная имеет тип int
>>> type(a)
>>>
x = 10
>>> if type(x) == int:
print("Этo тип int")
>>> s = "Строка"
>>> if isinstance(s, str):
print("Этo тип str")
Слайд 23Преобразование типов данных
bool([]) – преобразует объект в логический тип данных.
Примеры:
>>> bool(0), bool(1), bool(""), bool("Строка"), bool([1, 2]), bool([])
(False, True, False,
True, True, False)
Слайд 24Преобразование типов данных
int([ [,]]) – преобразует объект в число.
Во втором параметре можно указать систему счисления (значение по умолчанию
– 10).
>>> int(7.5), int("71")
(7, 71)
>>> int("71", 10), int("71", 8), int("A", 16)
(71, 107, 10)
Слайд 25Преобразование типов данных
float([]) – преобразует целое число или
строку в вещественное число.
>>> float(7), float("7.1")
(7.0, 7.1)
>>> float("Infinity"), float("-inf")
(inf,
-inf)
>>> float("Infinity") + float("-inf")
nan
Слайд 26Преобразование типов данных
str([]) – преобразует объект в строку.
>>> str(125),
str([1, 2, 3])
(’125’, ’[1, 2, 3]’)
>>> str((1, 2, 3)), str({"x":
5, "у": 10})
(’(1, 2, 3)’, "{’х’: 5, ’у’: 10}")
>>> str (bytes ("строка", "utf-8"))
"b’\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xba\xd0\xb0’“
>>> str (bytearray("cтpoкa", "utf-8"))
"bytearray(b’c\xd1\x82po\xd0\xbaa’)"
Слайд 27Преобразование типов данных
str ([,[,]]) – преобразует объект типа bytes
или bytearray в строку.
>>> obj1 = bytes("строка1", "utf-8")
>>> obj2
= bytearray("строка2", "utf-8")
>>> str(obj1, "utf-8"), str(obj2, "utf-8")
(’строка1’, ’строка2’)
bytes (<Строка>, <Кодировка> [,<Обработка ошибок>]) – преобразует строку в объект типа bytes.
>>> bytes ("строка", "cp1251")
b’\xf1\xf2\xf0\xee\xea\xe0’
Слайд 28Преобразование типов данных
bytes () – преобразует последовательность целых чисел от
0 до 255 в объект типа bytes. Если число не
попадает в диапазон, то возбуждается исключение ValueError.
>>> b = bytes ([225, 226, 224, 174, 170, 160])
>>> b
b’\xe1\xe2\xe0\xae\xaa\xa0’
>>> str(b, "cp866")
’строка’
Слайд 29Преобразование типов данных
list () – преобразует элементы последовательности в список.
>>>
list ("12345") # преобразование строки
[’1’, ’2’, ’3’, ’4’, ’5’]
>>> list
((1, 2, 3, 4, 5)) # преобразование кортежа
[1, 2, 3, 4, 5]
tuple (<Последовательность>) – преобразует элементы последовательности в кортеж.
>>> tuple ("123456") # Преобразование строки
(’1’, ’2’, ’3’, ’4’, ’5’, ’6’)
>>> tuple([1, 2, 3, 4, 5]) # Преобразование списка
(1, 2, 3, 4, 5)
>> list ((1, 2, 3, 4, 5)) # преобразование кортежа[1, 2, 3, 4, 5]tuple () – преобразует элементы последовательности в кортеж.>>> tuple ("123456") # Преобразование строки(’1’, ’2’, ’3’, ’4’, ’5’, ’6’)>>> tuple([1, 2, 3, 4, 5]) # Преобразование списка(1, 2, 3, 4, 5)">
Слайд 30Преобразование типов данных
x = input("x = ") # Вводим 5
y
= input("y = ") # Вводим 12
print (x + y)
512
x
= int(input("x = ")) # Вводим 5
y = int(input("y = ")) # Вводим 12
print (x + y)
17
Слайд 31Удаление переменной
Удалить переменную можно с помощью инструкции del:
del [, ...,
]
Пример удаления одной переменной:
>>> x = 10; x
10
>>> del х;
Пример
удаления нескольких переменных:
>>> x, y = 10, 20
>>> del x, y
Слайд 32Вопросы
Назовите базовые типы данных в языке Python?
Как в логическом контексте
интерпретируется значение None?
Какой результат получим после выполнения следующей команды?
type(5.9e+4)
Какая
команда применяется для удаления переменной в Python? Как выполняется удаление нескольких переменных одной инструкцией?