<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def read_from_ndef_service(self, *blocks):
 """Read block data from an NDEF compatible tag. This is a convinience method to read block data from a tag that has system code 0x12FC (NDEF). For other tags this method simply returns :const:`None`. All arguments are block numbers to read. To actually pass a list of block numbers requires unpacking. The following example calls would have the same effect of reading 32 byte data from from blocks 1 and 8.:: data = tag.read_from_ndef_service(1, 8) data = tag.read_from_ndef_service(*list(1, 8)) Command execution errors raise :exc:`~nfc.tag.TagCommandError`. """

        if self.sys == 0x12FC:
            sc_list = [ServiceCode(0, 0b001011)]
            bc_list = [BlockCode(n) for n in blocks]
            return self.read_without_encryption(sc_list, bc_list)