Python Forum

Full Version: I'm trying to figure out whether this is a method or function call
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I'm doing some simple string formatting examples in Python and I'm using the old style C method for an example in my program. I understand that when you type %s within your string that is simple a placeholder for where your data or argument is going to go.

But what I don't understand is when you type the final % right before your arguments in parentheses, is that actually a method or a function call? When people were doing C language did they learn that as a call to a function?

Here is my code:

subject = "Engineering"
language = "Python"

print("I am studying %s and using %s as the programming language" % (subject, language))
Don't use this old method anymore.
f-string is what you should use,was new in Python 3.6(2-year ago).
subject = "Engineering"
language = "Python"

print(f"I am studying {subject} and using {language} as the programming language")
Output:
I am studying Engineering and using Python as the programming language
11 year ago in 2.6 foramt() was new.
subject = "Engineering"
language = "Python"

print("I am studying {} and using {} as the programming language".format(subject, language))
Output:
I am studying Engineering and using Python as the programming language
Not only are f-string far more readable more concise,and less prone to error than other ways of formatting,but they are also faster!
>>> name = 'f-string'
>>> print(f"String formatting is called {name.upper():*^20}")
String formatting is called ******F-STRING******

# f-strings can take any Python expressions inside the curly braces.
>>> cost = 99.75999
>>> finance = 50000
>>> print(f'Toltal cost {cost + finance:.2f}')
Toltal cost 50099.76

>>> for word in 'f-strings are cool'.split():
...     print(f'{word.upper():~^20}')
...
~~~~~F-STRINGS~~~~~~
~~~~~~~~ARE~~~~~~~~~
~~~~~~~~COOL~~~~~~~~
To answer the original question, it's neither. It's an operator.