Уведомления

Группа в Telegram: @pythonsu

#1 Июль 13, 2017 17:41:55

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

Вопросы от новичков.

korifa
Ну, не поняли, значит вам пока еще рано заниматься объектно-ориентированным программированием.
Понимаете, когда-то не было классов и это не мешало людям писать программы. Любая новая технология приходит как ответ на потребности. Когда появилась потребность писать более-менее большие объемы кода, появилась потребность в высокоуровневых абстракциях, появились решения. Как вы написав за свою жизнь десять строк ХеллоВорда можете понять, зачем нужны классы? Конечно, вы не поймете, нет у вас такой потребности. Программируйте без классов, ООП вас сам найдет, когда придет его время.



Офлайн

#2 Июль 13, 2017 17:51:53

work.Vladimir
Зарегистрирован: 2017-03-28
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

self это подразумеваемый экземпляр класса, в вашем коде ресторана

Офлайн

#3 Июль 13, 2017 18:00:58

work.Vladimir
Зарегистрирован: 2017-03-28
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Подредактировал ваш код, надеюсь так вам будет понятней, и от этого будет какой то толк

 class Restaurant:
    def __init__(self, restaurant_name, cuisine_type):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
    def describe_restaurant(self):
        print('{0} {1}'.format(self.restaurant_name, self.cuisine_type))
    def open_restaurant(self):
        print('{0} {1} {2}'.format('The restaurant', self.restaurant_name, 'open now'))
if __name__ == '__main__':
    kfc = Restaurant('kfc', 'Russia')
    kfc.describe_restaurant()
    kfc.open_restaurant()

Отредактировано work.Vladimir (Июль 13, 2017 18:08:34)

Офлайн

#4 Июль 13, 2017 18:32:39

korifa
Зарегистрирован: 2017-07-01
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

work.Vladimir
Подредактировал ваш код, надеюсь так вам будет понятней, и от этого будет какой то толк
спасибо

Офлайн

#5 Июль 17, 2017 03:45:26

ispylnev
Зарегистрирован: 2017-06-22
Сообщения: 12
Репутация: +  1  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Доброго времени суток.

Прошу помощи не могу найти информацию ,как передать кортеж из функций в метод

 __init__
в параметры .Для дальнейшего перебора этих функций в цикле в методе
 __iter__
Прошу ткнуть носом в документацию ,где такое действие описано.

Простой пример того ,что я хочу сделать :
 class Multifilter:
    def __init__(self,iterable,*funcs) 
        self.iterable = interable
        self.funcs = funcs # Что добавить сюда для передачи функций 
        def f1(x):
            return x%2 == 0 #Пусть будет две простых функции ,которые при делении вернут True,False
        def f2(x):
            return x%3 == 0

А в методе __inter__ обрабатывать функции например в цикле вот так:

 def __iter__(self):
"""Часть моего какого-то кода""" 
    for f in self.funcs: #Тут я бы хотел перебирать эти функции.


Прошу прощения если объяснил не внятно.

Отредактировано ispylnev (Июль 17, 2017 03:48:04)

Офлайн

#6 Июль 17, 2017 07:31:49

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Вопросы от новичков.

ispylnev
self.funcs = funcs # Что добавить сюда для передачи функций
 self.funcs = funcs +[f1,f2]
Это?



Офлайн

#7 Июль 17, 2017 08:07:39

ispylnev
Зарегистрирован: 2017-06-22
Сообщения: 12
Репутация: +  1  -
Профиль   Отправить e-mail  

Вопросы от новичков.

doza_and
Это?
Спасибо,я попробую так как Вы сказали.

Отредактировано ispylnev (Июль 17, 2017 08:08:19)

Офлайн

#8 Июль 17, 2017 08:38:09

korifa
Зарегистрирован: 2017-07-01
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

6 это значение по умолчанию?
class Die:
def __init__(self, sides):
self.sides = 6

При создании экземпляра в любом случаи надо указывать аргументы ?

Офлайн

#9 Июль 17, 2017 09:23:43

mifalkash
Зарегистрирован: 2017-07-17
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы от новичков.

добрый день.
сильне пинайте только учусь.
Есть запрос:
import re
res_bool = True
result =
keys = conn.enumKeys(r“HKUS”)
for key in keys:
if re.match('HKUS\\\\S-1-5-21-\d+-\d+-\d+-\d{3,}$', key):
res_key = conn.getValue(key + r“\Software\Policies\Microsoft\Windows\Control Panel\Desktop”,
верхняя часть ветки опрашивается нижняя не работает. Мне надо чтобы res_key выгрузил всю ветку так как доменную уз по этому пути не получается выгрузить (путь длиннее)
HKUS\S…..\Software\Microsoft\Windows\CurrentVersion\Group Policy Object\домен{SID}User\Software\Policies\Microsoft\Windows\Control Panel\Desktop далее ключи в реестре
Помогите выгрузить всю ветку в реестре

Офлайн

#10 Июль 17, 2017 09:53:07

ispylnev
Зарегистрирован: 2017-06-22
Сообщения: 12
Репутация: +  1  -
Профиль   Отправить e-mail  

Вопросы от новичков.

korifa
6 это значение по умолчанию?class Die: def __init__(self, sides): self.sides = 6При создании экземпляра в любом случаи надо указывать аргументы ?
Если Вам надо указывать значение по умолчанию ,то необходимо писать:
 class Die:
    def __init__(self,sides = 6)
        self.sides = sides #эта строка тогда не обязательна.Если вашим единственным значением будет 6 
В таком случае если при вызове класса не было задано аргументов ,то по умолчанию будет цифра 6

Отредактировано ispylnev (Июль 17, 2017 10:17:32)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version