Tic-Tac-Toe with AI, LRU Caches, Debugging, and More

#614 – JANUARY 30, 2024 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Create a Tic-Tac-Toe Python Game Engine With an AI Player
In this video course, you’ll create a universal game engine in Python for tic-tac-toe with two computer players, one of which will be an AI player using the powerful minimax algorithm. You’ll give your game library a text-based graphical interface and explore two front ends.
REAL PYTHON course

A Priority-Expiry LRU Cache Without Heaps or Trees
This article covers how to implement an LRU cache using only the Python standard library. It does so the hard way, staying away from heaps and binary search trees.
ADRIAN

Snyk’s Ethical Hacking 101 Workshop ⚡ | February 8, 2024 | 11:00am ET
Join Snyk’s Ethical Hacking 101 Workshop and learn how ethical hacking can help you identify security weaknesses in your systems before attackers do 🤖 Get live support in the hands-on lab ✅ as you find and fix vulnerabilities 🛠️ and ✅ learn the process of responsible disclosure. Register today →
SNYK.IOsponsor

Debugging Python
Tips for debugging Python, based on a talk done at PyCon Sweden. Learn how to be better at debugging your Python code!
JUHA-MATTI SNTALA

DSF Calls for Applicants for a Django Fellow
DJANGO SOFTWARE FOUNDATION

Wagtail 5.2.3 Released
WAGTAIL


Articles & Tutorials


Ten Python datetime Pitfalls
It’s no secret that the Python datetime library has its quirks. Not only are there probably more than you think, but third-party libraries don’t address most of them! Arie created a new library to explore what a better datetime library could look like.
ARIE BOVENBERG • Shared by Arie Bovenberg

Exploring the Role of Static Methods in Python
Python is a versatile language, supporting multiple programming paradigms, including procedural, object-oriented, and functional programming. This article discusses static methods, but from a functional programming perspective.
BOB BEDERBOS

Performance Analysis of Python’s dict() and {}
This article delves into the details behind the choice of calling dict() or using {} directly in your code. It covers the underlying structures in the interpreter as well as performance.
KAMIL RUSIN

My Django Roadmap Ideas
Thibaud Cola is the newest Django Software Foundation member and this post describes his ideas for the Django roadmap session for 2024. Learn what might be coming in future Django core.
PAOLO MELCHIORRE

Python’s Magic Methods: Leverage Their Power in Your Classes
In this tutorial, you’ll learn what magic methods are in Python, how they work, and how to use them in your custom classes to support powerful features in your object-oriented code.
REAL PYTHON

Filter a list in Python
This tutorial explains the different methods for filtering a list in Python. It shows you how to use the filter() function, list comprehensions, and good old loops.
SOUMYA AGARWAL


Projects & Code


Brought to you by Real Python for Teamssponsor
Online Python training created by a community of experts. Give your team the real-world Python skills they need to succeed →

datamapplot: Creating Beautiful Plots of Data Maps
GITHUB.COM/TUTTEINSTITUTE

marimo: A Reactive Notebook for Python
GITHUB.COM/MARIMO-TEAM

niquests: Requests but Multiplexed
GITHUB.COM/JAWAH

unidep: Unified Pip and Conda Dependency Management
GITHUB.COM/BASNIJHOLT

falco: CLI and Guides for the Modern Django Developer
GITHUB.COM/TOBI-DE

📆🐍 Upcoming Python Events


Weekly Real Python Office Hours Q&A (Virtual)
January 31, 2024

Canberra Python Meetup
February 1, 2024

Sydney Python User Group (SyPy)
February 1, 2024

Python Devroom @ FOSDEM 2024
February 4 to February 5, 2024

Melbourne Python Users Group, Australia
February 5, 2024
Happy Pythoning!
Copyright © 2024 PyCoder’s Weekly, All rights reserved.
You are receiving this email because you opted in on our website at pycoders.com
Our mailing address: DevCademy Media Inc. · #720-999 West Broadway, Vancouver BC V5Z 1K5, Canada

Unsubscribe | Update Email Address

Older messages

Packaging, Air-Gapped Systems, Logging in Flask, and More

Tuesday, January 23, 2024

Python Packaging, One Year Later: A Look Back at 2023 #613 – JANUARY 23, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo Python Packaging, One Year Later: A Look Back at 2023 This is a follow-on

Python & Excel, JIT, NumPy 2, and More

Tuesday, January 16, 2024

Exploring Python in Excel #612 – JANUARY 16, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo Exploring Python in Excel Are you interested in using your Python skills within Excel? Would you like to

Time, Markov Chains, Top Libraries, and More

Tuesday, January 9, 2024

How to Get the Current Time in Python #611 – JANUARY 9, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo How to Get the Current Time in Python In this video course, you'll be getting the current

Flask, Python JIT, Discoveries in 2023, and More

Tuesday, January 2, 2024

Build a Scalable Flask Web Project From Scratch #610 – JANUARY 2, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo Build a Scalable Flask Web Project From Scratch In this tutorial, you'll explore

Best of PyCoder's 2023

Tuesday, December 26, 2023

Design and Guidance: Object-Oriented Programming in Python #609 – DECEMBER 26, 2023 VIEW IN BROWSER The PyCoder's Weekly Logo A lot has happened in the Python ecosystem in 2023 and with our final

You Might Also Like

Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator

Friday, February 14, 2025

What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Defining Your Paranoia Level: Navigating Change Without the Overkill

Friday, February 14, 2025

We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy

5 ways AI can help with taxes 🪄

Friday, February 14, 2025

Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help

Recurring Automations + Secret Updates

Friday, February 14, 2025

Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

The First Provable AI-Proof Game: Introducing Butterfly Wings 4

Friday, February 14, 2025

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%

GCP Newsletter #437

Friday, February 14, 2025

Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers

Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰

Friday, February 14, 2025

Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from

The Great Social Media Diaspora & Tapestry is here

Friday, February 14, 2025

Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great

Daily Coding Problem: Problem #1689 [Medium]

Friday, February 14, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,

📧 Stop Conflating CQRS and MediatR

Friday, February 14, 2025

​ Stop Conflating CQRS and MediatR Read on: m​y website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your