Speed, portability and permanence also make aerosol paint a common graffiti medium. In the late 1970s, street graffiti writers' signatures and murals became more elaborate and a unique style developed as a factor of the aerosol medium and the speed required for illicit work. Many now recognize graffiti and street art as a unique art form and specifically manufactured aerosol paints are made for the graffiti artist. A stencil protects a surface, except the specific shape to be painted. Stencils can be purchased as movable letters, ordered as professionally cut logos or hand-cut by artists.
Historically, the painter was responsible for the mixing of the paint; keeping a ready supply of pigments, oils, thinners and driers. The painter would use his experience to determine a suitable mixture depending on the nature of the job. In modern times, the painter is primarily responsible for preparation of the surface to be painted, such as patching holes in drywall, using masking tape and other protection on surfaces not to be painted, applying the paint and then cleaning up.
Did you get it? We just applied the previously learned principles. This is exactly what the decorators do in Python! They wrap a function and modify its behaviour in one way or the another. Now you might be wondering that we did not use the @ anywhere in our code? That is just a short way of making up a decorated function. Here is how we could have run the previous code sample using @.
In Python 2.4a3 (to be released this Thursday), everything remains as currently in CVS. For 2.4b1, I will consider a change of @ to some other single character, even though I think that @ has the advantage of being the same character used by a similar feature in Java. It's been argued that it's not quite the same, since @ in Java is used for attributes that don't change semantics. But Python's dynamic nature makes that its syntactic elements never mean quite the same thing as similar constructs in other languages, and there is definitely significant overlap. Regarding the impact on 3rd party tools: IPython's author doesn't think there's going to be much impact; Leo's author has said that Leo will survive (although it will cause him and his users some transitional pain). I actually expect that picking a character that's already used elsewhere in Python's syntax might be harder for external tools to adapt to, since parsing will have to be more subtle in that case. But I'm frankly undecided, so there's some wiggle room here. I don't want to consider further syntactic alternatives at this point: the buck has to stop at some point, everyone has had their say, and the show must go on.
By downloading this trial product, you agree to receive marketing communications from us and/or our suppliers. You may opt-out of receiving such future emails by clicking the unsubscribe link in any email you receive, or by signing into your Corel account through our website using your email address and password, and clicking on Manage Your Communication Preferences.