어떤 자가 _init_ 못하며창조된 켜짐이 파이썬?

39 m, 파이썬 프로그래밍 언어 및 학습 i& I& # 39, ve, 내가 뭐 잘못 온 구현하므로 don& # 39 완전히 이해할 수 없다.

다음과 같은 방식으로

def method(self, blah):
    def __init__(?):
        ....
    ....

'무엇을' 자체 책임질래? 무슨 병인데요 데 목적을 두고 있는 것이다. 그것은 필수?

'방법' 는 무엇을 init 책임질래? 필요한 이유는? (etc.)

Oop 구성되어 있을 수 있지만, 내가 모르는 것 같아 무척 don& # 39.

이 코드:

class A(object):
    def __init__(self):
        self.x = 'Hello'

    def method_a(self, foo):
        print self.x + ' ' + foo

. 이 '자가' 가변으로 seabreeze 인스턴스입니다 객체에는 할 수 있다. 대부분의 객체 지향 언어들은 이것을 전달하십시오 숨겨진 매개 변수를 메서드을 객체에 대한 정의. 파이썬 언약보다는 선언할 수 있어 it 명시적으로. 'A' 클래스와 인스턴스를 만들 때 그 방법, 정보기술 (it) 과 같이 자동으로 호출하십시오 무너지게 된다.

a = A()               # We do not pass any argument to the __init__ method
a.method_a('Sailor!') # We only pass a single argument

이 방법은 '에서' init 대략적으로 제이보드 구성자를 파이썬. 전화를 걸 때 ' ()' 는 파이썬 객체를 만든 당신꺼에요 전달하며 '를' 로 첫 번째 매개변수에서 init 메서드입니다. 추가로 매개변수입니다 (예를 들어, 'A (24, & # 39, Hello& # 39;)') 로 인해 또 전송될 수 있기 때문에 이 경우 예외를 에 인수 뚜르산을 isn& 구성자를 검색되어야 저들이요 t # 39.

해설 (3)

그래, 그래, oop 그것은꿈의 구성되어 있습니다.

'"는 구성자를 init 클래스에 대한. 이 '자가' 매개변수입니다 인스턴스입니다 객체에는 (like '이' c++에서)) 는 다음을 가리킨다.

class Point:
    def __init__(self, x, y):
        self._x = x
        self._y = y

이 때 '가' 라는 방법을 init 객체인지 메모리 할당.

x = Point(1,2)

사용하는 것이 중요하다 '는' 자체 내의 매개변수입니다 object& # 39 의 방법을 통해 가치를 옛일에 하려면 객체에는. 예를 들어, 다음과 같은 '방법' init 구현할 수 있는 경우

class Point:
    def __init__(self, x, y):
        _x = x
        _y = y

네 'x' 와 'y' 의 init 매개 변수 약간만이라도 저장됩니까 스태킹하고 약간만이라도 폐기됩니다 메서드입니다 댁이라면 때 아웃해야 내시경이요 이러한 변수로 설정 '와' 그 '세트' self._x self._y com/go/4e6b330a_kr 멤버로 '점' 객체 (object) 의 수명이 다할 때까지 액세스할 수 있습니다).

해설 (1)

간단한 설명 (예:

39 의 기대 속에 작은 차이가 나는 것이 도움이 됩니다 here& 간단한 예를 차이점에 대한 이해를 돕기 위해 사용된 변수 선언 및 변수, 클래스 내에 '' 기능을 init 내의 선언했다.

"'파이썬 클래스가 MyClass (객체): i = 123 데프 init (self): 345 셀프자이 =

a = MyClass () 보기인쇄 (앨리) 보기인쇄 (마이클레스트리) "' 출력: "' 345 123 "'

해설 (2)

한 마디로.

  1. ' () 은 자체' 라는 - 자체를 그대로 제안됩니다 디스크입니다. diskid 객체에는 메서드입니다. 즉, 'N' 은 이 같은 방법은 다음 셀프리아 호출하십시오 객체에는 경우 별도의 인스턴스에서는 각 변수에 ᄂ씨 객체에는) 는 다음과 같은 뜻이 있다. 각 객체의 변수 N 'a' 복제본입니다 상상해 보십시오.
  2. '는' init 다른 어떤 호출됨 비호환성의 구성자를 OOP 같은 언어를 C++/Java. 기본 아이디어는 특별한 것은 해당 클래스의 객체가 자동으로 생성됩니다 불렀으매 원하는거요 방법
