Re: Create 2D character matrix
On Thu, Aug 7, 2008 at 1:36 PM, Simon Parker [EMAIL PROTECTED] wrote: Hello. I want to be able to create a 2D character matrix, ThisMatrix, like : a A b B c C d D and to be able to pick out elements, or rows or columns. I have become used to programming in R where I can easily refer to a row as : ThisMatrix [1,] and a column as ThisMatrix[,1]. etc.. Can this be done easily in Python ? You can use numpy: http://www.scipy.org/NumPy for example: In [139]: arr = numpy.char.array(['a', 'A', 'b', 'B', 'c', 'C']) In [140]: arr = arr.reshape((3,2)) In [141]: arr Out[141]: chararray([['a', 'A'], ['b', 'B'], ['c', 'C']], dtype='|S1') In [142]: arr[0,:] Out[142]: chararray(['a', 'A'], dtype='|S1') In [143]: arr[:,0] Out[143]: chararray(['a', 'b', 'c'], dtype='|S1') More documentation here: http://mentat.za.net/numpy/refguide/ or take a look at these pages for some quick examples of what's possible: http://pages.physics.cornell.edu/~myers/teaching/ComputationalMethods/python/arrays.html http://www.scipy.org/Numpy_Example_List_With_Doc -- http://mail.python.org/mailman/listinfo/python-list
Re: Dynamically adding methods to a class...
On Tue, Jul 29, 2008 at 12:17 AM, Piyush Anonymous [EMAIL PROTECTED] wrote: class MyObject: def __init__(self, name): self.name = name def do_this_default(self): print default do_this implementation for %s % self.name def custom_do_this(): #method to be added print custom do_this implementation for %s % self.name def funcToMethod(func,clas,method_name=None): Adds func to class so it is an accessible method; use method_name to specify the name to be used for calling the method. The new method is accessible to any instance immediately. import new method = new.instancemethod(func,None,clas) print method if not method_name: method_name=func.__name__ clas.__dict__[method_name]=func myobj = MyObject('myobj1') funcToMethod(custom_do_this,MyObject) #trying 2 add method to class not instance print myobj.custom_do_this() --- Error I am getting; TypeError: custom_do_this() takes no arguments (1 given) Why am I getting it? If your method is going to be bound to an instance, then it needs the expected signature: the first parameter is always a reference to the instance (self). Change it to custom_do_this(self) and it should work. Also how can I do this in new style class (inherited from 'object')? What did you try and how did it fail? This seems to work: def foo(self): print 'foo' class Bar(object): pass Bar.foobar = new.instancemethod(foo, None, Bar) b = Bar() b.foobar() -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list
Re: 2d graphics - what module to use?
On Fri, Jul 25, 2008 at 2:13 AM, Pierre Dagenais [EMAIL PROTECTED] wrote: What is the easiest way to draw to a window? I'd like to draw something like sine waves from a mathematical equation. Newbie to python. -- http://mail.python.org/mailman/listinfo/python-list I'd recommend matplotlib: http://matplotlib.sourceforge.net/ Also see the GUI and Plotting sections on this page: http://wiki.python.org/moin/UsefulModules -- http://mail.python.org/mailman/listinfo/python-list
Re: Autocompletion and Interactive Tables in a Python IDE
On Wed, Jul 23, 2008 at 5:28 PM, Anthony [EMAIL PROTECTED] wrote: Hi, I'm a FoxPro programmer, but I want to learn python before it's too late. I do a lot of statistical programming, so I import SPSS into python. In my opinion, the best features of Visual FoxPro 9.0 were: a) Intellisense (tells you what classes/methods are available and what variables go into a function) b) Code Completion (guesses your code after four letters) c) Data-Orientation; multiple data sessions can be open, data can be viewed easily Python's IDLE has only half of the first of these features. I did a lot of searching and found the PyDev extensions for Eclipse's Python IDE, and found that they've got Intellisense. I'm still missing b and c, and am getting extremely frustrated programming so slowly.. So two questions: Is there any package, gui, IDE, anything that will do FoxPro-style code completion? If it works in Eclipse, even better.. I can't find a good screenshot, but here's a better description: You type BROW and it pops up a window that says BROWSE ..at this point if you hit enter it completes the word.. and How can I view open SPSS data in one of the Python GUIs? Again, Eclipse would be the preference. Here's an example of how I'd like to browse the data: http://www.vfpconversion.com/ArticleImage.aspx?QuickID=0209071Image=vfptoolkit_figure02.tif I don't want to have to switch back and forth between Python and SPSS while I'm programming; I just want to stay in one of them.. What can I do? I feel extremely inefficient when I don't have these three features.. I don't know of any python IDE that provides the data orientation feature, but there may be an Eclipse plugin for that sort of thing. Otherwise, if you're on windows, check out PyScripter, which is free: http://mmm-experts.com/Products.aspx?ProductId=4 and WingIDE which is quite nice and cross-platform (not free, though): http://www.wingware.com/ I use Vim, which is worth learning IMHO, but somewhat difficult to get started with especially if you're coming from FoxPro. -- http://mail.python.org/mailman/listinfo/python-list
Re: Autocompletion and Interactive Tables in a Python IDE
On Wed, Jul 23, 2008 at 5:28 PM, Anthony [EMAIL PROTECTED] wrote: Hi, I'm a FoxPro programmer, but I want to learn python before it's too late. I do a lot of statistical programming, so I import SPSS into python. In my opinion, the best features of Visual FoxPro 9.0 were: a) Intellisense (tells you what classes/methods are available and what variables go into a function) b) Code Completion (guesses your code after four letters) c) Data-Orientation; multiple data sessions can be open, data can be viewed easily Python's IDLE has only half of the first of these features. I did a lot of searching and found the PyDev extensions for Eclipse's Python IDE, and found that they've got Intellisense. I'm still missing b and c, and am getting extremely frustrated programming so slowly.. So two questions: Is there any package, gui, IDE, anything that will do FoxPro-style code completion? If it works in Eclipse, even better.. I can't find a good screenshot, but here's a better description: You type BROW and it pops up a window that says BROWSE ..at this point if you hit enter it completes the word.. and How can I view open SPSS data in one of the Python GUIs? Again, Eclipse would be the preference. Here's an example of how I'd like to browse the data: http://www.vfpconversion.com/ArticleImage.aspx?QuickID=0209071Image=vfptoolkit_figure02.tif I don't want to have to switch back and forth between Python and SPSS while I'm programming; I just want to stay in one of them.. What can I do? I feel extremely inefficient when I don't have these three features.. BTW, if you're developing for windows, you may also want to check out IronPython which plugs into the Visual Studio framework, I believe: http://www.codeplex.com/IronPython http://www.codeplex.com/IronPythonStudio -- http://mail.python.org/mailman/listinfo/python-list
Re: PyOpenGL Tutorial?
On Wed, Jul 23, 2008 at 4:07 PM, Clay Hobbs [EMAIL PROTECTED] wrote: I need a tutorial for PyOpenGL (specifically, to be used with wxPython). I searched with Google and didn't find one. Does anybody know where one is? -- Ratfink -- http://mail.python.org/mailman/listinfo/python-list Showmedo recently put up a tutorial screencast of using wx, opengl, python to build a molecular viewer: http://showmedo.com/videos/series?name=vXJsRwlBX Also, see: http://www.siafoo.net/browse?keyword_id=245 -- http://mail.python.org/mailman/listinfo/python-list
Re: The Importance of Terminology's Quality
On Tue, Jul 22, 2008 at 5:21 AM, Martin Gregorie [EMAIL PROTECTED] wrote: On Tue, 24 Jun 2008 18:42:15 -0400, John W Kennedy wrote: David Combs wrote: passing *unnamed* functions as args (could Algol 60 also do something like that, via something it maybe termed a thunk) No, the thunks were necessary at the machine-language level to /implement/ ALGOL 60, but they could not be expressed /in/ ALGOL. Are you sure about that? The first time I ran across the term thunking was when Windows 3 introduced the Win32S shim and hence the need to switch addressing between 16 bit and 32 bit modes across call interfaces. That was called thunking by Microsoft and even they would surely admit it was a kludge. I used Algol 60 on an Elliott 503 and the ICL 1900 series back when it was a current language. The term thunking did not appear in either compiler manual nor in any Algol 60 language definition I've seen. A60 could pass values by name or value and procedures by name. That was it. Call by name is what is now referred to as reference passing. On Tue, Jul 22, 2008 at 5:21 AM, Martin Gregorie [EMAIL PROTECTED] wrote: On Tue, 24 Jun 2008 18:42:15 -0400, John W Kennedy wrote: David Combs wrote: passing *unnamed* functions as args (could Algol 60 also do something like that, via something it maybe termed a thunk) No, the thunks were necessary at the machine-language level to /implement/ ALGOL 60, but they could not be expressed /in/ ALGOL. Are you sure about that? The first time I ran across the term thunking was when Windows 3 introduced the Win32S shim and hence the need to switch addressing between 16 bit and 32 bit modes across call interfaces. That was called thunking by Microsoft and even they would surely admit it was a kludge. I used Algol 60 on an Elliott 503 and the ICL 1900 series back when it was a current language. The term thunking did not appear in either compiler manual nor in any Algol 60 language definition I've seen. A60 could pass values by name or value and procedures by name. That was it. Call by name is what is now referred to as reference passing. Thunk has more than one meaning. The ALGOL 60 usage predates Windows obviously. Also, call-by-name is distinct from call-by-reference. See: http://en.wikipedia.org/wiki/Evaluation_strategy And, for fun with call-by-name: http://en.wikipedia.org/wiki/Jensen%27s_Device http://en.wikipedia.org/wiki/Man_or_boy_test -- http://mail.python.org/mailman/listinfo/python-list
Re: matplotlib: Plotting a graph against time
On Jul 19, 3:09 pm, Durand [EMAIL PROTECTED] wrote: Hi, I'm trying to plot a simple graph against date or time using matplotlib. I've read about date_plot but I'm not really sure how to use it. At the moment, I have some data arranged into lists, where list1 contains x values (time) and list2 contains y values just like is needed for the normal plot function. The time values are simply the output of datetime.date.today(), etc which I don't mind changing the format of. My question is, how do I plot the graph with list1 on the x axis and list2 on the y axis. Using plot and unixtime I get a very ugly scale as is to be expected so I want to know how to use the date_plot function efficiently. At the moment, I'm only concerned about the actual plotting but help with Locater Ticks (Months and Years) is also very appreciated. Thanks a lot! I'm not sure if this is what you're looking for, but here's a quick sample that uses plot_date to plot some random values. import pylab, random from datetime import datetime, timedelta today = datetime.now() dates = [today + timedelta(days=i) for i in range(10)] values = [random.randint(1, 20) for i in range(10)] pylab.plot_date(pylab.date2num(dates), values, linestyle='-') -- http://mail.python.org/mailman/listinfo/python-list
Re: examples of pipe usage?
On Sun, Jul 20, 2008 at 5:27 PM, Sean McIlroy [EMAIL PROTECTED] wrote: hola i'd like to control another interpreter from idle. i don't have any experience using unix but i think a pipe is what i need. am i right about this? can anybody point me to a simple example of using a pipe (if that's the right thing) for this kind of task? thanks if you can help. Take a look at the URL below which has a bunch of examples of using the subprocess module to interact with other processes. http://blog.doughellmann.com/2007/07/pymotw-subprocess.html -- http://mail.python.org/mailman/listinfo/python-list