On Sun, 1 Oct 2017 05:46 pm, Bill wrote: > If you were going to show non-Python users, say science undergraduates > and faculty, that Python is an interesting tool (in 45 minutes), would > one delve into descriptors?
Hell no :-) I think there's a hierarchy of difficulty/complexity/mind-bogglingness in Python. From least complex to most: - Using Python in an imperative fashion, as in simple scripts. - Writing your own functions. - Writing your own classes. - Writing generators. - Using decorators, including property. - Writing your own decorators. - Writing your own descriptors. - Writing your own metaclasses (a.k.a. "the killer joke"). I wouldn't touch the last three in a beginner's class, not unless they already had a significant amount of programming experience. > I am thinking maybe. Here is what I am > thinking at this moment: trivial applications (probably), list > comprehensions (definitely), generators (maybe briefly). Whatever I > would discuss, I think ending with descriptors could be a strong finish. That depends on whether your aim is to confuse them or not :-) I don't think the descriptor protocol is something you'll be able to explain in five or ten minutes. *Using* descriptors like property, sure, that's fine. > But I'm certainly not merely interested for the sake of my talk, I > obtain some satisfaction in learning how things work. If you can > suggest any references for descriptors which you think are good, I would > be interested. The definitive explanation of descriptors is here: https://docs.python.org/3/howto/descriptor.html -- Steve “Cheer up,” they said, “things could be worse.” So I cheered up, and sure enough, things got worse. -- https://mail.python.org/mailman/listinfo/python-list