Because Guido has decided that he made a mistake. :)

It has since been corrected: try Python 3, which dedicates a section of its release notes to describing the change to a function.

For the whole background, see PEP 3105 and the several links provided in its References section!

Answer from Brandon Rhodes on Stack Overflow
🌐
W3Schools
w3schools.com › python › ref_func_print.asp
Python print() Function
Built-in Modules Random Module ... Q&A Python Bootcamp Python Training ... The print() function prints the specified message to the screen, or other standard output device....
🌐
Reddit
reddit.com › r/learnpython › is print() a function or a method in python? getting mixed explanations in class
r/learnpython on Reddit: Is print() a function or a method in Python? Getting mixed explanations in class
March 4, 2026 -

I’m currently teaching Python fundamentals and ran into a confusing explanation about print().

My understanding has always been that print() is a built-in function in Python. It’s part of Python’s built-ins and you can call it directly like:

print("Hello")

But my education coordinator explained it differently. He said that print is a method because it’s already there, and that functions are things you create yourself. He also said that methods take arguments and functions take parameters.

That explanation confused me because everything I’ve read says:

  • print() is a built-in function

  • Methods are functions attached to objects or classes (like "hello".upper())

So now I’m wondering:

  1. Is there any context where someone would reasonably call print() a method in Python?

  2. Am I misunderstanding the difference between functions, methods, arguments, and parameters?

I’d appreciate clarification from more experienced developers because I want to make sure I’m explaining this correctly to students.

Thanks!

Discussions

Why is print not a function in python? - Stack Overflow
Such languages tend to allow one-line ... and provide built-in syntax for common tasks (convenience at the possible expense of purity). In Python's case, printing a value is a very common thing to do, especially in interactive mode. Requiring print to be a function seems unnecessarily ... More on stackoverflow.com
🌐 stackoverflow.com
So how does Print function work in Python?
print just writes to sys.stdout by default. def print(*args, sep=" ", end="\n", file=sys.stdout): text = sep.join(str(arg) for arg in args) file.write(text) file.write(end) That'd pretty much do the same thing. Some functions and classes in CPython (the Python you get from python.org) are implemented in a programming language called C which is what CPython is written in. That means some stuff in Python will not be implemented in Python itself. More on reddit.com
🌐 r/learnprogramming
5
10
October 11, 2022
Can you print something in python without any built in functions or modules? - Stack Overflow
But there is only a very tiny difference between statements and built in functions or types. And IMHO trying to avoid built ins is close to non sense in Python. More on stackoverflow.com
🌐 stackoverflow.com
python - print function is from which module - Stack Overflow
As a beginner, what I understood is that Python Standard Library (PSL) provides a lot of modules which provide a lot of functionalities, but still if I want to use those then I have to import the module, for example, sys, os etc. are PSL modules but still those need to be imported. Now, I wonder if that is the case then how without importing anything I am able to use functions like print, list, len etc.? Is it that their "support is built-in ... More on stackoverflow.com
🌐 stackoverflow.com
🌐
Mimo
mimo.org › glossary › python › print-function
Explore Python's print() function, master output customization
The print() function outputs data to the console for debugging and displaying information in command-line applications. It is one of Python’s most commonly used built-in functions.
🌐
Real Python
realpython.com › ref › builtin-functions › print
print() | Python’s Built-in Functions – Real Python
The built-in print() function lets you display text or other data to the standard output or another output stream. By default, the output is displayed on the screen, but it can be redirected to a file or other output stream:
🌐
DEV Community
dev.to › saranjoel › print-built-in-function-in-python-5ceb
Print() built in function in python - DEV Community
August 28, 2021 - print() is a built in function in python we use print() function to print the object in it which is given in double Quotation which will be like: Print("object") or we can do with the old classic word ie.
🌐
Codecademy
codecademy.com › docs › python › built-in functions › print()
Python | Built-in Functions | print() | Codecademy
October 13, 2023 - It is then converted to a string through an implicit call of the built-in str() function and the value is printed to an output stream. ... Looking for an introduction to the theory behind programming?
Find elsewhere
🌐
Real Python
realpython.com › python-print
Your Guide to the Python print() Function – Real Python
June 25, 2025 - Okay, so print() is a function in Python. More specifically, it’s a built-in function, which means that you don’t need to import it from anywhere:
🌐
LabEx
labex.io › questions › what-is-the-purpose-of-the-print-function-in-python-290725
What is the Print Function in Python | LabEx
March 26, 2026 - The print() function in Python is a built-in function that serves as a fundamental tool for outputting or displaying data to the console or terminal.
🌐
Reddit
reddit.com › r/learnprogramming › so how does print function work in python?
r/learnprogramming on Reddit: So how does Print function work in Python?
October 11, 2022 -

