
Hello, Python enthusiasts! Today we're going to discuss some basic concepts and programming techniques in Python. Many beginners encounter confusion and obstacles in their Python learning journey. Don't worry, I'm here to answer your questions and explain everything. Without further ado, let's dive into today's topic!
Data Types
As a minimalist language, Python has built-in multiple data types. Mastering them can make your programming journey smoother. For example, you might often use the most common ones like lists and dictionaries.
List Operations
Lists are one of the most fundamental data structures in Python. You can think of them as ordered collections of data. To create a list, simply use square brackets []
with elements separated by commas. For example:
my_list = [1, 2, 3, 4, 5]
You can access elements in a list using indices, which start counting from 0. For instance, to access the first element, use my_list[0]
.
However, creating lists can sometimes be cumbersome. This is where list comprehensions come in handy to simplify operations. Do you often find yourself needing to create a new list from an iterable object (like range())? List comprehensions are tailor-made for such needs:
squares = [x**2 for x in range(10)] # Result is [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Isn't that concise? You just need to describe the operation to perform on each element of the iterable object, and Python will automatically build the new list for you. If you need to add conditional filtering, it's also easy to implement:
even_squares = [x**2 for x in range(10) if x % 2 == 0] # Result is [0, 4, 16, 36, 64]
Compared to using a for loop to build a list, this method is more readable and usually more efficient. So when you need to create a new list from a sequence, why not try a list comprehension?
Introduction to Dictionaries
If lists can be viewed as key-value pair data structures, then dictionaries are the true key-value pair collections in Python. They are defined using curly braces {}
, with each key-value pair separated by a colon :
, and pairs separated by commas ,
. For example:
person = {
"name": "Alice",
"age": 25,
"city": "New York"
}
You can use person["name"]
to get the value "Alice". Keys in a dictionary are unique, but values don't have to be. You can also modify dictionaries as needed, for example:
person["email"] = "[email protected]" # Add a new key-value pair
person["age"] = 26 # Modify an existing value
del person["city"] # Delete a key-value pair
Dictionaries are particularly useful when dealing with data that requires key-value pair correspondence. For instance, you can use dictionaries to store configuration information, record database query results, and so on. Mastering the use of dictionaries is like adding a new powerful tool to your Python toolbox.
Function Basics
Functions are the basic building blocks of code and are great for code reuse. Defining a function in Python is very simple. You just need to use the def
keyword followed by the function name and parameter list, then add the code block. For example:
def greet(name):
return f"Hello, {name}!"
print(greet("Alice")) # Outputs "Hello, Alice!"
Inside the function, you can use parameters to receive values passed from outside. The return
keyword is used to specify the return value of the function. If there's no return
, the function will return None
.
Functions can also accept any number of positional and keyword arguments. For example:
def print_info(name, *args, **kwargs):
print(f"Name: {name}")
print(f"Positional args: {args}")
print(f"Keyword args: {kwargs}")
print_info("Alice", 1, 2, 3, age=25, city="New York")
Here, *args
receives all positional arguments, and **kwargs
receives all keyword arguments. This variable argument feature makes functions more flexible.
Once you've mastered function definition and calling, you can start implementing reuse in your code. Whenever you encounter a logic that can be reused, encapsulate it into a function. This can greatly improve the readability and maintainability of your code.
Time Handling
In programming, we often encounter the need to handle time. Python's datetime
module provides us with powerful time handling capabilities.
For example, let's look at a common requirement - calculating the time difference between two military times. You can solve it like this:
import datetime
first = input("Enter the first time (e.g. 0900): ")
second = input("Enter the second time (e.g. 1730): ")
first_time = datetime.time(hour=int(first[0:2]), minute=int(first[2:4]))
second_time = datetime.time(hour=int(second[0:2]), minute=int(second[2:4]))
first_datetime = datetime.datetime.combine(datetime.date.today(), first_time)
second_datetime = datetime.datetime.combine(datetime.date.today(), second_time)
if second_datetime < first_datetime:
second_datetime += datetime.timedelta(days=1)
time_diff = second_datetime - first_datetime
print(f"Time difference: {time_diff.seconds // 3600} hours {(time_diff.seconds // 60) % 60} minutes")
This code first gets two military times from the user, then converts them to datetime.time
objects. It then combines the time objects with today's date to form datetime.datetime
objects.
Since the second time might be earlier than the first time (like 0800 and 2200), a check is needed. If this is the case, one day is added to the second time. Finally, by subtracting the two datetime
objects, we can get the time difference and print out the hours and minutes.
This example demonstrates some common functionalities of the datetime
module, such as creating time objects and date-time arithmetic. Once you've mastered these skills, you should be able to handle time-related requirements with ease.
Exception Handling
Any code can potentially encounter unexpected errors, which could cause the program to crash if not handled. This is where we need to use exception handling mechanisms to enhance the robustness of our code.
Python uses the try...except
statement to catch and handle exceptions. The basic format is as follows:
try:
# Code that might raise an exception
result = 10 / 0
except ZeroDivisionError:
# Handle division by zero exception
print("You can't divide by zero!")
except Exception as e:
# Handle other exceptions
print(f"An error occurred: {e}")
When the code in the try
block is executed, if an exception occurs, Python will match the except
blocks and execute the corresponding handling code. You can catch specific exceptions, or use Exception
to catch all exceptions.
In addition to try...except
, there's also a finally
clause that executes specific code whether or not an exception occurred:
try:
file = open("data.txt")
content = file.read()
except FileNotFoundError:
print("File not found")
finally:
file.close()
In this example, whether the "data.txt" file exists or not, file.close()
in the finally
block will be executed, ensuring that the file is properly closed.
Through exception handling, your code will become more robust and can correctly handle various unexpected situations without causing the entire program to crash. So when writing Python code, be sure to try to catch and handle possible exceptions. This will make your program more reliable.
Summary
Today we learned about some basic concepts and programming techniques in Python, including lists, dictionaries, function definitions, time handling, and exception handling. I believe that through this article's explanation, you now have a deeper understanding of them.
Of course, the programming journey is still long, and what we've learned today is just the tip of the iceberg. However, if you lay these foundations well, you'll be able to add wings to your subsequent learning. So please make sure to practice repeatedly and master this knowledge firmly.
Finally, if you encounter any confusion in your learning process, feel free to ask me questions at any time! I will patiently answer and share the joy of learning with you. Let's excel together in the world of Python. I look forward to your next exciting project!
Next
Python Basics: From Beginner to Advanced
This article delves into Python fundamentals, covering core concepts such as data types, functional programming, time handling, and exception handling. It aims
Python Object-Oriented Programming: From Beginner to Master, A Complete Guide to Classes and Objects
A comprehensive guide covering Python programming fundamentals and advanced features, including environment setup, language elements, modular programming, object-oriented programming, and domain-specific development
Python Programming Beginner's Guide: Master This Simple and Easy-to-Learn Programming Language
This article introduces key knowledge points for getting started with Python programming, including an introduction to Python, basic syntax, practical examples, and recommended learning resources, helping beginners quickly master this simple and widely applicable programming language.
Next

Python Basics: From Beginner to Advanced
This article delves into Python fundamentals, covering core concepts such as data types, functional programming, time handling, and exception handling. It aims

Python Object-Oriented Programming: From Beginner to Master, A Complete Guide to Classes and Objects
A comprehensive guide covering Python programming fundamentals and advanced features, including environment setup, language elements, modular programming, object-oriented programming, and domain-specific development

Python Programming Beginner's Guide: Master This Simple and Easy-to-Learn Programming Language
This article introduces key knowledge points for getting started with Python programming, including an introduction to Python, basic syntax, practical examples, and recommended learning resources, helping beginners quickly master this simple and widely applicable programming language.