해설 (0)

'에서' init act like a 구성자를. # 39, ll 전달해야 하는 &quot you& self"; 모든 클래스에 대한 첫 번째 인수로 스케쳐내 기능을 동작할 수 있도록 비정적 메서드을 있다. &quot self"; 클래스에 대한 인스턴스 변수는 있다.

해설 (1)

이 코드 (try out). 이를 통해 수많은 C 나 같은 프로그래머가 Py 배울 수 있다.

#! /usr/bin/python2

class Person:

    '''Doc - Inside Class '''

    def __init__(self, name):
        '''Doc - __init__ Constructor'''
        self.n_name = name        

    def show(self, n1, n2):
        '''Doc - Inside Show'''
        print self.n_name
        print 'Sum = ', (n1 + n2)

    def __del__(self):
        print 'Destructor Deleting object - ', self.n_name

p=Person('Jay')
p.show(2, 3)
print p.__doc__
print p.__init__.__doc__
print p.show.__doc__

출력:

'제이'

'합' = 5

'클래스' Doc - 인사이드라면

init 구성자를 'Doc -'

'쇼' Doc - 인사이드라면

소멸자 삭제에서 객체에는 제이 '-'

해설 (3)

이거 제 손으로 오네스탠딩 데 어려움을 겪었습니다. 읽은 후 여기에 대답을 했다.

제대로 이해할 수 없어 '방법' init 자체 파악해야 합니다.

  • 자체 매개변수입니다 *

'이' 이 인수만 수락됨 init 방법은 다음과 같습니다.

def __init__(self, arg1, arg2):

하지만 실제로 통과시킬 우리는 단지 두 개의 인수.

instance = OurClass('arg1', 'arg2')

여기서 는 추가 인수 come from?

우리는 그렇게 할 때 우리는 객체의 속성뿐만 액세스하면 이름으로 (또는 참조별로). 여기에 대한 참조입니다 우리의 새 인스턴스를 객체. 우리는 이 방법을 사용하여 인스턴스입니다 객체에는 린스턴스.프린다리스트 프린다리스 액세스하십시오

개체 내에서 속성에 '방법' init 액세스하려면 객체에 대한 참조가 필요하다.

  • 주요 참조입니다 메서드입니다 호출됨 때마다, 항상 microphone. 이 첫 번째 argument 로 전달된 객체인지 데이터베이스에구성원을 메서드을 자체 규칙에 따라 첫 번째 argument.* 있습니다.

즉, 우리가 할 수 있는 방법을 init '에서'.

self.arg1 = arg1
self.arg2 = arg2
  • 여기서 우리는 이 다음과 같이 설정을 속성뿐 object.* 에서 확인할 수 있습니다.
instance = OurClass('arg1', 'arg2')
print instance.arg1
arg1

이렇게 객체 속성 값을) 으로 알려져 있다. 여기서 '' 메서드 및 속성 instance. arg2 init arg1 설정합니다.

출처: http://www.voidspace.org.uk/python/articles/OOP.shtml # init 방법

해설 (0)
    • 지원 클래스용 객체에는 두 종류의 작업: 속성용 참조이고 인스턴스
    • 사용되는 구문을 사용하여 모든 속성 속성 참조입니다 파이썬 표준 참조. obj.name. 유효함 속성 이름은 있던 클래스의 이름공간이 클래스의 경우 모든 이름이 만들어졌다. 따라서 이 클래스 정의의 같았다.
class MyClass:
    """A simple example class"""
    i = 12345

    def f(self):
        return 'hello world'

귀국 후 '정수' 이 '와' 니클라스 s.프 마이클레스트리 유효함 속성용 참조입니다 함수 객체 위에 각각 올랐다. 클래스 속성 값을 변경할 수 있도록 할 수 있다 '' 에 의해 할당된 마이클레스트리 할당에서는. '도' doc 유효한 속성용 닥슬링 되돌릴 속한 클래스: 간단한 예를 class&quot ";).

  • 클래스 인스턴스 * 는 함수 표기법. 그냥 치라구요 작업자쪽에서 클래스 객체는 클래스의 인스턴스를 새로 반환하는 함수를 파라메트리스. 예를 들면 다음과 같습니다.
x = MyClass()
  • 가 인스턴스 * 작업 ("calling" a class 객체에는) 는 빈 객체에는. 같은 많은 클래스뿐만 만드시겠습니까 객체에는 인스턴스들도 사용자정의된 특정 초기 상태. 따라서 다음과 같은 특별한 방법을 init () ',' 라는 클래스를 정의할 수 있습니다.
