If you don't like the programming style of Python, maybe you should take a look at another language. I personally recommend Ruby (dynamic typing) or Java (static typing).
Also, it's important to take a break every now and then ;) Don't forget to have fun! Op 12 maart 2012 20:27 schreef Brian Brown <[email protected]> het volgende: > Thanks for the replies everyone. > I guess Python just doesn't have a > "declare-variable-as-global-for-whole-module" feature. > > (I don't generally have problems with variable overlap because I'm very > careful with naming my global variables.) > > (I just remembered though-- for some reason, > list-type variables' individual values/items can be easily accessed > throughout the whole module even if: it was just "global"ed once inside > the function it was created.) > > But I just wish I could create variables (of ANY TYPE) which are > universally acknowledged by the WHOLE module. > > Many of my variables' names are re-stating the exact value they hold, so I > rarely have any confliction with names: > > filename_of_current_level = 'desert.txt'' > Font__New_Times_Roman_size_20 = ... > pi_divided_by_180 = math.pi() / 180 > > etc. > The names are just according to what values they hold which-- are all > unique anyways! > And when the number of variables start reaching the hundreds, it just gets > really crazy with "global this global that" ALL OVER my code, again and > again . . . > : ( > I have to keep remembering to global every other variable in any function > that uses my main game variables. > > If I use dictionaries, I must type: "d['whatever']" for ALL my game > variables!!! > Same with using classes-- "c.whatever" > > It's like "pygame.draw.line()" instead of just: "DRAW_LINE()" > > or like: "random.random()" instead of just: > "RANDOM_NUMBER_BETWEEN_0_AND_1()" > > "Pygame dot draw dot line" (It sounds so lame too) > > > Arrg!! It's like driving me crazy! > . . . > sigh > . . . > > Sorry guys, I'm just feeling very frustrated with all these crazy > programming conventions. > I think I need to take a break from programming to help me cool off . . . > > By far Python and Pygame are the easiest game development tools I know > so-- I have no other choice-- Redundant "global"s wreaking havoc on every > corner of my program will have to do . . . > > Anyways, > Sorry about my previous posts, sometimes when I get too involved in > programming I get a little short tempered-- somehow. . > (By the way, thanks for not insulting me even though I deserved it.) > > I also re-read the messages and found that I had a few inaccuracies and > typos as well. > > I need to remember that people are far more important than just some silly > game . . . > > Thanks again everyone for all your replies. : ) > I really appreciate it. ; ) > > (I'll go get some sun and fresh air hopefully that will help me "cool-off") > > Matthew N. Brown > > (PS in case you haven't already, you can check out my really cool physics > program in the Python Draw docs! I'm not a "troll" I was just having way > too much fun. lol) > > On Sun, Mar 11, 2012 at 11:44 AM, Lenard Lindstrom <[email protected]>wrote: > >> Hi, >> >> To answer Nick's, question: yes. Anything in a module's global namespace >> is directly visible from a function declared within the module, unless >> hidden by a function argument or local variable having the same name. Even >> then, you can use the globals function to access the global names. >> >> And yes Lee, you have it right. The Python compiler would notice the >> assignment to font with function something and therefore create a function >> local variable that hides the global font variable. Of course, the global >> font can still be accessed directly through the module's global dictionary: >> >> from game import font >> >> >> def something(): >> font = 1 >> globals()['font'].render("or other") # call imported global font >> function >> print font # print local font value: "1" >> >> >> On 10/03/12 09:45 PM, Lee Buckingham wrote: >> >>> I believe so. Just don't say something like: >>> >>> def something(): >>> font = 1 >>> >>> ...not that you would, but if for whatever reason it happened, you >>> would have created a fuction variable called 'font' and the global >>> namespace would be ignored because of it. >>> >>> (Do I have this right, guys?) >>> >>> >>> -Lee- >>> >>> >>> >>> On Sat, Mar 10, 2012 at 9:34 PM, Nick >>> Arnoeyts<nickarnoeyts@gmail.**com<[email protected]>> >>> wrote: >>> >>>> I have a little additional question about the explanation Lee gave. >>>> >>>> Is it possible to use class instances from the global namespace in a >>>> function? For example: >>>> >>>> from game import screen, font >>>> >>>> def get_text(string): >>>> font.render(string) # parts cut out because I'm in a hurry >>>> >>>> I figure this is probably possible, but it can't hurt to ask for future >>>> reference. >>>> >>>> >>>> >>>> >>>> >>>> >> >
