Programming & Scripting

Python Exception Handling

Introduction Python will let you know when you get your syntax wrong. It'll immediately fail and not allow your program to run. What about when your code has a different type of problem? Those are called exceptions, and they tend to be harder to catch. It's up to you to recognize situations where hey might come up and catch them to prevent your program from crashing altogether. Imagine a scenario where you need user input. Do you want your program to crash every time a user mistypes something...
Read More...

Python OS Module

Introduction Python is a powerful scripting language. So, why not use it to script Linux? The os module is Python's answer to handling many Linux file operations. The os module allows Python to perform many of the file and folder operations that you'd typically carry out in the Linux command line. It enable you to begin swapping out Bash for Python, which makes for a much cleaner and friendlier scripting experience. Loading OS The os module is a Python module like any other. In any script...
Read More...

Python Lambdas

Introduction You've worked with both functions and methods, but there's a different type of function, the anonymous function. Anonymous functions are just functions without names, and in Python, they are handled with the lambda operator. Anonymous functions allow you to use the behavior of a function without having to create a function. This is especially good when you only need to use a function once or twice. It might sound like an unusual occurrence, but it happens fairly frequently when a...
Read More...

Reading And Writing Files With Python

Introduction Jut about any program of a decent size needs to be able to read and write from files. At very least, it needs to be able to generate logs. Python is also tightly integrated into Linux system administration and scripting. Again, reading and writing are important for managing a system. Opening A File Python creates and object from the file that it opens. It can then manipulate that object. When it's done, it uses the object to save the any changes back to the file. Create a new text...
Read More...

Python Packages and Modules

Introduction Whenever you need some additional functionality in Python, you turn to the import keyword to pull in extras from Python modules. You've used common ones like the math module plenty of times. Now, you will learn how to create your own Python modules and packages to compartmentalize your code. Modules are sort of like classes in that they make your code modular. While classes make code modular within a program and serve as the blueprints for objects, modules make all of your code...
Read More...

Python Polymorphism

Introduction Polymorphism is yet another important aspect of Object Oriented Programming. No Warcraft fans, it doesn't have anything to do with turning people into sheep. That'd be much cooler. Instead, Polymorphism allows methods and functions to use classes with similar functionality in the same way. Polymorphism cuts down on the amount of code that you need to write by eliminating redundancy in a logical and meaningful way. It relies on you, the programmer, to be clever in your design and...
Read More...

Python Inheritance

Introduction Inheritance is yet another key concept in Object Oriented Programming, and it plays a vital role in building classes. It allows a class to be based off on an existing one. When you first started writing Python classes, you were told to just put "Object" in the parenthesis of the class definition and not think too much about it. Well, now's the time to start thinking about it. "Object" is actually the base class that all Python classes inherit from. It defines a basic set of...
Read More...

Python Encapsulation

Introduction Encapsulation is one of the fundamental aspects of Object Oriented Programming. It allows programmers better control of how data flows in their programs, and it protects that data. Encapsulation also makes objects into more self-sufficient and independently functioning pieces. The concept of encapsulation builds on what you did in the last two guides with classes and constructors. Constructors usually are usually used in close conjunction with encapsulation and actually aid in...
Read More...

Python Constructors

Introduction By now, you should be familiar with the way basic classes work in Python . If classes were just what you've seen, they'd be fairly rigid and not all that useful. Thankfully, classes are much more than just that. They are designed to be much more adaptable and can take in information to shape the way they look initially. Not every car starts off exactly the same, and neither should classes. After all, how awful would it be if every car was an orange 71' Ford Pinto? That's not a...
Read More...

Python Classes

Introduction Classes are the cornerstone of Object Oriented Programming. They are the blueprints used to create objects. And, as the name suggests, all of Object Oriented Programming centers around the use of objects to build programs. You don't write objects, not really. They are created, or instantiated, in a program using a class as their basis. So, you design objects by writing classes. That means that the most important part of understanding Object Oriented Programming is understanding...
Read More...