def __init__(self):
    self.data = []

클래스 메서드를 호출할 때 ' ()', '클래스 인스턴스 init 정한다 ()' 를 새로 작성한 클래스를 자동으로 init 인스턴스입니다. 그러므로 이 예에서, 새로운 초기화되었습니다 인스턴스입니다 얻을 수 있습니다.

x = MyClass()

물론 ' ()' 방법을 init 인수만 유연성을 높이기 위해 할 수 있다. 이 경우, 주어진 클래스 인스턴스 () '에' init 인수만 작동자 전달됩니다. 예를 들어,

class Complex:
    def __init__(self, realpart, imagpart):
        self.r = realpart
        self.i = imagpart

x = Complex(3.0, -4.5)
x.r, x.i

문서용으로 에서 볼 수 있는 공식 나를 가장 귀의하매.

이것은 내 예

class Bill():
    def __init__(self,apples,figs,dates):
        self.apples = apples
        self.figs = figs
        self.dates = dates
        self.bill = apples + figs + dates
        print ("Buy",self.apples,"apples", self.figs,"figs 
                and",self.dates,"dates. 
                Total fruitty bill is",self.bill," pieces of fruit :)")

클래스의 인스턴스를 만들 때 요금:

purchase = Bill(5,6,7)

다음을 얻을 수 있습니다.

> Buy 5 apples 6 figs and 7 dates. Total fruitty bill is 18  pieces of
> fruit :)
해설 (0)

참고로 '자가' 이 될 수 있는 유효한 파이썬 식별자입니다. 예를 들어, 크리스 B& # 39 에서 쉽게 쓰기, 우리가 할 수 있는 것처럼, s 예:

class A(object):
    def __init__(foo):
        foo.x = 'Hello'

    def method_a(bar, foo):
        print bar.x + ' ' + foo

또한 똑같은 협력할 것이라고 말했다. 그러나 다른 피토너스 더 쉽게 사용할 수 있기 때문에 그것을 알게되고 자체 것이 좋습니다.

해설 (1)

, '1.' 는 기본적으로 하는 것, /&quot activate&quot initialize&quot &quot init 함수, 특정 객체에 대한 생성된 클래스, 속성 및 일치됨 해당 클래스.

    • '자가' 되는 것을 보여주는 객체에는 상속됩니다 그 속성을. 2.
해설 (1)

39, & # 39 self& 기본적으로 를 사용해야 합니다. 키워드 내에서 여러 가지 기능을 변수로 사용하는 경우 같은 클래스. # 39 을 넣다 기본값과 설정하는 데 대해서도 init it&, s, 해당 클래스 내에서 다른 어떤 기능을) 이라고 부른다.

해설 (2)

39, & # 39 는 self&. 대한 참조입니다 클래스 인스턴스

class foo:
    def bar(self):
            print "hi"

이제 인스턴스입니다 만들 수 있으며, 자체 파라메트가 foo 및 security. 방법을 통해 추가된 Python 이 경우:

f = foo()
f.bar()

하지만 통과될 수 있도록 할 수 있는 경우 메서드 호출 isn& 뿐만 아니라, t # 39 의 맥락에서, 아래 코드는 높여줍니까 클래스의 인스턴스를 같은 것입니다.

f = foo()
foo.bar(f)

39, & # 39 self& 변수 이름을 가장 많았다. 단순히 발생원인. 아래 정의마다 똑같은 것입니다. 이러한 점을 고려하면 이는 매우 강력한 어떤 규칙을 따라야 한다고 말하고 있지만, 항상 않니다 유연한 성격에 대한 언어

class foo:
    def bar(s):
            print "hi"
해설 (3)

그냥 데모 질문.

class MyClass:

    def __init__(self):
        print('__init__ is the constructor for a class')

    def __del__(self):
        print('__del__ is the destructor for a class')

    def __enter__(self):
        print('__enter__ is for context manager')
        return self

    def __exit__(self, exc_type, exc_value, traceback):
        print('__exit__ is for context manager')

    def greeting(self):
        print('hello python')

if __name__ == '__main__':
    with MyClass() as mycls:
        mycls.greeting()
$ python3 class.objects_instantiation.py
__init__ is the constructor for a class
__enter__ is for context manager
hello python
__exit__ is for context manager
__del__ is the destructor for a class
해설 (0)

이 코드:

