Помощь:help('print') - помощь по синтаксису команды
Основы:#,""" """" - комментарий
True, False - логические константы
and,or,not -логические операции с True и False
// - деление нацело
** - возведение в степень
== - сравнение
a,b=1,2 - присваивание
Операции с типом:type() - определение типа
isinstance(n,int) - сравнение типа переменной с заданным типом
int('1') str(1) - преобразование типа
eval('1+2') - вычисление строки
ord - переводит символ в его ASCII код
chr - переводит ASCII код в соответствующий символ
structshape() - определение структуры данных
Ввод-вывод:input("Input name:") - ввод с минимальным интерфейсом
print ('YES' if int(input())>0 else "NO") - параметрическая печать
Строки:s='Python'
s1+s2 - конкатенация
s*2 - повтор
len(s) - длина
s[0]='P' - 0-й символ
s[:4] - с 0 по 3 символы
s[2:] - со 2 по последний символы
s[:]==s - вся строка
s[::2] - каждая 2 буква
s[::-1] - строка в обратном порядке
s.upper() - перевод в верхний регистр
s.lower() - перевод в нижний регистр
'P'.islower() 'p'.isupper() - проверка символа на регистр
s.capitalize() - перевод в нижний регистр всех символов и перевод в верхний регистр первого символа.
s.find(t,p1,p2) - поиск строки t в интервале range(p1,p2)
s.split(' ') - формирование списка по разбиению строки s на слова, между которыми стоит разделитель
from string import *
whitespace, punctuation
Поиск символа в строке:def find(word,letter):
index=0
while index<len(word):
if word[index]==letter:
return index
index=index+1
return -1
Модуль:import math - загрузка модуля
print(math)
math.pi
from math import pi
print(pi)
from math import * - загрузка пространства имен из модуль
Структура условного оператора if elif else:if ():
elif ():
else:
Определение функции, рекурсия:def fac(n):
if n==0:
return 1
else:
return n*fac(n-1)
print(fac(int(input()))
Цикл while и команды break, continue:def countdown(n):
while n>0:
n=n-1
if n==0:
break
elif n==2:
continue
print (n+1)
print('Blastoff!')
Структура цикла for:fruit='pineapple'
for char in fruit:
print(char)
Работа с файлом:fin=open(input.txt) - открыть файл
line=fin.readline() - считать строку
word=line.strip() - убрать спец. символы конца строки
f.close() - закрыть фаайл
Списки list:a=[1,2,3]
b=[4,5,6]
print(a+b) - [1,2,3,4,5,6] - сложение=объединение
l=['a','b','c']
l.append('d') - присоединение элемента= l+['d']
l.extend([1,2]) - присоединение списка
l.sort(reverse=True|False) - сортировка
sum(l) - сумма элементов списка
l.pop(number) - вынуть значение под номером number
del l[::] - удалить интервал с шагом
l.remove(element) - удаление элемента
Объектыis - проверка хранения объектов
Присваивание строк, списков - по ссылке (константной или нет).
def del_list_first(l):
return l[1:]
def del_list_first_BAD(l):
l=l[1:]
Копирование списка по значению k=l[:]
Времяfrom time import *
start=time()
...
end=time()
print(end-start,' seconds')
Словариd=dict()
d['a']='aaa'
l=d.values() - значения в словаре в виде списка
l=d.keys() - индексы в словаре в виде списка
d.get('a',b) - возвращает значение по индексу 'a' или значение по умолчанию b
d.items() - список из наборов
def histogram(s):
d=dict()
for c in s:
if c not in d:
d[c]=1
else:
d[c]+=1
return d
def invert_dict(d):
inverse=dict()
for key in d:
val=d[key]
if val not in inverse:
inverse[val]=[key]
else:
inverse[val].append(key)
return inverse
Исключенияraise Error, 'input error '
Глобальные переменны в теле функцииbeen_called=False
def gl():
global been_called
been_called=True
Наборы (tuple)t='a','b' - не изменяем как и строка.
t=('A',)+t[1]
a,b=b,a
divmod(a,b) - a=bq+r, return q,r
addr='student@python.org'
name,domain=addr.split('@')
def printall(*args):
print(args)
* - преобразование в набор
zip -список из наборов после слияния
def has_match(t1,t2):
for x,y in zip(t1,t2):
if x==y:
return True
return False
d=dict(zip('abc',range(len('abc')))
from random import *
random(), random(n,m), choice(list) - генератор случайных чисел; чисел в интервале; случайный выбор элемента из списка