Найти в Дзене

Шпаргалка по Python

str = 'pithon' строка int = 9 целое число bool = True или False булев тип float = 1.1 число с плавающей запятой round(x, 2) кол-ов цифр после точки во float Использование имён операторов приведённых в примере в реальной ситуации запрещены, так как эти значения зарезервированы под внутренние процессы! Так же переменные не должны совпадать с именами функций. Да и вообще, нужно стараться присваивать имена на транслите или с нижним подчёркиванием. Например knopka или bool_1 тогда шансов попасть на зарезервированное, как самого питона так и модулей, стремится к нулю. type(my_var) Определяем тип переменой: var_str = 'heihei.ru' type(var_str) Для сравнения результата такая конструкция: if type('Hello, world!') is str: print('Это строка!') int (a) - принудительное присвоение типа данных Статья a + b сложение a += 1 увеличение переменной на 1 a - b вычитание
Оглавление

Переменные и типы данных

str = 'pithon' строка
int = 9 целое число
bool = True или False булев тип
float = 1.1 число с плавающей запятой
round(x, 2) кол-ов цифр после точки во float

Использование имён операторов приведённых в примере в реальной ситуации запрещены, так как эти значения зарезервированы под внутренние процессы! Так же переменные не должны совпадать с именами функций.

Да и вообще, нужно стараться присваивать имена на транслите или с нижним подчёркиванием. Например knopka или bool_1 тогда шансов попасть на зарезервированное, как самого питона так и модулей, стремится к нулю.

type(my_var)

Определяем тип переменой:

var_str = 'heihei.ru'
type(var_str)

Для сравнения результата такая конструкция:

if type('Hello, world!') is str:
print('Это строка!')

int (a) - принудительное присвоение типа данных

Статья

Основные операторы

a + b сложение
a += 1 увеличение переменной на 1
a - b вычитание
a * b умножение
a / b деление
a//b деление без остатка возвращает целое число перед запятой
b % a остаток деления возвращает целое число, которое является разницей, между b и ближайшим числом, которое делится без остатка с числом а
a ** b возведение в степень
Операторы сравнения
a > b а больше b
a < b a меньше b
a <= b a меньше или равно b
a >= b а больше или равно b
a == b a равно b
a != b a не равно b
and и
or или
not не

Работа со строками

ссыль

Работа с числами

round (number, ndigits) - округляет число number до ndigits знаков после запятой (по умолчанию, 5 округляется в большую сторону)

Списки

Хорошо для хранения в них данных

s = [] Пустой список
s = ['s', 'p', ['isok'], 2] Список заполненный данными

s[0] - чтение

s.insert(x, y) - добавление на место. х - позиция, у - значение.

Переводим слово в список:

a = list('word')
а == [w, o, r, d]

Переводим строку в список:

text = 'a1, a2, a3'
s = text.split(',')

Переводим список в строку:

StrA = ''.join(slovo_for)

в '' указываем элемент, который будет вставляться в строку между элементами списка. ' ' - будет вставляться пробел

Кол-во элементов в списке:

kol_elem = len(spisok)

Смотрим, есть-ли элемент в списке:

if chto_ishem in spisok:

Создание пустого многомерного списка:

a = количество ячеек первого уровня
b = количество ячеек второго уровня
a1 = []
for j in range(a):
a2 = []
for i in range(b):
a2.append(0)
a1.append(a2)

Стоит учесть, что команда append не вставляет в список данные, а вставляет ссылки на данные источника, если в скобках будет указан другой список. Для полного копирования данных, после значения в скобке необходимо поставить .copy()

a1.append(a2.copy())

a1.extend(добавляемый_список)

Добавление в список списка элементов, каждый элемент добавляемого списка переходит в как отдельный элемент. Можно добавлять как отрезок списка a1.extend(spisok[2:13])

Переводим элементы списка в другой тип:

[int(x) for x in spisok]
[str(x) for x in spisok]

статья

Многомерные списки

Массивы

По массивам будет сделана отдельная шпаргалка...

Словари

Хорошо для хранения в них параметров

example_dict_2 = {'keyOne': 'valueFirst', 'keyTwo': 'valueSecond', 'keyThree': 'valueThird'}
a = example_dict_2['keyOne']

статья

Словари имеют место быть, но, на мой взгляд, в данный момент более функционально использовать формат JSON, по которому будет отдельная шпаргалка.

Кортежи

a = (1, 2, 3, 4, 5, 6)
a = ('s', )

Неизменяемый тип данных, можно только чтывать отдельные элементы, например a[2]

Циклы

for a in b

цикл присваивает переменной a значение b , если b - объект итерируемый:

  • range(start, finish, step) - перебор чисел
  • enumerate(text, start=0) - присвоение каждому элементу индекса и возврат индекса элемента пример:
