Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 2
1

Комбинация разных типов аргументов функции

21.04.2017, 11:56. Просмотров 378. Ответов 3

Есть функция, принимающая производное количество аргументов:
Python
1
2
3
4
5
def Out(*args):
    if _STOUT_ or _DEBAG_:
        for i in range(args.__len__()):
            if _STOUT_: print args[i]
            if _DEBAG_: debug_file.write(args[i]+'\n')
где _STOUT_, _DEBAG_ и debug_file - заданы в "main".
Теперь хочу добавить в неё именованный аргумент set_stout, который будет управлять выводом на экран только для этого вызова функции:
Python
1
if _STOUT_ and set_stout: print args[i]
Подскажите, как скомбинировать именованный аргумент set_stout и произвольные *args, чтобы функция правильно обрабатывала оба вызова (по умолчанию set_stout=True):
Python
1
2
Out('123','2342','3456','qefwerf','wer') 
Out('123','2342','3456','qefwerf','wer', set_stout=False) #или Out(set_stout=False, '123','2342','3456','qefwerf','wer')
Добавлено через 26 минут
Для Python3 нашел как сделать, есть ли возможности для Python2?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2017, 11:56
Ответы с готовыми решениями:

Параметр и аргумент функции разных типов, но код работает
#include <iostream> #include <fstream> using namespace std; class dist { private: int...

Аргумент разных типов для одной функции (без перегрузки)
День всем добрый! Я тут решил немного облегчить себе жизнь. У меня есть функция: void...

Реализовать перегрузку функции, определяющую максимальное значение в массивах разных типов
Добрый день. Пытаюсь разбираться с перегрузкой функций. стоит задача "Используя перегрузку...

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

3
2721 / 2325 / 620
Регистрация: 19.03.2012
Сообщений: 8,832
21.04.2017, 13:11 2
Igor Matveev, в этом плане нет различий в какой версии использовать.
0
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 2
25.04.2017, 15:12  [ТС] 3
Для Python3 работает:
Python
1
def Out(*args, set_stout=True):
Подскажите, как можно подобное сделать для Python2?

P.S. Половина библиотек проекта на python3 ещё не переведены, поэтому ищу варианты для python2
0
Эксперт по компьютерным сетям
4810 / 2708 / 833
Регистрация: 03.11.2009
Сообщений: 8,390
Записей в блоге: 3
25.04.2017, 15:31 4
Python
1
def Out(set_stout=True, *args):
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2017, 15:31

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

Создание шаблонной функции для работы с массивами разных типов данных
Здравствуйте. Столкнулся со следующей проблемой: не могу написать шаблонную функцию подсчета суммы...

Создать массивы разных типов(3 типов), вывести их на экран
Создать массивы разных типов(3 типов), вывести их на экран.

Странное расположение в памяти аргументов функции с неизвестным количество аргументов
Не могу понять, почему такая программа не работает, выдавая segmentation fault после распечатки...

Выполнить расчет функции от двух аргументов при заданных законах изменения аргументов
Выполнить расчет функции от двух аргументов при заданных законах изменения аргументов. Все значения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.