Python.Основы.Введение
https://t.me/HotCheatSheetСтроки
переменная = 'текст'
переменная = "текст"
переменная = """текст""" #многострочный ввод
Возможные инструкции:
строка.capitalize() #преобразует первый символ в верхний регистр.
строка.center(ширина[,аргумент]) #центрирует строку в поле 'шириной'. 'Аргумент' определяет символ, которым оформляются отступы слева и справа.
строка.count(вхождение[,начало[,конец]]) #подсчитывает число 'вхождений'.
строка.decode([кодировка[,ошибка]]) #декодирует строку и возвращает строку Юникода(только для байтовых строк).
строка.encode([кодировка[,ошибка]]) #возвращает кодированную версию строки(только для строк Юникода).
строка.endswith(подстрока[,начало[,конец]]) #проверяет, оканчивается ли строка подстрокой.
строка.expandtabs([число_табов]) #замещает символы табуляции пробелами.
строка.find(вхождение[,начало[,конец]]) #отыскивает первое вхождение подстроки sub или возвращает -1.
строка.format(*args, **kwargs) #форматирует строку.
строка.index(вхождение[,начало[,конец]]) #отыскивает первое 'вхождение' подстроки или возбуждает исключение.
строка.isalnum() #проверяет, являются ли все символы в строке алфавитно-цифровыми символами.
строка.isalpha() #проверяет, являются ли все символы в строке алфавитными символами.
строка.isdigit() #проверяет, являются ли все символы в строке цифровыми символами.
строка.islower() #проверяет, являются ли все символы в строке символами нижнего регистра.
строка.isspace() #проверяет, являются ли все символы в строке пробельными символами.
строка.istitle() #проверяет, являются ли первые символы всех слов символами верхнего регистра.
строка.isupper() #проверяет, являются ли все символы в строке символами верхнего регистра.
строка.join(последовательность) #объединяет все строки, находящиеся в 'последовательности', используя 'строку' как строку-разделитель.
строка.ljust(ширина[,заполнение]) #выравнивает строку по левому краю в поле 'шириной'.
строка.lower() #преобразует символы строки в нижний регистр.
строка.lstrip([символы]) #удаляет начальные пробельные символы или перечисленные символы.
строка.partition(разделяемое) #разбивает строку на три составляющие (начало, разделитель, конец) и возвращает в виде кортежа. Направление разбиения: слева направо.
строка.replace(старое,новое[,число_замещений]) #замещает подстроку 'старое' подстрокой 'новое'.
строка.rfind(вхождение[,начало[,конец]]) #отыскивает последнее 'вхождение' подстроки.
строка.rindex(вхождение[,начало[,конец]]) #отыскивает последнее 'вхождение' подстроки или возбуждает исключение.
строка.rjust(ширина[,заполнение]) #выравнивает строку по правому краю в поле 'шириной'.
строка.rpartition(разделитель) #разбивает строку по подстроке-'разделителю', но поиск выполняется с конца строки.
строка.rsplit([разделитель[,аргумент]]) #разбивает строку, начиная с конца, по подстроке-разделителю. 'Аргумент' определяет максимальное число разбиений. Если 'аргумент' не указан, идентичен методу split().
строка.rstrip([символы]) #удаляет конечные пробельные символы или перечисленные символы.
строка.split([разделитель[,аргумент]]) #разбивает строку по 'подстроке-разделителю'. 'Аргумент' определяет максимальное число разбиений.
строка.splitlines([аргумент]) #преобразует строку в список строк. Если 'аргумент' имеет значение 1, завершающие символы перевода строки остаются нетронутыми.
строка.startswith(подстрока[,начало[,конец]]) #проверяет, начинается ли строка 'подстрокой'.
строка.strip([символы]) #удаляет начальные и конечные пробельные символы или перечисленные 'символы'.
строка.swapcase() #приводит символы верхнего регистра к нижнему, и наоборот.
строка.title() #возвращает версию строки, в которой первые символы всех слов приведены к верхнему регистру.
строка.translate(таблица_замены[,символы]) #выполняет преобразование строки в соответствии с 'таблицей замены', удаляет перечисленные 'символы'.
строка.upper() #преобразует символы строки в верхний регистр.
строка.zfill(длина) #дополняет строку нулями слева до достижения ею 'длины'.
Примеры:
text = 'Hello world!'
sentence = "Программируем на Python"
print("text[2]: ", text[2]) #выведет 'l'
print("sentence[17:]: ", sentence[17:]) #выведет 'Python'
print("Updated String :- ", text[:6] + 'Python') #выведет 'Hello Python'
paragraph = """Это абзац. Он
поддерживает несколько строк и предложений."""
Списки
переменная = [] #пустой список
переменная = list() #пустой список
переменная = [значение1,значение2,значение3, ...]
Возможные инструкции:
list(объект) #преобразует объект в список.
список.append(элемент) #добавляет новый элемент в конец списка.
список.extend(список) #добавляет новый список в конец списка.
список.count(элемент) #определяет количество вхождений элементов в список.
список.index(элемент [,начало[,конец]]) #возвращает наименьшее значение индекса элемента. Начало и конец - индексы начального и конечного элементов диапазона, где выполняется поиск.
список.insert(индекс,элемент) #вставляет элемент на место под номером индекса.
список.pop([индекс]) #возвращает элемент под индексом и удаляет его из списка. Если индекс не указан, возвращается последний элемент.
список.remove(элемент) #ищет в списке элемент и удаляет его.
список.reverse() #изменяет порядок следования элементов в списке на обратный.
список.sort([key[,reverse]]) #сортирует элементы списка. key – это функция,которая вычисляет значение ключа.reverse – признак сортировки в обратном порядке.
Примеры:
list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", "c", "d"] len([1, 2, 3]) #выведет 3 [1, 2, 3] + [4, 5, 6] #выведет [1, 2, 3, 4, 5, 6] ['Hi!'] * 4 #выведет ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 3 in [1, 2, 3] #выведет True for x in [1, 2, 3]: print x #выведет '1 2 3' L = ['spam', 'Spam', 'SPAM!'] L[2] #выведет 'SPAM!' L[-2] #выведет 'Spam' L[1:] #выведет ['Spam', 'SPAM!'] x = [x for x in range(10)] #генератор списков
Кортежи
переменная = () #пустой кортеж
переменная = значение1, значение2, значение3, ...,
переменная = (значение1, значение2, значение3, ...,)
Примеры:
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );
print("tup1[0]: ", tup1[0]) #выведет physics
print("tup2[1:5]: ", tup2[1:5]) #выведет [2, 3, 4, 5]
len((1, 2, 3)) #выведет 3
(1, 2, 3) + (4, 5, 6) #выведет (1, 2, 3, 4, 5, 6)
('Hi!',) * 4 #выведет ('Hi!', 'Hi!', 'Hi!', 'Hi!')
3 in (1, 2, 3) #выведет True
for x in (1, 2, 3): print x #выведет '1 2 3'
L = ('spam', 'Spam', 'SPAM!')
L[2] #выведет 'SPAM!'
L[-2] #выведет 'Spam'
L[1:] #выведет ['Spam', 'SPAM!']
Множества
переменная = set() #пустое множество
переменная = set(значения)
Возможные инструкции:
множество.copy() #создает копию множества.
множество.difference(последовательность) #разность множеств. Возвращает все элементы измножества, отсутствующие в 'последовательности'.
множество.intersection(множество) #пересечение множеств. Возвращает все элементы, присутствующие в обоих 'множествах'.
множество.isdisjoint(множество) #возвращает True, если 'множества' не имеют общих элементов.
множество.issubset(подмножество) #возвращает True, если 'множество' является 'подмножеством'.
множество.issuperset(надмножество) #возвращает True, если 'множество' является 'надмножеством'.
множество.symmetric_difference(множество) #симметричная разность 'множеств'. Возвращает все элементы, которые присутствуют в одном из множеств, но не в обоих сразу.
множество.union(множество) #объединение 'множеств'. Возвращает все элементы, присутствующие в одном из множеств.
множество.add(элемент) #добавляет 'элемент'. Ничего не делает, если этот элемент уже имеется в множестве.
множество.clear() #удаляет все элементы из множества.
множество.difference_update(множество) #удаляет все элементы из 'множества', которые присутствуют.
множество.discard(элемент) #удаляет 'элемент' из множества. Ничего не делает, если этот элемент отсутствует в множестве.
множество.intersection_update(множество) #находит пересечение 'множеств' и присваивает результат.
множество.pop() #возвращает произвольный элемент множества и удаляет его.
множество.remove(элемент) #удаляет 'элемент'. Если элемент отсутствует в множестве, возбуждается исключение KeyError.
множество.symmetric_difference_update(множество) #находит симметричную разность 'множеств' и присваивает результат.
множество.update(множество) #добавляет все элементы из второго множества в первое.
Примеры:
a = set()
a #выведет set()
a = set('hello')
a #выведет {'h', 'o', 'l', 'e'}
a = {'a', 'b', 'c', 'd'}
a #выведет {'b', 'c', 'a', 'd'}
a = {i ** 2 for i in range(10)} # генератор множеств
a #выведет {0, 1, 4, 81, 64, 9, 16, 49, 25, 36}
Словари
переменная = {} #пустой словарь
переменная = dict() #пустой словарь
переменная = {ключ: значение, ключ: значение, ...}
Возможные инструкции:
словарь[ключ] #возвращает элемент 'словаря' с 'ключом'.
словарь[ключ]=значение #записывает в 'элемент' словаря 'значение'.
del словарь[ключ] #удаляет элемент словаря.
ключ in словарь #возвращает True, если 'ключ' присутствует в 'словаре'.
словарь.clear() #удаляет все элементы из словаря.
словарь.copy() #создает копию словаря.
словарь.fromkeys(последовательность[,значение]) #создает новый словарь с ключами, перечисленными в 'последовательности', и присваивает всем 'значения'.
словарь.get(ключ[,значение]) #возвращает элемент словаря, если таковой имеется, в противном случае возвращает 'значение'.
словарь.items() #возвращает последовательность пар(ключ, значение).
словарь.keys() #возвращает последовательность ключей.
словарь.pop(ключ[,значение]) #возвращает элемент словаря, если таковой имеется, и удаляет его из словаря, в противном случае возвращает 'значение', если этот аргумент указан, или возбуждает исключение KeyError.
словарь.popitem() #удаляет из словаря случайную пару(ключ, значение) и возвращает ее в виде кортежа.
словарь.setdefault(ключ[,значение]) #возвращает элемент словаря, если таковой имеется, в противном случае возвращает 'значение' и создает новый элемент словаря.
словарь.update(объект) #добавляет все 'объекты' в словарь.
словарь.values() #возвращает последовательность всех значений в 'словаре'.
Примеры:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print("dict['Name']: ", dict['Name']) #выведет Zara
print("dict['Age']: ", dict['Age']) #выведет 7
dict['Age'] = 8; #присвоить новое значение
dict['School'] = "DPS School"; #добавить новый элемент
print("dict['Age']: ", dict['Age']) #выведет 8
print("dict['School']: ", dict['School']) #выведет DPS School
Условные операторы
if условие1:
инструкция1
elif условие2:
инструкция2
else:
инструкция3
if переменная in вхождение:
инструкция1
else:
инструкция2
Примеры:
a = int(input())
if a < -5:
print('Low')
elif -5 <= a <= 5:
print('Mid')
else:
print('High')
Итерации и циклы
For
for переменная_цикла in последовательность_значений:
инструкция
Возможные инструкции:
range(последовательность_от, до [, шаг])
else #проверяет, был ли произведен выход из цикла инструкцией break, или же "естественным" образом
break #досрочно прерывает цикл
continue #начинает следующий проход цикла, минуя оставшееся тело цикла
While
while условие: #пока условие истинно, выполняется выражение цикла
выражение
Возможные инструкции:
else #проверяет, был ли произведен выход из цикла инструкцией break, или же "естественным" образом
break #досрочно прерывает цикл
continue #начинает следующий проход цикла, минуя оставшееся тело цикла
Примеры:
for letter in 'Python': print(letter) #Вывод P y t h o n count = 0 while (count < 5): print(count) count = count + 1 #Вывод 0 1 2 3 4
Функции, генераторы, сопрограммы
def имя_функции(аргумент1, аргумент2, ...):
тело_функции
Возможные инструкции:
pass #вернуть пустое значение
return значение #вернуть значение функции
yield значение #генерирует значение
next(функция) #вывывает следующее значение генератора
функция.__next__() #альтернативный вызов
функция.send() #начать передачу данных
функция.close() #завершает работу
Примеры:
def printme( str ):
"Эта функция выводит на stdout строку переданную в аргументе"
print str
return;
printme("Выведет данную строку")
Классы
class Имя_класса(object): #в круглых скобках указывается наследником какого класса является
def __init__(self): #инициализация класса
тело_функции1
def имя_функции(self, аргументы, ...):
тело_функции2
Примеры:
class Employee:
'Common base class for all employees'
empCount = 0
def __init__(self, name, salary):
self.name = name
self.salary = salary
Employee.empCount += 1
def displayCount(self):
print "Total Employee %d" % Employee.empCount
def displayEmployee(self):
print "Name : ", self.name, ", Salary: ", self.salary
Менеджер контекста
with выражение [as имя]:
инструкция
Возможные инструкции:
open(файл, mode='r') # открыть файл для 'r'-чтения, 'w'-запись(обрезая начало), 'a'-запись(добавление в конец), 'b'-бинарный.
Примеры:
with open("test.txt", "a") as f:
f.write("Строка\n") # Записываем строку в конец файла
Исключения
try:
инструкции1
except ТипОшибки:
инструкции2
Возможные инструкции:
raise ТипОшибки("Текст ошибки") #возбудить исключение
Примеры:
try:
fh = open("testfile", "w")
fh.write("Тестовый файл")
except IOError:
print "Ошибка: не найден файл или прочитана строка"
else:
print "Запись произошла успешно"
fh.close()
Анонимная функция
lambda аргумент1, аргумент2, ... : выражение, использующее аргументы
Примеры:
f = lambda x, y, z: x + y + z f(2, 3, 4) #выведет 9