Переменные и функции.
Где взять ответы?
Заходим на документация на русском (https://docs.python.org/). Справочная информация разбита на две части: Справочник по библиотеке, Справочник по языку. Справочник по языку (Language Reference) описывает синтаксис и семантику языка. Справочник по библиотеке (Standard Library Reference) описывает стандартную библиотеку, распространяемую с Python.
Двоичная система счисления
Юникод. utf-8
Юникод - стандарт кодирования символов. Состоит из двух частей: универсального набора символов и семейства кодировок (Unicod transforation format UTF). Универсальный набор символов перечисляет допустимые по стандарту Юникод символы и присваивает каждому символу код в виде неотрицательного целого числа (code point). Семейство кодировок определяет способы преобразования кодов символов для передачи в потоке или в файле.
Python читает текст программы как кодовые точки Юникод; кодировка исходного файла может быть задана объявлением кодировки и по умолчанию используется UTF-8. Пример объявления кодировки:
# vim:fileencoding=utf-8
Встроенные функции
Например, нас интересует функция печати print, заходим на документация, выбираем Справочник по библиотеке, затем Встроенные функции, в небольшом списке встроенных функции находим print.
print(*objects, sep=' ', end='\n', file=None, flush=False)
Первый параметр с звёздочкой означает, что может быть несколько параметров,
разделённых запятыми, это позиционные параметры. Параметры set, end file, flush -
именованные. sep - разделитель между параметрами в строке (значение по умолчанию пробел),
end - ставится в конце строки (значение по умолчанию символ конца строки "\n").
Например:
print("Привет", 13, "Мир", sep=": ", end = "!!!")
print("Мыла Раму")
Следующий пример - функция ввода текста input. Смотрим справку.
input(promt)
Аргумент promt функция выводит на стандартное устройство вывода, затем считывает ввод, преобразует в строку и возвращает. Пример:
name = input('Как ваше имя?')
print('Привет,', name, "!")
Встроенные типы данных
Заходим на документация, выбираем Справочник по библиотеке, затем Встроенные типы. Стандартные типы, встроенные в интерпретатор.
Логический тип
В этом типе только два значения: True, False. Логические операции: or, and, not.
Числовые типы - int, float, complex.
Операции над числовыми типами:
| операция | результат | |
|---|---|---|
| x + y | сумма x и y | |
| x - y | разность x и y | |
| x * y | произведение | |
| x / y | деление x на y | |
| x // y | пол деления | |
| x % y | остаток делания x на y | |
| abs(x) | абсолютное значение x | |
| int(x) | x конвертируется в int | |
| float(x) | x конвертируется в float | |
| x**y, pow(x, y) | x в степени y |
Побитовые операции над типом int.
| операция | результат |
|---|---|
| x | y | побитовое или от x и y |
| x ^ y | побитовое исключающее или от x и y |
| x & y | побитовое и от x и y |
| x << n | x сдвигается влево на n бит |
| x >> n | x сдвигается вправо на n бит |
| ~x | инвертирование битов x |
import math
x = int(input("x = "))
y = int(input("y = "))
print("gcd(", x ,", ", y, ") = ", math.gcd(x, y))
Форматированная строка
Смотрим Справка по языку-> Лексический анализ-> Форматированные строковые литералы. Форматированная строка начинается с f, может содержать поля замены, они заключены в {}.
z = 1.0 / 3.0;
print(f"1/3 = {z}")
print(f"1/3 = {z:.2f}")
str тип
Смотрим справку Справочник по библиотеке -> Встроенные типы-> Тип текстовой последовательности -str. Текст представляется объектом str. Есть несколько строковых литер:
Одинарные кавычки: 'пример' Двойные кавычки: "пример" Тройные кавычки: '''пример''', """пример"""
Тройные кавычки могут на несколько строк распространяться.
str методы
Приведём некоторые примеры методов.
str.capitalize
Возвращает копию строки с заглавной первой буквой.
str.lower
Возвращает копию строки, в которой все символы преобразованы в нижний регистр.
str.split(sep=None, maxsplit=-1)
Возвращает список слов в строке, используя sep в качестве строки разделителя.
.
s = '1,2,3'.split(',')
print(s)
str.format(*args, **kwrags). Строка может содержать литерал текст или поля замены ограниченные скобками {}. Поле замены может содержать индекс позиционного аргумента, или имя именованного аргумента. Можно задать опции форматирования. Смотри на мини язык форматирования. Рассмотрим пример.
import math
print('{0:a>10.2f}{1:,>10.3f}'.format(math.e, math.pi))
print('{n:b}'.format(n = 5))
Строки можно складывать и умножать на целое число.
a = 'Hello, '
b = 'Wordl! '
c = a + b
print(c)
c = c * 3
print(c)
Литералы строки. Приведём примеры управляющих последовательностей в строковых литералах.
| Escape sequence | Значение |
|---|---|
| \ |
Игнорируется символ новой строки |
| \' | Одинарная ковычка |
| \n | перевод строки |
| \N{name} | Символ с именем name в Юникоде. |
| \Uxxxxxxxx | Символ с 32-битным шестнадцатиричным значением xxxxxxxx |
print("🙂, \N{Slightly Smiling Face}, \U0001f642")
В X11 (Debian и другие Unix) нажмите в редакторе кода Ctrl+Shift+U, наберите 1f642, затем пробел или Enter.
Задание функции
Пример задания функции.
def main():
x = int(input("x?"))
print("x в квадрате будет", square(x))
def square(x):
return x * x
main()