diff options
Diffstat (limited to 'python.html.markdown')
| -rw-r--r-- | python.html.markdown | 22 | 
1 files changed, 12 insertions, 10 deletions
| diff --git a/python.html.markdown b/python.html.markdown index 56cb9aac..27b2b22a 100644 --- a/python.html.markdown +++ b/python.html.markdown @@ -132,7 +132,7 @@ b == a            # => True, a's and b's objects are equal  "Hello " "world!"    # => "Hello world!"  # A string can be treated like a list of characters -"This is a string"[0]  # => 'T' +"Hello world!"[0]  # => 'H'  # You can find the length of a string  len("This is a string")  # => 16 @@ -186,7 +186,7 @@ some_unknown_var  # Raises a NameError  # if can be used as an expression  # Equivalent of C's '?:' ternary operator -"yahoo!" if 3 > 2 else 2  # => "yahoo!" +"yay!" if 0 > 1 else "nay!"  # => "nay!"  # Lists store sequences  li = [] @@ -772,11 +772,11 @@ if __name__ == '__main__':      # Call the static method      print(Human.grunt())            # => "*grunt*" -     -    # Cannot call static method with instance of object  + +    # Cannot call static method with instance of object      # because i.grunt() will automatically put "self" (the object i) as an argument      print(i.grunt())                # => TypeError: grunt() takes 0 positional arguments but 1 was given -                                     +      # Update the property for this instance      i.age = 42      # Get the property @@ -792,7 +792,7 @@ if __name__ == '__main__':  ####################################################  # Inheritance allows new child classes to be defined that inherit methods and -# variables from their parent class.  +# variables from their parent class.  # Using the Human class defined above as the base or parent class, we can  # define a child class, Superhero, which inherits the class variables like @@ -926,7 +926,7 @@ class Batman(Superhero, Bat):          # So instead we explicitly call __init__ for all ancestors.          # The use of *args and **kwargs allows for a clean way to pass arguments,          # with each parent "peeling a layer of the onion". -        Superhero.__init__(self, 'anonymous', movie=True,  +        Superhero.__init__(self, 'anonymous', movie=True,                             superpowers=['Wealthy'], *args, **kwargs)          Bat.__init__(self, *args, can_fly=False, **kwargs)          # override the value for the name attribute @@ -941,9 +941,9 @@ if __name__ == '__main__':      # Get the Method Resolution search Order used by both getattr() and super().      # This attribute is dynamic and can be updated -    print(Batman.__mro__)       # => (<class '__main__.Batman'>,  -                                # => <class 'superhero.Superhero'>,  -                                # => <class 'human.Human'>,  +    print(Batman.__mro__)       # => (<class '__main__.Batman'>, +                                # => <class 'superhero.Superhero'>, +                                # => <class 'human.Human'>,                                  # => <class 'bat.Bat'>, <class 'object'>)      # Calls parent method but uses its own class attribute @@ -1040,3 +1040,5 @@ print(say(say_please=True))  # Can you buy me a beer? Please! I am poor :(  * [Python 3 Computer Science Circles](http://cscircles.cemc.uwaterloo.ca/)  * [Dive Into Python 3](http://www.diveintopython3.net/index.html)  * [A Crash Course in Python for Scientists](http://nbviewer.jupyter.org/gist/anonymous/5924718) +* [Python Tutorial for Intermediates](https://pythonbasics.org/) +* [Build a Desktop App with Python](https://pythonpyqt.com/) | 
