@decorator
def foo():
..
foo = decorator(foo)
@FuncDec()
def foo():
print('Hello')
foo = FuncDec()(foo)
, а именно:FuncDec
(вызывается конструктор __init__
)__call__
) вместе с параметром foowrapper
, которая и будет в дальнейшем выполняться вместо объявленной foo
foo = FuncDec(foo)
from django.contrib.admin import AdminSite
from django.contrib.auth.models import Group, User
from django.contrib.auth.admin import GroupAdmin, UserAdmin
class MyAdminSite(AdminSite):
def get_app_list(self, request):
"""
Return a sorted list of all the installed apps that have been
registered in this site.
"""
app_dict = self._build_app_dict(request)
# Sort the apps alphabetically.
app_list = sorted(app_dict.values(), key=lambda x: x['name'].lower())
# Sort the models alphabetically within each app.
#for app in app_list:
# app['models'].sort(key=lambda x: x['name'])
return app_list
admin.site = MyAdminSite()
# Register your models here.
admin.site.register(TypeProfile)
admin.site.register(TypeFacade)
admin.site.register(Price)
admin.site.register(PaintColor)
admin.site.register(PatinaColor)
admin.site.register(Materials)
admin.site.register(Category)
admin.site.register(Products)
#Регистрируем стандартные
admin.site.register(Group, GroupAdmin)
admin.site.register(User, UserAdmin)
import numpy as np
a = [0, 1, 1, 2, 1, 3, 4, 4, 5, 4]
N = len(a)
a = np.array(a)
for n in range(3, N):
if N % n == 0:
b = a.reshape(-1, n)
b = np.diff(b, axis=1)
if np.all(b == b[0]):
print(n)
from operator import sub
a = [0, 1, 1, 2, 1, 3, 4, 4, 5, 4]
N = len(a)
for n in range(3, N):
if N % n != 0:
continue
matrix = list(zip(*[iter(a)]*n))
for i, row in enumerate(matrix):
matrix[i] = map(sub, row[1:], row[:-1])
transposed = zip(matrix)
row_to_set = map(set, transposed)
set_to_len = map(len, row_to_set)
if len(set(set_to_len)) == 1:
print(n)
# рассчитываем "уникальные индексы" списка
def unique_index(arr):
elems = []
for e in arr:
if e not in elems:
elems.append(e)
indexes = {v:i for i,v in enumerate(elems)}
result = [indexes[e] for e in arr]
return result
# собственно функция поиска максимального числа
def find_min_period(arr):
for i in range(3, len(arr)//2+1):
# если делится на части
if not len(arr)%i:
# "уникальный индекс" 1-го куска
unique = unique_index(arr[:i])
# делим на части и проверяем, чтобы для каждой "уникальный индекс" был одинаковый
for j in range(i, len(arr), i):
# при первом несовпадении сразу переходим к следующему делителю
if unique != unique_index(arr[j:j+i]):
break
else:
# если все куски оказались с одинаковыми "уникальными индексами" выдаем наше число элементов
return i
return None
print(find_min_period([0, 1, 1, 2, 1, 3, 4, 4, 5, 4, 5, 6, 6, 3, 6]))
# 5
print(find_min_period([0, 1, 1, 2, 1, 1, 3, 4, 4, 40, 4, 4]))
# 3
print(find_min_period([0, 1, 1, 2, 1, 1, 3, 4, 4, 4, 4, 12]))
# None
I like people, not only books. In my childhood I figured out that I should think about how
other people feel, this led to desire to be a psychologist but after playing with computers I
discovered that programming can solve so much more.
огда запись a, b, c = [[]] * 3 не подойдёт, так как хоть для каждой переменной и создастся отдельный пустой список, но из-за того, что все они будут внутри ещё одного списка алгоритм не будет правильно работать.
locals().update({k:[] for k in 'abcd'})
with open('source.txt', 'r') as source, open('result.txt', 'w') as result_file:
lines = source.readlines()
result = ', '.join(f'"{x}": "{y}"' for x, y in zip(*lines))
result_file.write(result)
import requests
headers = {'user-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0',
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
}
url = 'ссылка'
filename = 'index.html'
response = requests.get(url,headers=headers)
if response.status_code == 200:
with open(filename,'w') as file:
file.write(response.text)
else:
print(response)
Сколько искал, не смог найтиЯ просто скопировал ваш вопрос, и вставил в google: