python – How to print like printf in Python3?

python – How to print like printf in Python3?

In Python2, print was a keyword which introduced a statement:

print Hi

In Python3, print is a function which may be invoked:

print (Hi)

In both versions, % is an operator which requires a string on the left-hand side and a value or a tuple of values or a mapping object (like dict) on the right-hand side.

So, your line ought to look like this:

print(a=%d,b=%d % (f(x,n),g(x,n)))

Also, the recommendation for Python3 and newer is to use {}-style formatting instead of %-style formatting:

print(a={:d}, b={:d}.format(f(x,n),g(x,n)))

Python 3.6 introduces yet another string-formatting paradigm: f-strings.

print(fa={f(x,n):d}, b={g(x,n):d})

The most recommended way to do is to use format method. Read more about it here

a, b = 1, 2

print(a={0},b={1}.format(a, b))

python – How to print like printf in Python3?

Simple printf() function from OReillys Python Cookbook.

import sys
def printf(format, *args):
    sys.stdout.write(format % args)

Example output:

i = 7
pi = 3.14159265359
printf(hi there, i=%d, pi=%.2fn, i, pi)
# hi there, i=7, pi=3.14

Leave a Reply

Your email address will not be published. Required fields are marked *