Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 10, 2014 16:41:10

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Использование if в модуле

totiks
,на выходе я получаю совершено разные значения для rez1,rez2, и rez3 ,то есть нет ничего предосудительного если я напишу сам модуль и переодически дам ему команду на перезагрузку,…я просто настолько зелен в этом деле что не знаю как правильно и потому нащупываю свои пути…
А не надо нащупывать, нужно взять учебник и читать до просветления, а то еще нащупаешь что-нибудь не то. Про функции слышал что-нибудь? Процедурное программирование освоил? В объектно-ориентированное вник? Знакомы понятия “декомпозиция”, “инкапсуляция”?
Какие к черту модули? Учи язык, учи теорию, модули понимать тебе еще рано.



Офлайн

#2 Сен. 11, 2014 00:43:09

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Использование if в модуле

totiks
FishHook смутно…но пытаюсь понять,из теории мной понялось что они используются в качестве подпрограмм,они нужны там где участки кода часто повторяются…

Операторы объединяются в функции, функции объединяются в классы, классы объединяются в модули, модули объединяются в пакеты, пакеты объединяются в платформы.

Вот у тебя есть три оператора вывода:
>>> print(1)
1
>>> print(2)
2
>>> print(3)
3
>>> 

Чтобы их объединить, ты делаешь функцию:
>>> def f():
...   print(1)
...   print(2)
...   print(3)
... 
>>> f()
1
2
3
>>>

Вызов функции - это тоже оператор:
>>> def h():
...   f()
...   f()
...   f()
... 
>>> h()
1
2
3
1
2
3
1
2
3
>>>

Если же хочешь объединить функции, нужно сделать класс:
>>> class A:
...   def f1(self):
...     print(1)
...     print(2)
...     print(3)
...   def f2(self):
...     print(4)
...     print(5)
...     print(6)
... 
>>> a = A()
>>> a.f1()
1
2
3
>>> a.f2()
4
5
6
>>>

Но класс делается не со спонтанными функциями, а с объединёнными общей идеей. Если у тебя программа, в которой человек идёт по дороге, то у тебя должно быть три класса: человек, дорога и ходьба. И, соотвественно, в классе человек должны быть функции, касающиеся человека, в классе дорога - функции, касающиеся дороги, а в классе ходьбы - функции, касающиеся ходьбы. Если потом рядом появляется собака, идущая по дороге, то у тебя ходьба и дорога уже есть.



Отредактировано py.user.next (Сен. 11, 2014 21:23:29)

Офлайн

#3 Сен. 11, 2014 21:07:07

totiks
Зарегистрирован: 2014-09-03
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Использование if в модуле

py.user.next
Спасибо за разяснения ,программу написал используя модуль,и теперь мне понимается что нужно было завязать все на функции, то есть обьеденить операторы в функцию,я недавно стал изучать python , и слова сказанные FishHook

понятия “декомпозиция”, “инкапсуляция”?
,очень пугают ,нет они мне незнакомы, но когда читаю в книге написаное там совершено отличается подходом который на форуме,в книге многое непонятно ,не близко для понимания,на форуме же, порой через подзатыльник ,но предмет подается более понятным языком.Вы меня уж простите за умничания,но просто код заработал. Я воспринял модули как подпрограммы,а оно эва как обернулось,придется читать ,пробовать и опять переписывать…спасибо.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version