Learn Python Fundamentals

Python is a big deal. It is one of the fastest growing and most in-demand programming languages in the world today. Python is so flexible and versatile that it is used for nearly every job that a programming language can do. Python powers desktop applications, is used for Linux system scripting and automation, acts as a glue language between Linux applications, is a supplemental scripting language in large programs like GIMP, Blender, and Autodesk Maya, performs crucial scientific and...
Read More...

Python Functions

Introduction Code would quickly become an ugly and unruly mess if there wasn't a way to easily repeat and reuse it. You've already seen some of that with loops. They're great for repeating the same task multiple times right away. What if you wanted to reuse a block of code whenever you wanted? Well, that's where functions come in. Here's another trip back to math class. If you remember, functions took in a number, did something to it, then outputted the new value. They were often represented...
Read More...

Python Advanced Dictionaries

Introduction You've already gotten acquainted with dictionaries, but just like the other data structures Python supports, there are methods and more powerful ways to use them. There aren't as many methods for working with dictionaries as there are for lists, but that's because dictionaries just don't need them. Plus, many of the ones that do exist, work to break down dictionaries into lists and tuples to make them easier to manage. So, those list methods can be used in conjunction with the...
Read More...

Python Dictionaries

Introduction Somebody hit lists with gamma rays. Okay, so Dictionaries aren't the Incredible Hulk, but they are supercharged in what they can do. In other languages, dictionaries are referred to as hashes, associative arrays, and associative lists. It's probably best to think of them as associative lists because that's exactly what they are. Dictionaries are lists that associate two values with one another. To think of it in terms of an actual dictionary, they associate a word, or key with a...
Read More...

Python For Loops

Introduction There is yet another type of loop. That loop is designed for iterating sets of data. That's right, lists. Unlike while loops, these for loops have a defined length based on the data set that they are iterating over. Generally, for loops are used to access and modify each element in a list. To do this, they temporarily represent each element as a new variable used only within the loop. for loops have a slightly different structure than while loops do. They begin with the word for ,...
Read More...

Python While Loops

Introduction Many times in programming, you will need to repeat the same task many times. In fact, looping through and repeating an operation is one of the cornerstones of programming. After all, one of the things that computers are way better than humans at is performing repetitive tasks without getting tired or making mistakes. One of the simplest ways to make a program repeat the same task is to use a while loop. A while loop repeats the same block of code while a condition is true. When...
Read More...

Python If Statements

Introduction How can a program make a decision? Can a program choose between two or more options. Actually, it can. This isn't some kind of advanced AI concept, it's just a matter of evaluating whether or not certain conditions have been met and choosing a response. The way that a program can evaluate a condition comes down to true and false. If something is true, do this. If it isn't true do, that. The if statement is the structure for a program to pose these questions and evaluate whether or...
Read More...

Python Boolean Operators

Introduction If you've been following along, you're probably tired of hearing about lists right about now. Well, this guide has nothing to do with lists! Remember back when you first leaned about variables; how there was one that just held True or False called a Boolean? There hasn't been a guide on them because Booleans are actually that simple. However, there are symbols called Boolean Operators that are used to evaluate whether a statement is true or false. They compare statements and...
Read More...

Python Tuples

Introduction Tuples are immutable data sets made up of data of different types. While tuples are very similar to lists, they are different in those key ways. Tuples cannot be changed once they are created. The data they hold can be passed to a different tuple, but the original tuple cannot be changed. This means that tuples don't have methods for manipulating them like lists do because they cannot be manipulated. Like lists, tuples can also contain data of different types. Tuples can contain...
Read More...

Python Multidimensional Lists

Introduction Now it's time to take lists to a new dimension. No, you don't need to learn how to code in "The Upside Down," but there are additional degrees of complexity to lists. Lists are used to hold data, but they are also used to categorize it. Values inside a list can be further broken down into other sets. That's essentially what a multidimensional list is. Two Dimensional Lists What is a list that holds lists? That's all a two dimensional list is. The list below consists of three...
Read More...