Python function print result

Функция Print() в Python

На примерах узнайте, какие возможности предлагает функция print в Python.

Многие из вас при чтении этого руководства наверняка подумают, что в этой простой функции нет ничего нераскрытого, потому что именно с print многие начинают свое знакомство с Python, выводя на экран заветную фразу Hello, World! . Это естественно не только для Python, но и для любого языка, что функция print является базовой и одним из первых шагов при изучении как программирования в целом, так и конкретного синтаксиса. Однако со временем многие переходят к более продвинутым темам, забывая о возможностях простых на первый взгляд функций.

Это руководство целиком посвящено функции print в Python — из него вы узнаете о том, насколько она недооценена.

Если в Python 2 скобки можно не использовать, то в Python3 они обязательны. Если их не указать, то будет вызвана синтаксическая ошибка.

 File "", line 1 print "Hello, World!" ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Hello, World!")? 

Из текста выше можно сделать вывод, что в Python 3 print() — это не инструкция, а функция.

Чтобы убедиться, проверим type/class функции print() .

builtin_function_or_method 

Возвращается builtin_function_or_method . Это значит, что это ранее определенная или встроенная функция Python.

Предположим, что нужно добавить перенос строки или вертикальный отступ между двумя выводами. Для этого достаточно вызвать print() , не передавая аргументов.

print("Hello, World!");print("Hello, World!") 
print("Hello, World!") print() print("Hello, World!") 

Рассмотрим синтаксис функции print() .

print(value, . sep=», end=’\n’, file=sys.stdout, flush=False)

Как вы знаете, функция print выводит значения в поток данных или в sys.stdout по умолчанию. sys.stdout или стандартный вывод системы означают, что функция print выведет значение на экран. Его можно поменять на stdin или stderr .

Необязательные аргументы:

  • sep — это может быть строка, которую необходимо вставлять между значениями, по умолчанию — пробел. Вставим список слов в print и разделим их с помощью символа новой строки. Еще раз: по умолчанию разделитель добавляет пробел между каждым словом.
print('туториал', 'по', 'функции', 'print()') 
туториал по функции print() 
# \n перенесет каждое слово на новую строку print('туториал', 'по', 'функции', 'print()', sep='\n') 
туториал по функции print() 

Также можно разделить слова запятыми или добавить два символа новой строки ( \n ), что приведет к появлению пустой строки между каждой строкой с текстом или, например, знак плюс ( + ).

print('туториал', 'по', 'функции', 'print()', sep=',') 
print('туториал', 'по', 'функции', 'print()', sep='\n\n') 
туториал по функции print() 
print('туториал', 'по', 'функции', 'print()', sep=',+') 

Прежде чем переходить к следующему аргументу, end , стоит напомнить, что в функцию можно передать и переменную. Например, определим список целых чисел и вставим его в функцию pass . Это список и будет выведен.

int_list = [1,2,3,4,5,6] print(int_list) 

Предположим, есть две строки, а задача состоит в том, чтобы объединить их, оставив пробел. Для этого нужно в первой функции print указать первую строку, str1 и аргумент end с кавычками. В таком случае на экран выведутся две строки с пробелом между ними.

str1 = 'туториал по' str2 = 'функции print()' print(str1) print(str2) 
туториал по функции print() 
туториал по функции print() 

Возьмем другой пример, где есть функция, которая должна выводить значения списка на одной строке. Этого можно добиться с помощью такого значения аргумента end :

def value(items): for item in items: print(item, end=' ') value([1,2,3,4]) 
file = open('print.txt','a+') def value(items): for item in items: print(item, file=file) file.close() # закройте файл после работы с ним. value([1,2,3,4,5,6,7,8,9,10]) 
import time print('Пожалуйста, введите ваш электронный адрес : ', end=' ') # print('Пожалуйста, введите ваш электронный адрес : ', end=' ', flush=True) # запустите код выше, чтобы увидеть разницу. time.sleep(5) 
Пожалуйста, введите ваш электронный адрес : 

А теперь посмотрим, как можно использовать функцию print для получения ввода от пользователя в Jupyter Notebook. Для этого используется встроенная функция input() .

tutorial_topic = input() print("Тема сегодняшнего урока: ", end='') print(tutorial_topic) 
функция print() Тема сегодняшнего урока: функция print() 

Здесь указан опциональный аргумент end , который объединяет статическую инструкцию в print и ввод пользователя.

Рассмотрим другие интересные способы вывода значений переменных в функции print .

    Для отображения значения переменной вместе с определенной строкой, нужно лишь добавить запятые между ними. В этом случае положение строки и переменной не имеет значения.

a = 2 b = "PythonRU" print(a,"— целое число, а",b,"— строка.") 
2 — целое число, а PythonRU — строка. 
a = 2 b = "PythonRU" print(" — целое число, а — строка.".format(a,b)) 
2 — целое число, а PythonRU — строка. 

