C API -- Two questions

B

beginner

Hi Everyone,

I am writing a C extension and encountered two problems.

1) How can I include a description of the arguments? I can include a
description string. No problem. But whenever I say help(my_func) it
shows the arguments are "... ". However, if a function is defined in
python, I will definitely be able to see the parameters when I type
help(my_func).

2) How can I make the arguments less picky without writing a lot of
type conversion code? My function really needs a tuple as its
argument. For example, f( (1,2,3) ) would work. However, in order to
make it easy to use, I am thinking that it should be able to take a
list too. In other words, I want f( [1,2,3] ) to work also. I can
certainly check for the types in the code and deal with each
situation. But remember this is tedious to do in C. Is there any
better way to handle this?

Thanks,
cg
 
M

Marc 'BlackJack' Rintsch

2) How can I make the arguments less picky without writing a lot of
type conversion code? My function really needs a tuple as its
argument. For example, f( (1,2,3) ) would work. However, in order to
make it easy to use, I am thinking that it should be able to take a
list too. In other words, I want f( [1,2,3] ) to work also. I can
certainly check for the types in the code and deal with each
situation. But remember this is tedious to do in C. Is there any
better way to handle this?

The same way as you would do in Python: convert the argument into a tuple
if you *really* need a tuple, or just use it as sequence or via iterator.
And pay attention to errors of course.

Ciao,
Marc 'BlackJack' Rintsch
 
B

beginner

2) How can I make the arguments less picky without writing a lot of
type conversion code? My function really needs a tuple as its
argument. For example, f( (1,2,3) ) would work. However, in order to
make it easy to use, I am thinking that it should be able to take a
list too. In other words, I want f( [1,2,3] ) to work also. I can
certainly check for the types in the code and deal with each
situation. But remember this is tedious to do in C. Is there any
better way to handle this?

The same way as you would do in Python: convert the argument into a tuple
if you *really* need a tuple, or just use it as sequence or via iterator.
And pay attention to errors of course.

Ciao,
Marc 'BlackJack' Rintsch

That makes sense. Thanks.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,063
Latest member
StormyShuf

Latest Threads

Top