M = (m1 m2 m3 m4)^T --> M' = (m3 m4 m2 m1)^Tglobals() (например _ из стандартной gettext) до замены следующего кода на другой (например автоматический импорт модулей в библиотеке ipython-autoimport). Поэтому без выполнения кода не получится определить будет ли исключение NameError или нет.c1, c2, легко вычислить площадь эллипса π Abs(VectorProduct(c1,c2)).-i у интерпретатора python.Ctrl-Z.duck.about() в обоих случаях предполагает наличие в пространстве имён объектов с именами bill и tail, у которых соответственно имеются нужные аттрибуты description и length. Так обычно не пишут, поэтому второй случай ближе к реальному коду, но в нём необходимо тогда заменить print(bill.description,tail.lenght) на print(self.bill.description, self.tail.lenght).list[1], list[3] при условии, что значение из list[1] встречается больше 1 раза во всём списке.from collections import Counter, defaultdict
from operator import itemgetter
l = [...] # Ваш список
items = (1, 3)
names = defaultdict(Counter)
for name, subname in map(itemgetter(*items), l):
names[name][subname] += 1
common_names = {name: set(subnames) for name, subnames in names.items() if sum(subnames.values()) > 1}
result = [[name, subname] for name, subnames in common_names.items() for subname in subnames] from collections import defaultdict
import itertools
def combine_recipes(*recipes):
combined_recipe = defaultdict(float)
for ingridient, amount in itertools.chain.from_iterable(map(dict.items, recipes)):
combined_recipe[ingridient] += amount
return combined_recipefrom collections import defaultdict
def combine_recipes(*recipes):
combined_recipe = defaultdict(float)
for recipe in recipes:
for ingridient, amount in recipe.items():
combined_recipe[ingridient] += amount
return combined_recipefile необходимо не весь json-объект после post запроса передавать, а только поле response.vk_session.method('messages.setChatPhoto', {'file': photo_upload_result['response']}) import functools
from collections import defaultdict
from pprint import pprint
class A:
def method_a(self):
pass
def method_b(self):
pass
@classmethod
def classmethod_a(cls):
pass
@staticmethod
def staticmethod_a():
pass
def add_class_to_counter(counter, cls, *, methods=None):
def count(name):
def decorator(f):
@functools.wraps(f)
def wrapper(*args, **kwargs):
counter[name] += 1
# classmethod и staticmethod - дескрипторы и не имеют __call__
# Явно вызываем
if isinstance(f, classmethod) or isinstance(f, staticmethod):
return f.__get__(None, cls)
return f(*args, **kwargs)
return wrapper
return decorator
if methods:
count_methods = methods
else:
count_methods = (name for name in cls.__dict__ if not name.startswith('_') and callable(getattr(cls, name)))
for method in count_methods:
attribute = vars(cls)[method]
setattr(cls, method, count(getattr(cls, method).__qualname__)(attribute))
calls_counter = defaultdict(int)
add_class_to_counter(calls_counter, A)
a = A()
for _ in range(10):
a.method_a()
a.method_a()
a.method_b()
a.classmethod_a()
A.classmethod_a()
A.staticmethod_a()
pprint(calls_counter) api, а потом обращайтесь через точкуapi = vk.get_api()
...
name = api.users.get(user_ids = event.user_id)vk.method как в функции write_msg:name = vk.method('users.get', {'user_ids': event.user_id}) ffmpeg -y -i input.mkv -map 0:a -g 30 -c:a copy -c:v hevc_amf output.mkv-map 0:a вместе с -c:a copy позволяет скопировать все звуковые дорожки, как они были в input.mkv.