seq = list('абвгде')
for i, val in enumerate(seq, start=1):
print(f'№ {i} => {val}')
---№ 1 => а
---№ 2 => б
---№ 3 => в
---№ 4 => г
---№ 5 => д
---№ 6 => е

=========

  • break – прерывает цикл и выходит из него;
  • continue – прерывает текущую итерацию и переходит к следующей.
  • else - действие по окончанию цикла без прерывания

Хорошая статья

if-elif-else

Проверка условного выражения

if True and count == 1 and count == 2:
print("if")
elif count == 'count':
print("First elif")
elif count == 14.2:
print("Second elif")
elif count == 1:
print("Nth elif")
else:
print("Else")

Через оператор IF удобно проверять наличие выражения. Как пример, имеется-ли в json структуре определённые данные:

mess[from_user][dce_id]

if mess[from_user][dce_id]:
# IF, при наличии данных, выполняет данный блок
else:
# при отсутствии данных, выполняется этот блок

With ... as

t_dict = {'keyOne': 'valueFirst', 'keyTwo': 'valueSecond', 'keyThree': 'valueThird'}
with open('test_file.json', 'w') as write_file:
json.dump(t_dict, write_file, ensure_ascii=False, sort_keys=True)
with open('test_file.json', 'r') as read_file:
t_dict_2 = json.load(read_file)

В основном данный цикл используется для работы с файлами и браузером. Пример записи и чтения в файл в формате джейсон.

При сохранении текста в котором могут встречаться значки и смайлики лучше выбирать значение ensure_ascii=False, рускоязычный текст в файле будет в кодировке ascii, но, проще потом перекодировать текст при извлечении, чем фильтровать смайлики, так как они приводят к критической ошибке кода.

Подробнее о ключах json.dump можно почитать здесь.

data_1 = "hello world"
with open("test.txt", "w") as write_file:
write_file.write(data_1)
with open("test.txt", "r") as read_file:
data_1 = read_file

Аналогично производится запись в файл в текстовом режиме. Подробнее...

while

Цикл while используется в Python для неоднократного исполнения определенной инструкции до тех пор, пока заданное условие остается истинным.

a = 1
while a < 5:
print('условие верно')
a = a + 1
else:
print('условие неверно')

counter = 0
while True:
if counter == 10:
break
counter += 1

For

Цикл for, зачастую, используется для перебора значений "от" и "до"

for number in range(3, 16, 3):

В теле цикла даёт переменную number от 3 до 16 c шагом 3

Составные конструкции:

c = [c + d for c in 'list' if c != 'i' for d in 'spam' if d != 'a']
print(c)
['ls', 'lp', 'lm', 'ss', 'sp', 'sm', 'ts', 'tp', 'tm']

Аналогично

c = [ ]
for c in 'list':
if c != 'i':
for d in 'spam':
if d != 'a':
c.append(c + d)

Функции

print()

Для отображения значения переменной вместе с определенной строкой, нужно лишь добавить запятые между ними. В этом случае положение строки и переменной не имеет значения.

print(a,"— целое число, а",b,"— строка.")

range()

range () приводит числа, которые можно повторить при помощи цикла for Числа возвращаются по одному, каждый раз, когда они нужны.

range ( a, b , c )
a - начало перебора чисел, b - конец перебора, c - шаг перебора

Собственные

funkcia(par1, par2)
par3=par1+par2
return par3
par3 = funkcia()

В функцию можно предать параметры и функция может вернуть параметр для дальнейшего использования

Обработка ошибок:

try: # Код, который проверяется на ошибки

except: # выполнение кода в случае ошибок

else: # выполнение кода в случае отсутствия ошибок

finally: # выполнение кода в любом случае

Модуль os

Модуль os предоставляет множество функций для работы с операционной системой, причём их поведение, как правило, не зависит от ОС.

os.name

Определение операционной системы, в которой запущен скрипт. Основополагающая часть при работе с командной строкой системы. Доступные варианты: 'posix' - линукс, 'nt', 'mac', 'os2', 'ce', 'java'

os.popen()

Команда для работы с командной строкой системы.

Линукс

os.popen("ps").read()

Просмотр списка процессов запущенных непосредственно в одном виртуальном терминале со скриптом. "ps -e" - подробный вариант всех процессов системы. "ps -eF" - более подробный список всех процессов.

os.popen("ps").read().split('\n')

Вывод списка процессов непосредственно в виде списка по разделению по новой строке, для возможности дальнейшей работы с процессами в качестве перебора. Более подробнее здесь.

Винда

os.popen("tasklist /FO CSV")

Список процессов.