In this tutorial, I continue to explain how Object Oriented Programming is used with Python 2.7. I cover some of the more complicated subjects including how to:
Allow the user to define an infinite number of attributes
Use Inheritance and what it is
Override Methods
Use Polymorphism and what it is
Inherit from 2 more more classes
Use many of the built in object methods in Python
If you don’t completely understand Object Oriented Programming after this and the first part of this tutorial Python Object Oriented Programming. Please leave a comment below and I’ll do whatever I can to explain this important subject.
Like always, a lot of code follows the video. If you have any questions or comments leave them below. And, if you missed my other Python Tutorials they are available here:
Note: You have to insert the white space and everything will work. I could have styled it with HTML, but that would have required you to erase all of the tags. Hope this helps?
#! /usr/bin/python
__metaclass__ = type
class Animal:
__name = “No Name”
__owner = “No Owner”
def __init__(self, **kvargs): # The constructor function called when object is created
self._attributes = kvargs
# There is a function called a destructor __del__, but its best to avoid it
def __hiddenMethod(self): # A hidden method
print “Hard to Find”
return
class Dog(Animal):
def __init__(self, **kvargs): # Not needed unless you plan to override the super
super(Dog, self).__init__() # This wouldn’t work without the second line
self._attributes = kvargs
def noise(self): # Overriding the Animal noise function
print(‘Woof, woof’)
Animal.noise(self)
return
class Cat(Animal):
def __init__(self, **kvargs): # Not needed unless you plan to override the super
super(Cat, self).__init__()
self._attributes = kvargs
def noise(self):
print(‘Meow’)
return
def noise2(self):
print(‘Purrrrr’)
return
class Dat(Cat,Dog):
def __init__(self, **kvargs): # Not needed unless you plan to override the super
super(Dat, self).__init__()
self._attributes = kvargs
def move(self):
print(‘Chases Tail’)
return
def playWithAnimal(Animal): # This is polymorphism
Animal.noise()
Animal.eat() # Works even if the method isn’t in Cat because Cat is an Animal
Animal.move()
print(Animal.get_attributes(‘__name’))
print(Animal.get_attributes(‘__owner’))
print ‘\n’
Animal.set_attributes(‘clean’,”Yes”)
print(Animal.get_attributes(‘clean’))
print issubclass(Cat, Animal) # Checks if Cat is a subclass of Animal
print Cat.__bases__ # Prints out the base class of a class
print sophie.__class__ # Prints the objects class
print sophie.__dict__ # Prints all of an objects attributes
In this video, I will explain the basics of Object Oriented Programming with Python. Understand that a Class is the blue print that defines what Attributes (variables) and Methods (functions), each object it builds must have.
Each Object that is created is said to be an Instance of the Class that built it. I’ll also go over what Encapsulation is. Encapsulation is how you hide information and constrain a user of your class to use it in the way you define. And, finally I teach you how to enforce Encapsulation by making your Attributes and Methods private.
Like always, a lot of code follows the video. If you have any questions or comments leave them below. And, if you missed my other Python Tutorials they are available here:
In this video I’ll explain how to use functions in Python 2.5 through 2.7. I’m going to cover how to:
Create Functions
Pass Values to Functions
Create Default Values
Except Unlimited Arguments
Except Unlimited Key Value Pairs
Use Recursion
and more…
Like always, the code follows the video. If you have any questions or comments leave them below. And, if you missed my other Python Tutorials they are available here:
Here is Some Code that Demonstrates using Python Functions
#! /usr/bin/python
# Define a docstring a special function attribute
globalVariable = 10
def addNumbers(NumOne=1,NumTwo=1):
‘Adds the numbers passed to it’
return NumOne + NumTwo
def addUndefNums(NumOne=1,NumTwo=1,*args):
‘Adds the numbers passed to it’
finalValue = NumOne + NumTwo
if args:
for i in args:
finalValue += i
return finalValue
else:
return finalValue
def createDict(**kvargs):
for i in kvargs:
print i, kvargs[i]
print type(kvargs[i])
print type(kvargs)
print kvargs
return
def factorial(num):
if num == 1:
return 1
else:
return num * factorial(num – 1)
def printNames(first,last):
pass
def main():
# Demonstrate difference between global & local scope
mainNumber = 5
print “mainNumber equals”, mainNumber, “in function main”
scopeFunction()
print “mainNumber equals”, mainNumber, “after scopeFunction”
print id(mainNumber)
# Force a global variable to change
print “globalVariable before changeGlobal =”, globalVariable
changeGlobal()
print “globalVariable after changeGlobal =”, globalVariable
# Create a function with a docstring
print addNumbers(1)
print addNumbers.__doc__
# Add undefined number of numbers with a tuple
print addUndefNums(1,2,3,4,5,6,7,8)
# Create a dictionary
createDict(Name=’Derek’, Age=35, YearBorn=1974)
createDict(Cust1=(‘Derek’,35,1974),Cust2=(‘Sally’,25,1984),Cust3=(‘Paul’,15,1994))
In this Python Video Tutorial I focus on looping in Python 2.5 through 2.7. I explain how to use the while loop and the many ways to use the for loop.
Along the way I explain how the in operator is used in Python and the range function.
Like always, the code follows the video. If you have any questions or comments leave them below. And, if you missed my other Python Tutorials they are available here:
I continue the Python 2.7 Tutorial by explaining a couple new things. I first go over how to turn your Python code into an executable application.
I then cover Python Conditionals. Conditionals are used to perform certain actions under one condition and other actions based on other conditions. In Python you can do this either with an IF Statement, or with something called a Conditional Expression.
Like always, the code follows the video. If you have any questions or comments leave them below. And, if you missed my other Python Tutorials they are available here:
I continue with my Python 2.7 tutorial here. If you missed part one (How Dare You) you must watch it first at Python 2.7 Tutorial. Otherwise you’ll be confused. I specifically explain how to use Python Lists, Tuples and Dictionaries. These work very similar to arrays in other languages.
An array is a variable that contains multiple values. Think of an array as a box that contains many other boxes, that all contain values. These values can be a mixture of different data types (ints, floats, strings). Here is how Python Lists, Tuples, and Dictionaries differ:
I asked you guys what video I should do next, and based on your votes you wanted a Python 2.7 Tutorial! Because of the tremendous interest, I will be rolling out a Massive tutorial for Python. I actually did one on Python 3.0 if you want that instead though. Here it is Python How to Video Part 1.
The tools I use in this tutorial include the Eclipse IDE and Pydev. I document how to install them in the video below, but also in this article Free IDE.
Now on with the video. All of this code will work with Python 2.5 thru 2.7. The code will follow the video. If you have any questions or comments leave them below. Here is all the code from the entire tutorial in a zip archive.
I’ve recently been hit with a ton of requests for tutorials. I want you all to know I received them and plan to do them as soon as possible, but I need help ranking them.
Below I’m listing all of the tutorials that you have been requesting. Who ever comments first will decide which tutorial I do next. If your second in line, your tutorial will go next and so on.
Because I’ve received so many requests for a Python 2.7 Tutorial, I will cover that next. Then I’ll move on to your other requests.
My wife’s first knitting video was a hit! So, here my wife continues teaching how to knit. Here is a link to the first tutorial How to Knit.
Specific knitting techniques covered include:
Purl Stitch
Stockinette Stitch
Rib Stitch
She is planning on creating a tutorial that will teach you how to make a Twitter Fail Whale. Leave any comments or suggestions on what you’d like to see in future tutorials.
In this video I finish off my Financial Statements Video Tutorial with a ton of examples. I specifically cover the following topics:
How Financial Statements are Effected when the Cost of Inventory Changes
First In First Out versus Last In First Out Inventory Usage
How to Use and Read a Cash Flow Statement
How to Treat Fixed Assets and What they are
How to Handle Depreciation of Fixed Assets
This tutorial was fun to put together. Thanks to Anne and Kara for suggesting that I create it. I think I succeeded in explaining the basics of Financial Statements in an understandable way.
If you have any questions or comments leave them below. If you want me to do a future tutorial on a specific topic, leave it below as well!
In this article I provide you with two videos that will explain how to read financial statements.
In the first video, I cover how the following effect your financial statements: Paying off Debt, Hiring an Employee, Buying with Credit, the Accrual Method, the Cash Method.
In the second video, I cover how product and service business balance sheets differ. I compare accrual method income statements to cash method income statements.
In this video tutorial I explain how to create financial statements. I use an example business and walk you though how balance sheets and income statements are effected by business transactions.
Kara wrote in and asked me to further explain the difference between a service business’s financial statements and that of a product business. I’ll provide another example that should make it more understandable. Definitely check out my previous tutorial before reading this. It is available here The Balance Sheet.
Ever since you made all that money with Mark, your employee, you have been fixated on franchising. Many friends want to learn how to caricature and you want to try out cost method accounting (tax benefits)!
You decide to teach your caricature methods to your friends and help them market for a flat fee of $500. You start your new franchise service called Cartoon You.
Here I finish going over how people go through the process of Decision Making. If you haven’t, watch the first Decision Making videos here. Each person makes each decision in very specific ways. If you understand how they make decisions you will find it very easy to negotiate and persuade them into believing what ever you would like.
To find out how they make decisions, you just need to ask them one question. If you then structure your negotiation in a way that is compatible with their way of making decisions you dramatically increase your persuasiveness.
In the videos here and in the previous article, I teach you the questions to ask and all of the many ways people make decisions. These are high level negotiation techniques and if you want to see them put into use in a more understandable way, check out my sales technique videos. (They are free also)
Anne wrote in and asked, “Can you to a tutorial on the balance sheet and the other financial statements. Is there a simple way to explain Financial Statements?”
Financial statements aren’t really that complicated in their basic forms. I’ll focus on explaining the balance sheet, with a little on Income Statements in this tutorial. I’ll explain how they are used step-by-step for an example caricature business.
Note: Each time I introduce a new item in the balance sheet I will place it in italics.
A couple of articles ago I provided you with a bunch of pre-drawn cartoon parts for Flash. That article is available here How to Draw. I also provided some tutorials on drawing the human face, eyes, nose, lips, etc.
I received an email requesting for me to provide pre-drawn cartoon hands from Clarence. So here are some vector drawn cartoon hands that you can use in Flash. Cartoon Vector Hands
You can do anything you would like with them. I hope to eventually provide an entire library of pre-drawn cartoon parts that you can use in Flash. I want to make it as easy as possible to animate cartoons in Flash, whether you can draw or not.