Python advertises some basic service:
C:\Python24>python
Python 2.4.1 (#65, Mar 30 2005, 09:13:57) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
With numarray, help gives unhelpful responses:
import numarray.numarraycore as _n
c= _n.array((1, 2))
print 'rank Value:', c.rank
print 'c.rank Help:', help(c.rank)
Results:
rank Value: 1
c.rank Help:Help on int object:
class int(object)
| int(x[, base]) -> integer
|
| Convert a string or number to an integer, if possible. A floating
point
| argument will be truncated towards zero (this does not include a
.................. etc etc.
Another example:
help(c.copy)
<bound method NumArray.copy of array([1, 2])> help(c.copy)
Traceback (most recent call last):
File "<interactive input>", line 1, in ?
File "site.py", line 328, in __call__
return pydoc.help(*args, **kwds)
File "C:\Python24\lib\pydoc.py", line 1647, in __call__
self.help(request)
File "C:\Python24\lib\pydoc.py", line 1691, in help
else: doc(request, 'Help on %s:')
File "C:\Python24\lib\pydoc.py", line 1475, in doc
pager(title % desc + '\n\n' + text.document(object, name))
File "C:\Python24\lib\pydoc.py", line 297, in document
if inspect.isroutine(object): return self.docroutine(*args)
File "C:\Python24\lib\pydoc.py", line 1226, in docroutine
if object.im_self:
File "C:\Python24\Lib\site-packages\numarray\generic.py", line 537,
in __nonzero__
raise RuntimeError("An array doesn't make sense as a truth value.
Use any(a) or all(a).")
RuntimeError: An array doesn't make sense as a truth value. Use any(a)
or all(a).
c.copy.__doc_ does return the __doc__ string OK: c.copy.__doc__
'Returns a native byte order copy of the array.'
But c.rank.__doc__ does not: c.rank.__doc__
'int(x[, base]) -> integer\n\nConvert a string or number to an integer,
if possible. A floating point\nargument will be truncated towards zero
(this does not include a string\nrepresentation of a floating point
number!) When converting a string, use\nthe optional base. It is an
error to supply a base when converting a\nnon-string. If the argument is
outside the integer range a long object\nwill be returned instead.'
Colin W. 3 3240
Colin J. Williams wrote: Python advertises some basic service:
C:\Python24>python Python 2.4.1 (#65, Mar 30 2005, 09:13:57) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> With numarray, help gives unhelpful responses:
import numarray.numarraycore as _n c= _n.array((1, 2)) print 'rank Value:', c.rank print 'c.rank Help:', help(c.rank)
Results: rank Value: 1 c.rank Help:Help on int object:
class int(object) | int(x[, base]) -> integer | | Convert a string or number to an integer, if possible. A floating point | argument will be truncated towards zero (this does not include a ................. etc etc.
c.rank is an integer, not a method. It doesn't have a docstring. It
can't have a docstring.
Another example: >>> help(c.copy) <bound method NumArray.copy of array([1, 2])> >>> help(c.copy) Traceback (most recent call last): File "<interactive input>", line 1, in ? File "site.py", line 328, in __call__ return pydoc.help(*args, **kwds) File "C:\Python24\lib\pydoc.py", line 1647, in __call__ self.help(request) File "C:\Python24\lib\pydoc.py", line 1691, in help else: doc(request, 'Help on %s:') File "C:\Python24\lib\pydoc.py", line 1475, in doc pager(title % desc + '\n\n' + text.document(object, name)) File "C:\Python24\lib\pydoc.py", line 297, in document if inspect.isroutine(object): return self.docroutine(*args) File "C:\Python24\lib\pydoc.py", line 1226, in docroutine if object.im_self: File "C:\Python24\Lib\site-packages\numarray\generic.py", line 537, in __nonzero__ raise RuntimeError("An array doesn't make sense as a truth value. Use any(a) or all(a).") RuntimeError: An array doesn't make sense as a truth value. Use any(a) or all(a). >>>
c.copy.im_self is c . pydoc is trying to use it as a truth value (I'm
not sure why, you'll have to take it up with pydoc, not numarray), but
numarray has made a decision not to implement __nonzero__.
--
Robert Kern rk***@ucsd.edu
"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter
Colin J. Williams wrote: With numarray, help gives unhelpful responses:
import numarray.numarraycore as _n c= _n.array((1, 2)) print 'rank Value:', c.rank print 'c.rank Help:', help(c.rank)
c.rank returns a Python integer object.
if you pass in an object to help(), help figures out what that object is,
and tries to tell you what you can do with that object.
the integer itself has no idea whatsoever from where it came; it's just
an integer, and that's all Python knows about it.
cf. import sys help(sys)
Help on built-in module sys:
NAME
sys
help(sys.stdout)
Help on file object:
class file(object)
| file(name[, mode[, buffering]]) -> file object
help(sys.stdout.softspace)
Help on int object:
class int(object)
help(sys.stdout.softspace.__int__)
Help on method-wrapper object:
__int__ = class method-wrapper(object)
and so on.
</F>
Fredrik Lundh wrote: Colin J. Williams wrote:
With numarray, help gives unhelpful responses:
import numarray.numarraycore as _n c= _n.array((1, 2)) print 'rank Value:', c.rank print 'c.rank Help:', help(c.rank)
c.rank returns a Python integer object.
Fredrik,
Thanks to Robert Kern and yourself.
Yes, you are right. Most of such cases are treated as properties so
that a doc string is available.
I think that the script below shows that there are cases where a doc
string is available but this information is not retrieved by help()
names= [n * int(not ( '_' in n)) for n in dir(c)]
for n in names:
if len(n):
try:
txt= eval('c.'+n+'.__doc__ ')
print n, txt
print 'help:', help('c.'+n)
except:
print n, ' fails'
You give an integer example below, which I have marked <<<<<<<
This gives the basics. help(c.rank) below gives much more and a lot of
it is irrelevant.
Colin W. help(c.rank)
Help on int object:
class int(object)
| int(x[, base]) -> integer
|
| Convert a string or number to an integer, if possible. A floating
point
| argument will be truncated towards zero (this does not include a string
| representation of a floating point number!) When converting a
string, use
| the optional base. It is an error to supply a base when converting a
| non-string. If the argument is outside the integer range a long object
| will be returned instead.
|
| Methods defined here:
|
| __abs__(...)
| x.__abs__() <==> abs(x)
|
| __add__(...)
| x.__add__(y) <==> x+y
|
| __and__(...)
| x.__and__(y) <==> x&y
|
| __cmp__(...)
| x.__cmp__(y) <==> cmp(x,y)
|
| __coerce__(...)
| x.__coerce__(y) <==> coerce(x, y)
|
| __div__(...)
| x.__div__(y) <==> x/y
|
| __divmod__(...)
| x.__divmod__(y) <==> xdivmod(x, y)y
|
| __float__(...)
| x.__float__() <==> float(x)
|
| __floordiv__(...)
| x.__floordiv__(y) <==> x//y
|
| __getattribute__(...)
| x.__getattribute__('name') <==> x.name
|
| __getnewargs__(...)
|
| __hash__(...)
| x.__hash__() <==> hash(x)
|
| __hex__(...)
| x.__hex__() <==> hex(x)
|
| __int__(...)
| x.__int__() <==> int(x)
|
| __invert__(...)
| x.__invert__() <==> ~x
|
| __long__(...)
| x.__long__() <==> long(x)
|
| __lshift__(...)
| x.__lshift__(y) <==> x<<y
|
| __mod__(...)
| x.__mod__(y) <==> x%y
|
| __mul__(...)
| x.__mul__(y) <==> x*y
|
| __neg__(...)
| x.__neg__() <==> -x
|
| __nonzero__(...)
| x.__nonzero__() <==> x != 0
|
| __oct__(...)
| x.__oct__() <==> oct(x)
|
| __or__(...)
| x.__or__(y) <==> x|y
|
| __pos__(...)
| x.__pos__() <==> +x
|
| __pow__(...)
| x.__pow__(y[, z]) <==> pow(x, y[, z])
|
| __radd__(...)
| x.__radd__(y) <==> y+x
|
| __rand__(...)
| x.__rand__(y) <==> y&x
|
| __rdiv__(...)
| x.__rdiv__(y) <==> y/x
|
| __rdivmod__(...)
| x.__rdivmod__(y) <==> ydivmod(y, x)x
|
| __repr__(...)
| x.__repr__() <==> repr(x)
|
| __rfloordiv__(...)
| x.__rfloordiv__(y) <==> y//x
|
| __rlshift__(...)
| x.__rlshift__(y) <==> y<<x
|
| __rmod__(...)
| x.__rmod__(y) <==> y%x
|
| __rmul__(...)
| x.__rmul__(y) <==> y*x
|
| __ror__(...)
| x.__ror__(y) <==> y|x
|
| __rpow__(...)
| y.__rpow__(x[, z]) <==> pow(x, y[, z])
|
| __rrshift__(...)
| x.__rrshift__(y) <==> y>>x
|
| __rshift__(...)
| x.__rshift__(y) <==> x>>y
|
| __rsub__(...)
| x.__rsub__(y) <==> y-x
|
| __rtruediv__(...)
| x.__rtruediv__(y) <==> y/x
|
| __rxor__(...)
| x.__rxor__(y) <==> y^x
|
| __str__(...)
| x.__str__() <==> str(x)
|
| __sub__(...)
| x.__sub__(y) <==> x-y
|
| __truediv__(...)
| x.__truediv__(y) <==> x/y
|
| __xor__(...)
| x.__xor__(y) <==> x^y
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| __new__ = <built-in method __new__ of type object>
| T.__new__(S, ...) -> a new object with type S, a subtype of T if you pass in an object to help(), help figures out what that object is, and tries to tell you what you can do with that object.
the integer itself has no idea whatsoever from where it came; it's just an integer, and that's all Python knows about it.
cf.
import sys help(sys) Help on built-in module sys: NAME sys
help(sys.stdout) Help on file object: class file(object) | file(name[, mode[, buffering]]) -> file object
help(sys.stdout.softspace) Help on int object: <<<<<< class int(object)
help(sys.stdout.softspace.__int__)
Help on method-wrapper object: __int__ = class method-wrapper(object)
and so on.
</F> This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Brandon McCombs |
last post by:
This may be the wrong group but I didn't see anything for VC++ so I'm
trying here.
I have a C++ book by Deitel and Deitel that says I can use fstream
File("data.dat", ios::in | ios::out |...
|
by: Palm Kevin |
last post by:
Hello,
I have a little problem when I try to use a class of a DLL.
Example : I have a DLL with the object MTSync with a function Sync()
I try in another program to use this dll like this :...
|
by: Rhy Mednick |
last post by:
I'm creating a custom control (inherited from UserControl) that is displayed
by other controls on the form. I would like for the control to disappear
when the user clicks outside my control the...
|
by: Giovanni Boschi |
last post by:
We have found a memory leak when using a COM library with a C# application.
The leak appears only if the C# application is compiled with the /optimize
flag. It goes away when the C# application is...
|
by: Bev in TX |
last post by:
We are using Visual Studio .NET 2003. When using that compiler, the
following example code goes into an endless loop in the "while" loop when the
/Og optimization option is used:
#include...
|
by: Eugene |
last post by:
Hi,
I have a template in html and want to use web matrix to create a form. I am
able to open the file and use the web controls after changing the file
extension to aspx. But after saving the...
|
by: Anthony Williams |
last post by:
Hi gang,
This one looks like a bug :o(
As you may or may not know, setting session management in web.config to use
cookieless sessions causes the ASP.NET runtime to munge a session ID into...
|
by: =?Utf-8?B?QXho?= |
last post by:
Is there a limitation on the number of (sequential) opened connection for SQL
Server User Instances? The following method will run to about the 240th
iteration then will receive a timeout...
|
by: =?Utf-8?B?Um9nZXIgTWFydGlu?= |
last post by:
This is a follow-up to my post "Silverlight video doesn't work when file is
streamed from handler in ASP.net" at...
|
by: lllomh |
last post by:
Define the method first
this.state = {
buttonBackgroundColor: 'green',
isBlinking: false, // A new status is added to identify whether the button is blinking or not
}
autoStart=()=>{
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 4 Oct 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM)
The start time is equivalent to 19:00 (7PM) in Central...
|
by: tracyyun |
last post by:
Hello everyone,
I have a question and would like some advice on network connectivity. I have one computer connected to my router via WiFi, but I have two other computers that I want to be able to...
|
by: giovanniandrean |
last post by:
The energy model is structured as follows and uses excel sheets to give input data:
1-Utility.py contains all the functions needed to calculate the variables and other minor things (mentions...
|
by: NeoPa |
last post by:
Hello everyone.
I find myself stuck trying to find the VBA way to get Access to create a PDF of the currently-selected (and open) object (Form or Report).
I know it can be done by selecting :...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 1 Nov 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM)
Please note that the UK and Europe revert to winter time on...
|
by: isladogs |
last post by:
The next online meeting of the Access Europe User Group will be on Wednesday 6 Dec 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM).
In this month's session, Mike...
|
by: GKJR |
last post by:
Does anyone have a recommendation to build a standalone application to replace an Access database? I have my bookkeeping software I developed in Access that I would like to make available to other...
|
by: SueHopson |
last post by:
Hi All,
I'm trying to create a single code (run off a button that calls the Private Sub) for our parts list report that will allow the user to filter by either/both PartVendor and PartType. On...
| |