Squashed commits to prepare for merge

moved underscore for range variable, added comment

renamed parameter in beg decorator

added comment about double underscores

Update python.html.markdown
This commit is contained in:
Mikael E. Wikner 2014-07-30 11:28:21 +02:00
parent d1541f8534
commit 472142d11f

View File

@ -439,7 +439,10 @@ class Human(object):
# A class attribute. It is shared by all instances of this class # A class attribute. It is shared by all instances of this class
species = "H. sapiens" species = "H. sapiens"
# Basic initializer # Basic initializer, this is called when this class is instantiated.
# Note that the double leading and trailing underscores denote objects
# or attributes that are used by python but that live in user-controlled
# namespaces. You should not invent such names on your own.
def __init__(self, name): def __init__(self, name):
# Assign the argument to the instance's name attribute # Assign the argument to the instance's name attribute
self.name = name self.name = name
@ -526,10 +529,12 @@ def double_numbers(iterable):
# Note xrange is a generator that does the same thing range does. # Note xrange is a generator that does the same thing range does.
# Creating a list 1-900000000 would take lot of time and space to be made. # Creating a list 1-900000000 would take lot of time and space to be made.
# xrange creates an xrange generator object instead of creating the entire list like range does. # xrange creates an xrange generator object instead of creating the entire list like range does.
_xrange = xrange(1, 900000000) # We use a trailing underscore in variable names when we want to use a name that
# would normally collide with a python keyword
xrange_ = xrange(1, 900000000)
# will double all numbers until a result >=30 found # will double all numbers until a result >=30 found
for i in double_numbers(_xrange): for i in double_numbers(xrange_):
print(i) print(i)
if i >= 30: if i >= 30:
break break
@ -542,10 +547,10 @@ for i in double_numbers(_xrange):
from functools import wraps from functools import wraps
def beg(_say): def beg(target_function):
@wraps(_say) @wraps(target_function)
def wrapper(*args, **kwargs): def wrapper(*args, **kwargs):
msg, say_please = _say(*args, **kwargs) msg, say_please = target_function(*args, **kwargs)
if say_please: if say_please:
return "{} {}".format(msg, "Please! I am poor :(") return "{} {}".format(msg, "Please! I am poor :(")
return msg return msg