Если поставить одинаковый номер индекса в обоих местах, то при выводе на этих позициях будут одни и те же значения.

a = 2 b = "PythonRU" print(" — целое число, а — строка.".format(a,b)) 
PythonRU — целое число, а PythonRU — строка. 
a = 2 b = "PythonRU" print("%d — целое число, а %s — строка."%(a,b)) 
2 — целое число, а PythonRU — строка. 

Посмотрим, что произойдет, если указать %s для переменной a , которая является целым числом.

print("%s — целое число, а %s — строка."%(a,b)) 
2 — целое число, а PythonRU — строка. 

Как видно, все работает. Причина в том, что функция print неявно выполняет typecasting и конвертирует целое число в строку. Но в обратном порядке это работать не будет. Функция не сможет конвертировать строку в целое число, а вместо этого выведется TypeError .

print("%d — целое число, а %d — строка."%(a,b)) 
 --------------------------------------------------------------------------- TypeError Traceback (most recent call last) in ----> 1 print("%d — целое число, а %d — строка."%(a,b)) TypeError: %d format: a number is required, not str 

Вывод

Это руководство — отличная отправная точка для новичков, желающих добиться высокого уровня мастерства в Python. Поиграйте с функций print еще и разберитесь с другими возможностями, которые не были рассмотрены здесь.

Источник

Python function print result

Last updated: Feb 21, 2023
Reading time · 3 min

banner

To print the output of a function:

  1. Make sure to return a value from the function.
  2. Call the function and store the result in a variable.
  3. Use the print() function to print the result.
Copied!
def example(name): return 'site: ' + name result = example('bobbyhadz.com') print(result) # 👉️ 'site: bobbyhadz.com'

print output of function

Notice that the function uses a return statement to return a value.

This is necessary because all functions that don’t explicitly return a value implicitly return None in Python.

Copied!
# 👇️ this function prints a message and returns None def example(name): print('site: ' + name) result = example('bobbyhadz') print(result) # 👉️ None

The function in the example doesn’t use the return statement, so it implicitly returns None .

The print function takes one or more objects and prints them to sys.stdout .

# The print() function returns None

Note that the print() function returns None , so don’t try to store the result of calling print in a variable.

Copied!
website = print('bobbyhadz.com') print(website) # 👉️ None

print function returns none

Instead, store the value in a variable and pass the variable to the print() function.

Copied!
website = 'bobbyhadz.com' print(website) # 👉️ bobbyhadz.com

To print the output of a function, you have to call the function, store the result in a variable and print the result.

Copied!
def do_math(a, b): return a + b result = do_math(12, 13) print(result) # 👉️ 25

We called the function with parentheses, providing a value for each of its required parameters and called the print() function with the output.

# Common sources of None values

If you are getting a None value when printing the output of the function, the most common sources of None values are:

  1. Having a function that doesn’t return anything (returns None implicitly).
  2. Explicitly setting a variable to None .
  3. Assigning a variable to the result of calling a built-in function that doesn’t return anything.
  4. Having a function that only returns a value if a certain condition is met.

Make sure to return a value in every branch of your function.

Copied!
def get_name(a): if len(a) 5: return a result = get_name('bobbyhadz.com') print(result) # 👉️ None

return value in every branch of your function

The if statement in the function only runs if the provided argument has a length of less than 5 .

To get around this, we can return a default value if the condition is not met, e.g. an empty string, 0 , or any other value that suits your use case.

Copied!
def get_name(a): if len(a) 5: return a return '' # 👈️ return empty string if condition is not met result = get_name('bobbyhadz.com') print(result) # 👉️ ''

Now the function is guaranteed to return a value regardless if the condition is met.

# Some built-in functions return None

User-defined functions that don’t explicitly use the return statement to return a value return None .

Copied!
# 👇️ this function prints a message and returns None def example(name): print('site: ' + name) result = example('bobbyhadz') print(result) # 👉️ None

built in functions returning none

However, many built-in methods also return None , e.g. sort() , append() and extend() .

Copied!
a_list = ['bobby', 'hadz', 'com'] result = a_list.sort() print(result) # 👉️ None

The sort() method returns None , so the variable stores a None value.

There is a convention in Python for methods that mutate an object in place (directly) to return None .

In this case, we can’t print the output of the function when we call it.

Instead, we should print the object after it has been mutated.

Copied!
a_list = ['bobby', 'hadz', 'com'] a_list.sort() print(a_list) # 👉️ ['bobby', 'com', 'hadz']

We first called the sort() method. The method sorted the list in place and returned None .

Then, we printed the sorted list.

I wrote a book in which I share everything I know about how to become a better, more efficient programmer.

Источник

Читайте также:  Split pdf to pages python
Оцените статью