defreturn_author_name():return"obi Ike-Nwosu">>> return_author_name.__code__<code object return_author_name at 0x00000257E0D18C00,file"<ipython-input-1-125b1cac33be>", line 1>
>>>deffizzbuzz(n):...if n %3==0and n %5==0:...return'FizzBuzz'...elif n %3==0:...return'Fizz'...elif n %5==0:...return'Buzz'...else:...returnstr(n)...>>>for attr indir(fizzbuzz.__code__):...if attr.startswith('co_'):...print(f"{attr}:\t{getattr(fizzbuzz.__code__, attr)}")...co_argcount:1co_cellvars:()co_code:b'|\x00d\x01\x16\x00d\x02k\x02r\x1c|\x00d\x03\x16\x00d\x02k\x02r\x1cd\x04S\x00|\x00d\x01\x16\x00d\x02k\x02r,d\x05S\x00|\x00d\x03\x16\x00d\x02k\x02r<d\x06S\x00t\x00|\x00\x83\x01S\x00d\x00S\x00'co_consts:(None,3,0,5,'FizzBuzz','Fizz','Buzz')co_filename:<stdin>co_firstlineno:1co_flags:67co_freevars:()co_kwonlyargcount:0co_lnotab:b'\x00\x01\x18\x01\x04\x01\x0c\x01\x04\x01\x0c\x01\x04\x02'co_name: fizzbuzzco_names:('str',)co_nlocals:1co_stacksize:2co_varnames:('n',)
typedef struct {
PyObject_HEAD
int co_argcount; /* #arguments, except *args */
int co_kwonlyargcount; /* #keyword only arguments */
int co_nlocals; /* #local variables */
int co_stacksize; /* #entries needed for evaluation stack */
int co_flags; /* CO_..., see below */
int co_firstlineno; /* first source line number */
PyObject *co_code; /* instruction opcodes */
PyObject *co_consts; /* list (constants used) */
PyObject *co_names; /* list of strings (names used) */
PyObject *co_varnames; /* tuple of strings (local variable names) */
PyObject *co_freevars; /* tuple of strings (free variable names) */
PyObject *co_cellvars; /* tuple of strings (cell variable names) */
/* The rest aren't used in either hash or comparisons, except for co_name,
used in both. This is done to preserve the name and line number
for tracebacks and debuggers; otherwise, constant de-duplication
would collapse identical functions/lambdas defined on different lines.
*/
Py_ssize_t *co_cell2arg; /* Maps cell vars which are arguments. */
PyObject *co_filename; /* unicode (where it was loaded from) */
PyObject *co_name; /* unicode (name, for reference) */
PyObject *co_lnotab; /* string (encoding addr<->lineno mapping) See
Objects/lnotab_notes.txt for details. */
void *co_zombieframe; /* for optimization only (see frameobject.c) */
PyObject *co_weakreflist; /* to support weakrefs to code objects */
/* Scratch space for extra data relating to the code object.
Type is a void* to keep the format private in codeobject.c to force
people to go through the proper APIs. */
void *co_extra;
} PyCodeObject;