class Cat:
    def __init__(self, name):
        self.name = name
    def info(self):
        print 'I am a cat and I am called', self.name

Here 'init 클래스의 객체가 인스턴스화되지 구성자를' 역할을 하는 이 함수가 호출될 때. '자가' 는 인스턴스화하며 객체에는.

c = Cat('Kitty')
c.info()

그 결과 위의 명령문입니다 다음과 같이 됩니다.

I am a cat and I am called Kitty
해설 (0)

&gt. 자체 무엇을 책임질래? 스크램블된 건 어떤 느낌일까? 것은 필수?

첫 번째 초기화 인수를 포함한 모든 클래스 메서드를 현재 클래스의 인스턴스를 참조입니다 항상 , . 이 인수는 규칙에 따라 항상 release. '자가'. Init 방법을 '자가' 는 새로 만들어진 객체에는. 그 방법, 이 용어는 다른 클래스 인스턴스 메소드) 라고 불렸다.

파이썬 , , , t # 39 doesn& 인력용 &quot self&quo 사용에 대한 있습니다. 모든 원하는 이름을 부여할 수 있습니다. 그러나 첫 번째 인수에 대한 참조입니다 객체에는 방식으로 정의마다 너희에게베풀어진 *. 파이썬 추가하므로 '자가' 인수 목록 당신꺼에요. 이 때 메서드을 전화하시기 추가할 필요가 없습니다.

39 의 init 메서드로부터 didn& 경우, t 는 자체 오류 메시지가 나타날 수 있습니다 다음

TypeError: __init___() takes no arguments (1 given)

&gt. 어떤 방법을 산아래의 init 책임질래? 필요한 이유는? (etc.)

'초기화' 는 파선-짧은 초기화하려면. 컴포지션이 구성자를 얻을 수 있는 불렀으매 클래스의 인스턴스를 만들 때 필요한 것은 및 . 하지만 일반적으로 쓰는 것이 우리의 기본 init 설정하는 방법은 이 객체의 상태. 처음에 그런 의지가 있지 않으면 모든 객체의 상태를 설정되었습니다 don& # 39, 이 방법을 쓸 필요가 없다.

해설 (0)
# Source: Class and Instance Variables
# https://docs.python.org/2/tutorial/classes.html#class-and-instance-variables

class MyClass(object):
    # class variable
    my_CLS_var = 10

    # sets "init'ial" state to objects/instances, use self argument
    def __init__(self):
        # self usage => instance variable (per object)
        self.my_OBJ_var = 15

        # also possible, class name is used => init class variable
        MyClass.my_CLS_var = 20

def run_example_func():
    # PRINTS    10    (class variable)
    print MyClass.my_CLS_var

    # executes __init__ for obj1 instance
    # NOTE: __init__ changes class variable above
    obj1 = MyClass()

    # PRINTS    15    (instance variable)
    print obj1.my_OBJ_var

    # PRINTS    20    (class variable, changed value)
    print MyClass.my_CLS_var

run_example_func()
해설 (0)

&gt. # 파이썬 'init' 와 '자가' what do they do? &gt. &gt. '무엇을' 자체 책임질래? 무슨 병인데요 데 목적을 두고 있는 것이다. 그것은 필수? &gt. &gt. '방법' 는 무엇을 init 책임질래? 필요한 이유는? (etc.)

예를 들어 이를 바탕으로 올바른 만들 때, 그러니까 나한테 올바르지 않습니다.

class SomeObject(object):

    def __init__(self, blah):
        self.blah = blah

    def method(self):
        return self.blah 

',' 를 만들 때 우리는 인스턴스입니다 객체에는 init 호출됨 사용자정의하기 객체 생성 후. 즉, # 39, & # 39 blah& 섬로비치 때 우리들은 '' 을 (를) ',' 아래 (어떤 것이든 될 수 있는) ',', 'it gets 함수를 전달된 init 인수로 블라':

an_object = SomeObject('blah')

이 주장은 '자체' 를 '' 에서 '섬로비치 인스턴스입니다 배정됩니다 an_object'.

나중에 이 개체의 메서드입니다 호출하십시오 우리가 할 수 있습니다.

an_object.method()

즉, '수' 를 수행하는 점선 조회 기능, 인스턴스입니다 an_object.method 바인딩됩니다 인스턴스입니다 및 방법 (위) 로 불리는) 은 지금 &quot bound"; 우리는 이 방법 - 즉 않아도 통과를 명시적으로 인스턴스 메소드 호출이 그것이다.

