Welcome to the exciting world of Python programming!
Python's simplicity and power make it a top choice for software engineering, data analysis, and beyond. With Python, you can automate tasks, analyze data, build web applications, and even create AI. Today, we'll delve into the basics, setting the stage for your exploration of Python's endless possibilities. Let's dive in and unlock the potential of Python together!
By the end of this lecture, you will:
- Understand essential programming concepts in Python.
- Become familiar with variables and data types.
- Understand assignment and comparison operators.
- Grasp control flow mechanisms like conditional statements and looping.
- Learn how to define and use simple functions in Python.
In Python, variables are like containers for storing data values. Unlike some languages, you don't need to declare a variable's type explicitly—Python is dynamically typed, meaning the variable assumes the type of the data that is assigned to it.
# Examples of variables
name = "Alice" # String
age = 30 # Integer
height = 5.5 # Float
is_student = True # Boolean
Variables are essentially names attached to particular objects in Python. To write clean and maintainable code, following the naming conventions and rules is crucial. Here are key points to keep in mind:
- Names can include letters, digits, and underscores (
_
). However, they cannot start with a digit. - Case matters:
Car
andcar
are treated as distinct variables. - Avoid using Python's built-in function names (like
list
,str
) to avoid name clashes and potential bugs. - Use meaningful names: Choosing descriptive and meaningful names makes your code much more readable and maintainable. For example,
user_age
is better than justa
. - Follow a convention: The Python community typically uses
snake_case
for variable names (all lowercase letters with underscores between words).
Python offers a variety of data types, some of the primary ones include:
- Integers (
int
): Whole numbers, positive or negative, without decimals. Example:5
,-3
. - Floating-point (
float
): Numbers with a decimal point or in exponential (E) form. Example:3.14
,-0.001
,2e2
. - Strings (
str
): A sequence of characters enclosed in quotes. Example:"Hello"
,'Python3'
. - Booleans (
bool
): HoldsTrue
orFalse
values, typically resulting from comparisons or conditions. - Lists (
list
): Ordered, mutable collections of items (which can be of mixed types). Example:[1, "two", 3.0]
. - Tuples (
tuple
): Ordered, immutable collections of items. Example:(1, "two", 3.0)
. - Dictionaries (
dict
): Ordered collections of key-value pairs. Example:{"name": "Alice", "age": 30}
. - Sets (
set
): Ordered collections of unique items. Example:{1, 2, 3}
. - NoneType (
None
): Represents the absence of a value or a null value.
Assignment operators are used to assign values to variables. The most common one is the equals (=
) sign.
x = 10 # x is now 10
x += 5 # Equivalent to x = x + 5, x is now 15
Other assignment operators include -=
(subtract and assign), *=
(multiply and assign), /=
(divide and assign), etc., used in a similar manner.
Comparison operators compare values and return a boolean result (True
or False
). Here are the primary comparison operators:
- Equal to (
==
): Checks if the values on either side are equal. - Not equal to (
!=
): Checks if two values are not equal. - Greater than (
>
), Less than (<
): Compare two values. - Greater than or equal to (
>=
), Less than or equal to (<=
): Compare two values with inclusivity.
a = 5
b = 10
print(a == b) # False
print(a != b) # True
print(a < b) # True
Control flow allows you to execute certain parts of your code based on conditions. The if
, elif
, and else
statements are the main players here.
if age > 18:
print("You are an adult.")
elif age > 13:
print("You are a teenager.")
else:
print("You are a child.")
Looping in Python enables you to execute a block of code multiple times. for
loops are great for iterating over items of a collection (like a list). while
loops keep running as long as a condition is True
.
# For loop example
for i in range(5): # Will print numbers 0 to 4
print(i)
# While loop example
count = 0
while count < 5:
print(count)
count += 1
Functions allow you to encapsulate code for reuse and clarity. In Python, functions are defined using the def
keyword, followed by the function's name and a set of parentheses. These parentheses may contain optional (comma separated) parameters, which specify the input (arguments) expected by the function when it is called (invoked/run/executed). The area of the function where we write all of our logic is called the body of the function. It is denoted by an indentation of our code. Once we de-indent our code to be in line with the def keyword, we are no longer inside of the function body. By convention, code that follows a function definition is usually preceded by two empty lines.
Let's examine an example:
def greet(name):
# This function takes a name as input and returns a greeting message.
return "Hello, " + name + "!"
In this function named greet
, name
is a required argument. Within the function, we access the name
parameter and concatenate it (glue it together) with a greeting message. Finally, we return the resulting string back out to the program where the function was first called. In the example below, the function call is wrapped in a print function, which prints the result to the terminal.
To call this function and greet someone named "Alice," we simply write:
print(greet("Alice"))
This will output:
Hello, Alice!
Congratulations! You've just taken your first steps into Python programming. Today, we learned:
- Variables in Python are used to store data of various types such as strings, integers, and floating-point numbers, without explicitly declaring their type.
- Various operation characters such as the equal sign are used for things like variable assignment and comparison.
- Conditional statements (
if
,elif
,else
) guide the flow of your program based on conditions. - Looping (
for
andwhile
loops) enables repetitive execution of code blocks. - Functions allow for code reuse and structure by encapsulating blocks of code.
This knowledge sets the stage for you to dive deeper into more complex programming concepts, explore libraries, and start building your own Python projects. I urge you to practice what we've covered today by writing simple programs or scripts. Remember, the path to mastery in programming is paved with consistent practice and curiosity. See below for an exercise to get you started!
"""
Functionality of FizzBuzz
- loops over numbers from 1 to 100
- For each number a check is performed
- if a number is divisible by both 3 and 5 then "FizzBuzz" is printed
- if a number is divisible by only 3, then "Fizz" is printed
- if a number is divisible by only 5, then "Buzz" is printed
- if a number is not divisible by 3 or 5 then the number itself is printed
"""
def fizz_buzz():
pass # replace this line with your own code
fizz_buzz()
View full solution here
Below is a glossary of terms used in our Python Basics lesson, each with a brief description and links to more detailed explanations. This glossary will help reinforce your understanding and serve as a handy reference. There's a lot here. By no means do you need to understand it all right away, simply refer back to it as needed while making your way through the material.
- Variables: Named locations used to store data in memory. In Python, variables do not need to be declared with any specific type, and can even change type after they have been set.
- Integers (
int
): Whole numbers, positive or negative, without decimals. - Floating-point Numbers (
float
): Numbers with a decimal point or in exponential form. - Strings (
str
): A sequence of Unicode characters surrounded by single or double quotes. - Booleans (
bool
): RepresentsTrue
orFalse
. - Lists (
list
): Ordered collection of items. - Tuples (
tuple
): Immutable ordered collection of items. - Dictionaries (
dict
): Unordered collections of key-value pairs. - Sets (
set
): Unordered collection of unique items. - None Type (
None
): Represents the absence of a value.
- Assignment Operators (
=
,+=
,-=
, etc.): Used to assign values to variables. - Comparison Operators (
==
,!=
,>
,<
,>=
,<=
): Compare two values and return a Boolean value.
- Conditional Statements (
if
,elif
,else
): Execute different blocks of code based on certain conditions. - Loops (
for
,while
): Execute a block of code multiple times.
- Functions: A block of organized, reusable code used to perform a single, related action.