Примечание: свойство, вероятно, лучший способ сделать это, посмотрите на другие ответы
Определите __setattr__(self, name, value)
и / или __getattr__(self, name)
: obj.abc
-> type(obj).__getattr__(obj, 'abc')
То же самое, что и в C.
int *pIntData = (int *)&incomingPacket[0];
В основном это говорит о том, что адрес начала incomingPacket (& incomingPacket [0]) является указателем на int (int *). Локальная переменная pIntData определяется как указатель на int и устанавливается на это значение.
Таким образом:
*pIntData will equal to the first int at the beginning of incomingPacket.
pIntData[0] is the same thing.
pIntData[5] will be the 6th int into the incomingPacket.
Зачем это нужно? Если вы знаете, что данные, которые передаются в потоковом режиме, представляют собой массив целых чисел, это упрощает итерацию по целым числам.
Этот оператор, если я не ошибаюсь, можно было бы также записать как:
int *pIntData = (int *) incomingPacket;