So I am a beginner who was learning python and the first thing I learnt was printing strings. Then later on I learnt about functions and it's only now I realised that print itself is a function. Like when we say print ('hello world') we are basically calling an already existing function and not doing anything new. I didn't realise it till now. But the question I got is what does this original print function contain? How does it work? Is it possible for me to built it from scratch by myself?

Top answer
1 of 3
11
print just writes to sys.stdout by default. def print(*args, sep=" ", end="\n", file=sys.stdout): text = sep.join(str(arg) for arg in args) file.write(text) file.write(end) That'd pretty much do the same thing. Some functions and classes in CPython (the Python you get from python.org) are implemented in a programming language called C which is what CPython is written in. That means some stuff in Python will not be implemented in Python itself.
2 of 3
9
I didn't realise it till now. But the question I got is what does this original print function contain? How does it work? Is it possible for me to built it from scratch by myself? Someone had to build Python from scratch by themselves, so yes, it's possible. You might not be able to do it in pure Python, though. If you look inside the print() function, and follow the code, eventually you'll get to a point where you need to start looking at the Python interpreter, which is likely written in C. If you follow that C code, you'll eventually get to a place where the C code makes what is called a "system call". A system call looks like a normal C function call, but the function that is being called is in the operating system kernel. On modern computers, the operating system is responsible for coordinating how different programs interact on the system. Any time a program wants to output data, it has to go through the operating system. This includes writing to files, sending data across the network, sending data to other process, and sending data to the screen. You don't need to have a deep understanding of how the operating system does this, just what system calls exist and how to use them. On Linux, the specific system call that is ultimately responsible for sending your string to the operating system is called write(). Different operating systems will have a different set of system calls, and I'm not sure what system call gets used on other operating systems.
🌐
Python Morsels
pythonmorsels.com › print-features
The power of Python's print function - Python Morsels
September 3, 2025 - Python's print function is usually one of the first built-in functions that new Pythonistas learn about, but many Python programmers don't realize how versatile the print function is.
🌐
Toppr
toppr.com › guides › python-guide › references › methods-and-functions › methods › built-in › print › python-print
Python print() function | What is Python print() built-in function used for? |
August 26, 2021 - Python print() function is used to print the specified object to the standard output device (screen) or to a text stream file. The Python print() method is used to print a given message to the screen or to display an object's value on the terminal.
🌐
GeeksforGeeks
geeksforgeeks.org › python › python-output-using-print-function
Python - Print Output using print() function - GeeksforGeeks
Python print() function prints the message to the screen or any other standard output device. In this article, we will cover about print() function in Python as well as it's various operations.
Published   July 11, 2025
🌐
Python documentation
docs.python.org › 3 › library › functions.html
Built-in Functions — Python 3.14.6 documentation
Invoke the built-in help system. (This function is intended for interactive use.) If no argument is given, the interactive help system starts on the interpreter console. If the argument is a string, then the string is looked up as the name of a module, function, class, method, keyword, or documentation topic, and a help page is printed on the console.
🌐
LearnPython.com
learnpython.com › blog › python-print
How to Print in Python - A Detailed Guide for Beginners | LearnPython.com
July 31, 2023 - In this article – with plenty of examples – we’ll explore the print() function in Python. It’s one of the most useful Python built-in functions!
🌐
Unstop
unstop.com › home › blog › print() function in python with all parameters (+examples)
Print() Function In Python With All Parameters (+Examples)
February 3, 2025 - The print() function/ statement in Python is a built-in function used to output information to the console/ standard output device.
🌐
Stack Overflow
stackoverflow.com › questions › 71241105 › can-you-print-something-in-python-without-any-built-in-functions-or-modules
Can you print something in python without any built in functions or modules? - Stack Overflow
... The point of having them be built-in is so that they are available to use. ... It used to be possible in Python 2, because print was a language statement, while it is a built in function in Python 3.
🌐
DEV Community
dev.to › therahul_gupta › day-17100-built-in-python-functions-you-should-know-38l
Day 17/100: Built-in Python Functions You Should Know - DEV Community
July 7, 2025 - Built-in functions are predefined functions that are always available in Python. You can use them anytime without importing a module. print("Hello, Python!") # ✅ print is a built-in function
🌐
Programiz
programiz.com › python-programming › methods › built-in › print
Python print()
Python is fun. a = 5 a = 5 = b · In the above program, only the objects parameter is passed to print() function (in all three print statements).