That's really high-level: bits of beautiful python

Jeffrey Schwab jeff at schwabcenter.com
Wed Feb 22 09:07:18 EST 2006


Max wrote:
> I have a friend who has been programming in C for many years, and he is 
> a great fan of the language. However, he (and I) are about to start a 
> python course, and he has been asking me a lot of questions. He often 
> responds to my answers with "Urgh! Object-orientation!" and suchlike.

After "many years" of C programming, he's still wary of object orientation?

> But today we were discussing the problem of running externally-provided 
> code (e.g. add-on modules). Neither of us knew how to do it in C, though 
> I suggested using DLLs.

It depends on how the module was provided, and on the platform and tool 
chain being used to build the code.  It's typically not too hard on a 
given platform, once you get used to it, but there's certainly no single 
correct answer.

> However, I quickly installed python on his 
> laptop and coded this:
> 
> exec "import %s as ext_mod" % raw_input("Module: ")
> ext_mod.do()

exec'ing raw_input'd code gives me the willies.

> And created to sample modules with do() functions to demonstrate. He was 
> impressed ("That's really high-level" were his words).

It is cool, isn't it?  :)

> I was just thinking perhaps we should create some kind of collection of 
> bits of "impressive" code like this.

Do you mean something like the ASPN Cookbooks?

	http://aspn.activestate.com/ASPN/Cookbook/

If you keep track of some examples of "cool" stuff, I'll format them and 
get some web space to post them.  Try to give credit for each example.

> He also liked 99 Bottles in one line:
> 
> print '\n'.join(["%d bottles of beer on the wall." % i for i in 
> range(100,0,-1)])

A little shorter:

for i in range(99, 0, -1): print("%d bottles of beer on the wall." % i)



More information about the Python-list mailing list