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

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Индексация в инструкциях вызова. Возможно ли, чтобы функция могла определить, использует ли инструкция, вызывающая функц

Сообщение Anonymous »

Наличие функции, возвращающей список:

Код: Выделить всё

def func1(list1):
a = 1
func1_result = []
func1_result = list1 * a  # This is just an illustrative example to show the function returns any list.
return func1_result
И получение всего списка, возвращаемого функцией, с помощью:
Пример 1:

Код: Выделить всё

list1_1 = [5, 4, 3, 2, 1]

print(f"{func1(list1_1)}")  # "[5, 4, 3, 2, 1]"
Или также получение значения определенного индекса списка, возвращаемого функцией, с помощью:
Пример 2:

Код: Выделить всё

list1_1 = [5, 4, 3, 2, 1]

print(f"{func1(list1_1)[0]}")  # "5"
Тогда возникает вопрос: есть ли какой-либо способ, с помощью которого функция func1 может определить, включает ли синтаксис/формат вызывающей инструкции индексирующую часть [ н]? а также, при включении индексирующей части [n], как узнать, какое конкретное значение индекса находится в инструкции вызова функции?

Код: Выделить всё

def func1(list1):
a = 1
func1_result = []

'''
if the funcion calling instruction is about getting the whole resulting list:
do the calculations to get the whole resulting list.
elif the funcion calling instruction is about getting one specific index value of the resulting list:
do the calculations to get only the resulting value for the specified index.
# In this case the result could be a 1-element list.
# Main goal in these kinds of cases: saving memory during calculations when working with large lists and with many function's calls.
'''

return func1_result
Насколько я понимаю, доступ к индексированию, указанный в вызывающей инструкции, происходит после того, как функция возвращает результирующий список, но, возможно, существует какой-то способ (в идеале прямой), который функция может получить эту информацию о формате вызова из вызывающей инструкции без необходимости указывать ее вручную с помощью дополнительного параметра функции.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -could-det
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»