17 / 5 / 0
Регистрация: 16.04.2016
Сообщений: 344

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

04.04.2019, 03:39. Показов 1981. Ответов 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
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.04.2019, 03:39
Ответы с готовыми решениями:

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

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

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

4
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
04.04.2019, 04:20
Цитата Сообщение от КАВ Посмотреть сообщение
Мой код, который будет ниже, работает только на python 3.
А можно пример, как выглядит работает и не работает
0
17 / 5 / 0
Регистрация: 16.04.2016
Сообщений: 344
04.04.2019, 04:35  [ТС]
Работает в данном случае это выполняется без ошибок, а не работает в данном случае, это выдаёт syntaks error.
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
04.04.2019, 04:42
Вот 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
17 / 5 / 0
Регистрация: 16.04.2016
Сообщений: 344
05.04.2019, 04:59  [ТС]
Так вот как раз меня это не устраивает, поскольку в python 3 я могу просто написать a=die(1,2) и у меня выведется 1,2, т.е не писать третий аргумент а могу написать a=1,2,change=False и тогда я явно задам третий аргумент. Неужели в python 2 этого нельзя сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.04.2019, 04:59
Помогаю со студенческими работами здесь

Конструктор с аргументами, base и проверка на null
Здравствуйте, уважаемые форумчане! Имеется дочерний класс и базовый абстрактный, принимающий аргумент (пример условный): public...

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

Классы Конструктор и Деструктор Python
Здравствуйте, помогите с третьим пунктом .. Буду весьма благодарен) class Person: def __init__(self, name ,surname ,...

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

Шаблонный класс (конструктор по умолчанию, основной конструктор и конструктор копирования; перегрузить операторные функции)
5.1. Разработать шаблонный класс Set. Класс должен содержать конструктор по умолчанию, основной конструктор и конструктор копирования....


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

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

Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru