Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
13 / 1 / 0
Регистрация: 16.04.2016
Сообщений: 151
1

Конструктор с необязательными аргументами в python 2.7

04.04.2019, 03:39. Показов 629. Ответов 4
Метки нет (Все метки)

Всех приветствую. Помогите пожалуйста сделать конструктор с необязательными аргументами и с любым количеством аргументов,который будет работать на python 2.7. Мой код, который будет ниже, работает только на python 3. Если нельзя сделать одновременную поддержку python 2.7 и python 3, то помогите пожалуйста с конструктором, который будет работать на python 2.7. Заранее благодарю всех за помощь.
Python
1
2
3
4
5
6
7
class die:
 def __init__(self,change=True,*a):
  if len(a)!=2:
   self=None
   return
  if a[0]>a[1] and change: a=a[1],a[0]
  self.a=a
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2019, 03:39
Ответы с готовыми решениями:

Работа с необязательными аргументами в C#
Всем привет! Появилась рабочая необходимость написать некий код на C#, до этого с этим языком не...

Функции с необязательными аргументами
Я создал функцию, в которой если последние 3 аргумента не посланы, они создаются автоматически со...

Наследование и конструктор с аргументами по умолчанию
Есть некоторый абстрактный класс "объект", который наследуют все объекты (код конструктора): ...

Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами?
От него всё равно толку как от быка молока. А вроде как предназначен для записи чего-то там в...

4
1268 / 657 / 361
Регистрация: 07.01.2019
Сообщений: 2,125
04.04.2019, 04:20 2
Цитата Сообщение от КАВ Посмотреть сообщение
Мой код, который будет ниже, работает только на python 3.
А можно пример, как выглядит работает и не работает
0
13 / 1 / 0
Регистрация: 16.04.2016
Сообщений: 151
04.04.2019, 04:35  [ТС] 3
Работает в данном случае это выполняется без ошибок, а не работает в данном случае, это выдаёт syntaks error.
0
1268 / 657 / 361
Регистрация: 07.01.2019
Сообщений: 2,125
04.04.2019, 04:42 4
Вот online интерпретатор python 2.7.10 https://repl.it/languages/python

код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
class die:
 def __init__(self,change=True,*a):
  if len(a)!=2:
   self=None
   return
  if a[0]>a[1] and change: a=a[1],a[0]
  self.a=a
 
d = die(1, 2, 3)
print d.a
 
d = die(1, 5, 3)
print d.a
вывод

Python 2.7.10 (default, Jul 14 2015, 19:46:27)
[GCC 4.8.2] on linux
(2, 3)
(3, 5)
0
13 / 1 / 0
Регистрация: 16.04.2016
Сообщений: 151
05.04.2019, 04:59  [ТС] 5
Так вот как раз меня это не устраивает, поскольку в python 3 я могу просто написать a=die(1,2) и у меня выведется 1,2, т.е не писать третий аргумент а могу написать a=1,2,change=False и тогда я явно задам третий аргумент. Неужели в python 2 этого нельзя сделать?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2019, 04:59

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

Конструктор объекта Decimal не создаёт числа с нужной точностью (python 3.3.5)
Друзья! Сперва работаем со строками: Python 3.3.5 (v3.3.5:62cf4e77f785, Mar 9 2014, 10:37:12) ...

Определить конструктор без параметров, конструктор с одним параметром, конструктор с двумя параметрами, деструктор
Создать класс «матрица». Данный класс должен содержать элементы типа int, определяющие число строк,...

Функция с необязательными параметрами
Можно ли в Си создать функцию с необязательными параметрами?

Функция с необязательными параметрами
Понадобилось изменить функцию без параметров на функцию с одним параметром, не переписывая много...


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

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

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