Python 방법(一)-류의 내부 방법
클래스(Class) 및 인스턴스(Instance)
“ ”
,
, , ;
super class OldDog():
def __init__(self):
print('I am an old dog !')
self.hungry = True
def eat(self):
if self.hungry:
print('I eat it !')
self.hungry = False
else:
print('No thanks!')
class NewDog(OldDog):
def __init__(self):
super().__init__()
print('I am a new dog!')
olddog = OldDog()
olddog.eat()
olddog.eat()
newdog = NewDog()
newdog.eat()
newdog.eat()
, 。 __init__ , __init__, __init__ , __init__
repr
“ ”
,
, , ;
class OldDog():
def __init__(self):
print('I am an old dog !')
self.hungry = True
def eat(self):
if self.hungry:
print('I eat it !')
self.hungry = False
else:
print('No thanks!')
class NewDog(OldDog):
def __init__(self):
super().__init__()
print('I am a new dog!')
olddog = OldDog()
olddog.eat()
olddog.eat()
newdog = NewDog()
newdog.eat()
newdog.eat()
, 。 __init__ , __init__, __init__ , __init__
repr
class MyClass() :
def __str__(self) :
return " MyClass "
def __repr__(self) :
return " print "
a=MyClass()
>>> print(a)
MyClass
>>> a
print
flask json
https://www.v2ex.com/t/195379
new__、__init__、__call __new__: , , cls。( , self, , self)
__init__ : , , self。
__call__ : call, ,
, 。 __new__, __init__。
__new__: , , cls。( , self, , self)
__init__ : , , self。
__call__ : call, ,
, 。 __new__, __init__。
class Bar(object):
pass
class Foo(object):
def __new__(cls, *args, **kwargs):
return Bar()
print Foo()
Bar
class Person(object):
"""Silly Person"""
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return '' % (self.name, self.age)
if __name__ == '__main__':
piglei = Person('piglei', 24)
print piglei
__init__ 。 __init__ 。
Persion(name, age) , __new__ 。
__call__(slef, [,*args [,**kwargs]]) , x , , x(arg1, arg2...) x.__call__(self, arg1, arg2) 。 (functor) (proxy).
class Foo(object):
def __call__(self):
pass
f = Foo()# Foo call
f()# f call
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.