python
KusanoNEU
Pursue a Phd.
展开
-
fetch attribute in python 3.x
class Person: def __init__(self, name, job=None, pay=0): self.name = name.lower() self.job = job self.pay = pay def lastName(self): return self.name.split()[-1]原创 2018-01-10 18:56:08 · 269 阅读 · 0 评论 -
[python] decorator implemented with class to wrap class method
# python2Python 2.7.5 (default, Dec 8 2017, 16:39:59) [GCC 4.8.5 20150623 (Red Hat 4.8.5-25)] on linux2Type "help", "copyright", "credits" or "license" for more information.&a原创 2018-05-22 16:22:09 · 249 阅读 · 0 评论 -
[python] co_lnotab
co_lnotab is the mapping from bytecode to code line number.# python3.6Python 3.6.5 (default, Apr 16 2018, 16:19:06) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linuxType "help", "copyright", "cr...原创 2018-05-15 16:02:31 · 787 阅读 · 0 评论 -
decorator to count the call
class decorator:class tracer0: def __init__(self, func): self.calls = 0 self.func = func def __call__(self, *args): self.calls += 1 print("call %s to %s" % ...原创 2018-04-27 17:02:34 · 238 阅读 · 0 评论 -
[python] __get__ of descriptor
class Property: def __init__(self, fget=None, fset=None, fdel=None, doc=None): self.fget = fget self.fset = fset self.fdel = fdel self.__doc__ = doc def __get_...原创 2018-05-17 19:53:53 · 322 阅读 · 0 评论 -
[python] understanding output of dis
in python, use range for loop is much faster than while, why?>>> timeit.timeit("for i in range(100): pass")1.6118687279995356>>> timeit.timeit("i = 0\nwhile原创 2018-05-09 19:57:50 · 246 阅读 · 0 评论 -
[python] closure
原创 2018-05-09 17:02:37 · 348 阅读 · 0 评论 -
python learning notes
PART I in new-style class, implicit attribute fetch starts at class instead of instance. X[I] is equivalent to X.__getitem__(I) in old-style class. X[I] is equivalent to type(X).__getitem__(X, I) i...原创 2018-04-19 11:19:21 · 308 阅读 · 0 评论 -
python descriptor
reference: https://docs.python.org/3/howto/descriptor.html http://www.cs.utexas.edu/~cannata/cs345/Class%20Notes/15%20python_attributes_and_methods.pdf python attribute search summary: 1. retr...原创 2018-03-29 14:32:04 · 209 阅读 · 0 评论 -
execution of Linux commands in Python.
1. os.systemout = os.system(command_to_use)This is implemented by calling the Standard C function system(), and has the same limitations. the return value is the exit status of the process enc...原创 2018-04-16 18:19:15 · 262 阅读 · 0 评论 -
refactoring in python[note 1]
note taking from online video course: https://www.safaribooksonline.com/library/view/refactoring-in-pythonwhy we should refactor our code?improve readabilityreduce time to find bugsto make l...转载 2018-04-03 12:22:49 · 288 阅读 · 0 评论 -
python re note[part1]
python raw string notation to suppress backslash: r"\n" is a two character string.if A and B are both regex, AB is regex. .: any character except a newline.^: start of string.*: 0 or more r...原创 2018-02-23 12:39:06 · 216 阅读 · 0 评论 -
class and type for classic and new-style class.
# python2Python 2.7.5 (default, Dec 8 2017, 16:39:59) [GCC 4.8.5 20150623 (Red Hat 4.8.5-25)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> class C: pass...原创 2018-02-05 14:02:40 · 297 阅读 · 0 评论 -
__getattr__ in python
Attribute fetch in classes and class instances: from https://docs.python.org/2/reference/datamodel.html: For classes class attribute references are translated to lookups in dictionary: C.x => C.__d原创 2018-02-02 14:53:45 · 244 阅读 · 0 评论 -
python: learn yield and send[part 1]
Sample code def gen(): for i in range(3): x = yield i print(x)>>> g = gen()>>> next(g)0>>> next(g)None1>>> next(g)None2>>> next(g)NoneTraceback (most recen原创 2017-12-29 14:41:10 · 231 阅读 · 0 评论 -
python state of nested function
def maker(N): def action(X): return X ** N return action# nonlocaldef maker1(N): state = 1 def action(X): nonlocal state print('%d th call.' % state) s原创 2017-12-27 22:05:56 · 383 阅读 · 0 评论 -
one-shot iteration
python学习手册514页def myzip(*args): iters = map(iter, args) while iters: res = [next(i) for i in iters] yield tuple(res)s1 = '123's2 = 'abcdef'print(list(myzip(s1, s2)))这段代码在2.6中运原创 2018-01-03 19:44:33 · 397 阅读 · 0 评论 -
[python] attribute fetch
def class_lookup(cls, name): v = cls.__dict__.get(name) if v is not None: return v, cls for i in cls.__bases__: v, c = class_lookup(i, name) if v is not None: ...转载 2018-05-29 21:56:43 · 479 阅读 · 0 评论