2014-07-07 7 views
-3

저는 Python을 처음 접했고 C# 배경에서 왔습니다. 저는 파이썬에 관한 책을 읽었으며 클래스는 파이썬에서 객체라는 성명서를 읽었습니다. 나는 그것이 온라인 일 때 답을 찾지 못해서 사실인지 아닌지 잘 모르겠습니다. 누군가 설명해 주시겠습니까? 너무Python 객체 지향 구조

그리고 사람도 정교 수있는이가 왜 그런 기능, 모듈, 클래스 등

프로그램 단위 파이썬 객체 : 여기

은 작가가 말하는의 의역이다 C#에서와 마찬가지로 대소 문자가 클래스에서 파생됩니다. 자동차는 클래스와 혼다처럼 Mercedes는 그 클래스의 객체입니다. 하지만 내가 읽고있는 Python 클래스에서 보이는 것입니다. 그래서 자동차는 대상이며 혼다와 메르세데스도 목표물이므로 수업의 장점은 무엇입니까? 하나의 작업을 할 수있는,

class Frabbah: 
    """ 
    A soothing class, designed to ease tensions on StackOverflow. 
    """ 

한 다음 일을 가지고, 또는 개체 :

--> print(Frabbah) 
<class '__main__.Frabbah'> 

하나가에 속성을 추가 할 수 있습니다 하나는 파이썬에서 클래스를 생성

+3

예, 사실입니다. 파이썬의 모든 것은 하나의 객체입니다. 나는 자바와 C++이 같은 방식으로 일을하지 않는다면 귀도가 특히 신경 쓰지 않는다고 생각한다. – geoffspear

+3

이 질문은 충분히 명확하고 답할 수 있기 때문에 다시 투표하기로 결정했습니다. 이 교차 언어 혼동을 해결하면 다른 사람들에게 도움이 될 수 있습니다. –

+0

@StevenRumbalski 어떻게 대답 할 수 있습니까? 구현을 논의 할 때 "이점이 있습니까?"라는 단일 선택 가능한 대답이 있습니까? 너무 넓다는 것을 나에게 나타내는 정답이 많습니다. – ABMagil

답변

3

: 다음

--> Frabbah.answer = 'Interesting...' 

그들을 찾아 :

--> print(Frabbah.answer) 
Interesting... 

거의 모든 것이 파이썬에서 일종의 일류 시민입니다. 즉, 이러한 것들을 전달하고, 검사하고, 수정하는 등의 일을 의미합니다. 그래서 객체로서의 정수, 클래스는 객체, 함수는 객체입니다 ...

+0

감사합니다. 하지만 당신이 다른 언어에서 오는 사람들을 이해할 수있을 때, 나는 혼란 스럽다. (슈퍼 세트) 객체를 가질 때 모든 것이 파생 된 것이다. 클래스가 필요 없다는 것을 의미한다. (서브셋) 객체를 사용할 수있다. 해당 객체는 속성 및 기능을 가질 수 있습니다. 왜냐하면 여기에는 그 클래스에서 객체를 파생시키는 것보다 객체에서 클래스를 파생시키는 것보다 객체가 있기 때문입니다. ??? – Shah

+0

'goto'도 같은 목적으로 사용되기 때문에 루프가 필요 없습니다. 더 높은 수준의 언어가 있기 때문에 어떤 것을 더 쉽게 만들 수 있습니다.이 또는 그 구조가 절대적으로 필요하기 때문이 아닙니다. 'object'와 그 인스턴스에 관해서 - 그들은 내장 된'dict'을 가지고 있지 않다는 점에서 특별합니다, 그래서 당신은 그들에게 물건을 추가 할 수 없습니다, 당신은 서브 클래스를 만들 필요가 있습니다. –

+0

그래서 객체는 클래스 시스템의 모든 이점을 얻기 위해 클래스의 일부가되어야하는 속성과 함수를 직접 가질 수 없습니다. 권리? – Shah