이 형식의 인스턴스 메소드 호출 가져옵니다 전송되었기 때문에 바인딩되지 조회, 호출될 때 관심용 있는모든 실행하므로 코드 전송되었기 프로그래밍되었습니다 진행하십시오.

셀프 (self) '' 지 '' 암시적 인수 호출됨 규칙에 따라. 우리는 다른 이름을 사용할 수 있는 가능성이 다른 Python 프로그래머, tar 및 파이썬 법적고지 확장하지만 확보하십시오 의해 페더링됨 변경하십시오 경우 something else.

'init' 는 특별한 방법을 [나와 파이썬 데이터 모델 문서용으로] [1]. 그 직후 만들어진 호출됨 인스턴스입니다 (일반적으로 통해 'new' - '불변' 필요하지 않는 경우에는 비록 new 하위 클래스화 데이터 형식).

[1]: https://docs.python.org/3/reference/datamodel.html # object.init

해설 (0)

여기서 로리랑 기록되었으므로 꽤 잘 단순하다. https://www.jeffknupp.com/blog/2014/06/18/improve-your-python-python-classes-and-object-oriented-programming/

이 때문에 읽기 위 링크를 참조.

&gt. '자가'? 그래서 what& # 39 에 있는 모든 고객이 자체 매개변수입니다 &gt. 방법? What is it? 왜, it& # 39 의 인스턴스, 그럼요! 다른 동일팔레트에 &gt. 같은 방법으로 메서드입니다 eventtest 방법에 대해 회수 회수 &gt. 일부 추상 customer& 돈을 # 39 에 계정. 호출하십시오 &gt. 제프리위스트로 (100.0) 는 해당 명령을 사용할 수 있는 제프 &gt. 인스턴스입니다. &gt. &gt. 우리가 말하고 외면하였나니 데프 회수 (자체, 금액), re: # 39 라고 here& # 39 의 어떻게 we& &quot. &gt. 고객 돈을 회수하지 너회들 객체에는 디스크입니다. we& # 39, ll call self) 와 &gt. 달러 그림 (디스크입니다. we& # 39, ll call 금액). self 는 이 인스턴스입니다 &gt. 고객 철회를 촉구하고 있는 중입니다. # 39 that& s not me 있다. &gt. 유익한, 중 하나. 이제 막 제프리위스트로 (100.0) 의 대표 &gt. 완벽하게 유효함 (자주 있지 않은 경우, 이는 쿠스토메리위스트로 (jeff, 100.0) &gt. 본) 코드. &gt. &gt. 쉽게 이해할 수 있지만, 다른 방법에 대한 자체 과민반을을 init init 어때? 이 때, 우리들은 init we& # 39, re in 만드는 과정을 객체에는 미확인범은 어떻게 될 수 있는데, 이미 자체? 파이썬 확장할 수 있게 &gt. 자체 패턴을 객체가 아니라, 비록 구축도 &gt. # 39 이 doesn&, t 정확히요 적합합니다. 제프 = 고객 (& # 39, 제프 것을 상상해 보라 &gt. # 39 1000.0 knupp&,) 는 제프 (jeff, & # 39, 제프 동일합니까 호출하십시오 = 고객 &gt. # 39, knupp& 1000.0); # 39 의 제프 that& 전달된, s 는 베지로프도 결과. &gt. &gt. 이 때문에, 우리는 하나님이 매입옵션 init 말해 객체에는 초기화하지 &gt. self.name = 같은 이름. 이후, self 는 인스턴스입니다 너희에게베풀어진 &gt. 이 같은 것 같습니다, 이는 (jeff.name) = name &gt. jeff.name = & # 39, 제프 크누프. 마찬가지로, 셀프리발런스 = 밸런싱할 동일합니다. &gt. 제프리발런스 = 1000.0 있다. 이후, 이 두 줄을 고려하면 &gt. 고객 객체에는 initialized&quot "; 그리고 바로 사용할 수 있게 됩니다. &gt. &gt. Init 너희는너희가 '조심' &gt. &gt. 그 후 수 있는 init 끝났을 요청자에게 하여금 solaris. &gt. 객체인지 바로 사용할 수 있습니다. 즉, 고객 (& # 39, 제프 Knupp& # 39, 이후 제프 = &gt. 우리가 요구하는 1000.0), 제프, 배치 및 회수 시작할 수 있다. 제프는 완전 초기화되었습니다 객체에는.

해설 (0)