присоединение скайпа

Еще одна не охваченная точка - это параметры для инициализации классов. Поскольку пункт назначения super зависит от подкласса, единственным хорошим способом передачи параметров является их упаковка. Затем будьте осторожны, чтобы не иметь одинаковое имя параметра с разными значениями.

Пример:

class A(object):
    def __init__(self, **kwargs):
        print('A.__init__')
        super().__init__()

class B(A):
    def __init__(self, **kwargs):
        print('B.__init__ {}'.format(kwargs['x']))
        super().__init__(**kwargs)


class C(A):
    def __init__(self, **kwargs):
        print('C.__init__ with {}, {}'.format(kwargs['a'], kwargs['b']))
        super().__init__(**kwargs)


class D(B, C): # MRO=D, B, C, A
    def __init__(self):
        print('D.__init__')
        super().__init__(a=1, b=2, x=3)

print(D.mro())
D()

дает:

[<class '__main__.D'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.A'>, <class 'object'>]
D.__init__
B.__init__ 3
C.__init__ with 1, 2
A.__init__

Вызов суперкласса __init__ непосредственно к более прямому назначению параметров заманчиво, но не удается, если есть какой-либо вызов super в суперклассе и / или изменен MRO, а класс A может быть вызван несколько раз, в зависимости от реализации.

В заключение: совместное наследование и супер и конкретные параметры для инициализации не работают вместе очень хорошо.

0
задан CoHealer 13 March 2019 в 01:25
поделиться

1 ответ

См. Синтаксис URI скайпа здесь: https://docs.microsoft.com/en-us/skype-sdk/skypeuris/skypeuriapireference

Так что ваша ссылка должна выглядеть как [111 ]. Есть также такие параметры, как call или chat, которые могут быть добавлены, чтобы вызвать тип взаимодействия.

Здесь вы можете сделать:

case "finance":
                await context.PostAsync($"For {ig} related queries write to [Finance Skype](skype:targetUserName?chat&amp;topic=yourTopic)");
0
ответ дан Nicolas R 13 March 2019 в 01:25
поделиться