Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите создать класс, Не получается напечатать переменную 
:(
    Опции темы
HellanD
Дата 31.8.2006, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 443
Регистрация: 16.5.2006
Где: Киев

Репутация: 1
Всего: 2




Вот код:
Код

import os
class EvilSideOfTheForce:
    OutError=1
    Inputs=''
        def printer(self):
             print 'Hello'+OutError

Alf=EvilSideOfTheForce()
Alf.Inputs=10
Alf.printer()


Надо чтоб напечаталась переменная OutError а он мне пишет что глобальная переменная OutError не задана!
Вот так :
    print 'Hello'+OutError
NameError: global name 'OutError' is not defined

И вообще проясните мне картину правильно ли задан класс? Переменные OutError=1 и  Inputs=''
члены класа.



--------------------
Мой сайт на django
Japanese Innovations
PM ICQ   Вверх
slav0nic
Дата 31.8.2006, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 17.5.2006

Репутация: 4
Всего: 5



print self.OutError

Добавлено @ 15:43 
и не print 'Hello'+OutError, а  print 'Hello'+str(self.OutError)
--------------------
                                 python.com.ua 
PM MAIL WWW Jabber   Вверх
pythonwin
Дата 31.8.2006, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Код

import os
class EvilSideOfTheForce:
    OutError=1
    Inputs=''
    def printer(self):
        print 'Hello'+str(self.OutError)
Alf=EvilSideOfTheForce()
Alf.Inputs=10
Alf.printer()


вот так должно работать. smile

Добавлено @ 15:56 
Код

import os
class EvilSideOfTheForce:
    OutError=1
    Inputs=''
    def __init__(self, kw):
        for k in kw.items(): setattr(self, k[0], k[1])
    def printer(self):
        print 'Hello'+str(self.OutError)
Alf=EvilSideOfTheForce(Inputs=10, OutError=2)
Alf.printer()


А вот так наверное лучше будет. smile
PM WWW GTalk Jabber   Вверх
HellanD
Дата 31.8.2006, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 443
Регистрация: 16.5.2006
Где: Киев

Репутация: 1
Всего: 2



Посмотри плиз такое:
Код

import os
class EvilSideOfTheForce:
    OutError=''
    Input=''
    def showMeStandPuts(self,imp):
        self.OutError,self.Input=os.popen4(imp)
        
    def printer(self):
        print 'OutPut and Error : '+self.OutError +'\n '
   
Alf.showMeStandPuts('uname')
Alf.printer()


 Такая (def showMeStandPuts(self,imp)smile пишет про ошибку с параметрами
И еще зачем нужен self?? єто как в С this??Для того что б обьект мог внутри себя задать переменные?


--------------------
Мой сайт на django
Japanese Innovations
PM ICQ   Вверх
pythonwin
Дата 31.8.2006, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Код

import os
class EvilSideOfTheForce:
    OutError=''
    Input=''
    def showMeStandPuts(self,imp):
        self.OutError,self.Input=os.popen4(imp)
    def printer(self):
        print 'OutPut and Error : '+str(self.OutError) +'\n '
Alf=EvilSideOfTheForce()
Alf.showMeStandPuts('uname')
Alf.printer()


HellanD, немного изменил - теперь работает! smile

Добавлено @ 16:28 
Цитата(HellanD @  31.8.2006,  23:12 Найти цитируемый пост)
И еще зачем нужен self?? єто как в С this??Для того что б обьект мог внутри себя задать переменные? 

ДА! smile
PM WWW GTalk Jabber   Вверх
HellanD
Дата 31.8.2006, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 443
Регистрация: 16.5.2006
Где: Киев

Репутация: 1
Всего: 2



Мне он пишет
TypeError: showMeStandPuts() takes exactly 1 argument (2 given)

Добавлено @ 16:41 
Или ну вот хотя б такое:
Код

import os
class EvilSideOfTheForce:
    OutError=''
    Input=''
    def showMeStandPuts(self,arg):
        print arg
        
Alf.showMeStandPuts('Lodka')





--------------------
Мой сайт на django
Japanese Innovations
PM ICQ   Вверх
pythonwin
Дата 1.9.2006, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(HellanD @  31.8.2006,  23:32 Найти цитируемый пост)
Мне он пишет
TypeError: showMeStandPuts() takes exactly 1 argument (2 given)

а на какую строку он "ругается"?
PM WWW GTalk Jabber   Вверх
albertn
Дата 1.9.2006, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



У тебя еще код не полностью записан. Запиши его полностью, может быть ошибка станет более понятной.
PM WWW ICQ   Вверх
pythonwin
Дата 1.9.2006, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Код

>>> import os
>>> 
>>> class EvilSideOfTheForce:
    OutError=''
    Input=''
    def showMeStandPuts(self,arg):
        print arg

        
>>> Alf=EvilSideOfTheForce()
>>> Alf.showMeStandPuts('Lodka')
Lodka
>>> 


или 
Код

import os
class EvilSideOfTheForce:
    OutError=''
    Input=''
    def showMeStandPuts(self,arg):
        print arg
print EvilSideOfTheForce().showMeStandPuts('Lodka')


IMHO, что ты не определяешь 
Код
Alf=EvilSideOfTheForce()
, и поэтому метод не видит self smile
PM WWW GTalk Jabber   Вверх
HellanD
Дата 1.9.2006, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 443
Регистрация: 16.5.2006
Где: Киев

Репутация: 1
Всего: 2



Помогите плиз..
Я перехожу на питон с С++
Там было так:

class XXX{
private:
variables...
public:
functions....
};

Напишите мне тут как изменится структура (по мануалам не очень ясно...)
Мне нада чтоб в классе были переменные и желательно чтоб был конструктор который бы их заполнял
И еще про self
Что єто такое.... и с чем его есть :-) Мы что к любым переменным в классе должны обброащатся self DOT ???
Спасибо за ответ

Цитата

Python 
1:

 Alf=EvilSideOfTheForce()

 
 

, и поэтому метод не видит self  


Так и было :-) Я его стер нечайно....:-(!!!!!!


--------------------
Мой сайт на django
Japanese Innovations
PM ICQ   Вверх
pythonwin
Дата 1.9.2006, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



пример у меня работает:
Код

import os
class EvilSideOfTheForce:
    OutError=''
    Input=''
    def showMeStandPuts(self,arg):
        print arg
print EvilSideOfTheForce().showMeStandPuts('Lodka')



PM WWW GTalk Jabber   Вверх
HellanD
Дата 1.9.2006, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 443
Регистрация: 16.5.2006
Где: Киев

Репутация: 1
Всего: 2



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

Добавлено @ 10:00 
Будет ли такое работать?
Вот код
Код

import os
class PKI:
    def __init__(self,arg):
        self.Input,self.outWitErrors=os.popen4(arg)
        self.INP=Input.read()
        self.OUT=outWitErrors.read()
      


x=PKI('uname....')

    



--------------------
Мой сайт на django
Japanese Innovations
PM ICQ   Вверх
pythonwin
Дата 1.9.2006, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Код

import os
class EvilSideOfTheForce:
    OutError=1
    Inputs=''
    def __init__(self, kw):
        for k in kw.items(): setattr(self, k[0], k[1])
    def printer(self):
        print 'Hello'+str(self.OutError)
Alf=EvilSideOfTheForce(Inputs=10, OutError=2)
Alf.printer()

PM WWW GTalk Jabber   Вверх
pythonwin
Дата 1.9.2006, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



HellanD, у тебя ошибка вот здесь:

Код

        self.Input,self.outWitErrors=os.popen4(arg)
        self.INP=Input.read()


Цитата


Traceback (most recent call last):
  File "<pyshell#47>", line 1, in ?
    x=PKI('uname....')
  File "<pyshell#46>", line 8, in __init__
    self.INP=self.Input.read()
IOError: [Errno 9] Bad file descriptor


PM WWW GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1115 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.