Class Variables:
In python, there is a strange concept of class variables (also known as static variables in java/C++):
#!/bin/env python class MyClass: item=42 def init(self): self.item = 24 def str(self): return str(self.item) x=MyClass() print x.item print x print MyClass.item # prints: # 24 # 24 # 42
Subclassing and overriding __init__s with keyword args:
Also, this seems to be very confusing, but not documented anywhere:
(no I don’t normally write code this ugly)
#!/bin/env python import string class SuperClass: def init(self, anArg=0, **keywordArgs): self.a1 = anArg for k,v in keywordArgs.items(): self.dict[k] = v def str(self): s=[] for k,v in self.dict.items(): s.append(str(k)+”: “+str(v)) return string.joinfields(s, “, “) class SubClass(SuperClass): def init(self, subArg, **keywordArgs): apply(SuperClass.init, (self,), keywordArgs) self.b1=subArg print SuperClass() print SuperClass(42, a2=24) print SubClass(314, z=19) # prints: # a1: 0 # a2: 24, a1: 42 # z: 19, a1: 0, b1: 314
Need help on the following:
#!/bin/env python import regsub import regex import regex_syntax regex.set_syntax(regex_syntax.RE_SYNTAX_AWK)
str = “"”blah\nblahabc\nabc\nabc\n\nblah\nblah\n”””
def gsub_findc(str): for i in range(0, 255): if (regex.search(chr(i), str) == -1): break return chr(i)
def gsub_m(pat, rep, str):
c = gsub_findc(str)
str = regsub.gsub(“\n”, c, str)
str = regsub.gsub( pat, rep, str)
str = regsub.gsub( c, “\n”, str)
return str
print “Before: %s” % str
print “After: %s” % gsub_m(“(.*)”, “\1”, str)