2014-11-23 3 views
0

나는 OOP 파이썬에서 초보자 그리고 난 그냥 싶어이 알고 :다른 파일에 클래스/모듈 정의를 전달하는 방법을

file.py입니다 :

class Card(): 

    def __init__(self, rank, suit): 
     """Initialization method""" 
     self.rank = rank 
     self.suit = suit 

    def get_rank(self): 
     """Function get_rank returns a rank (value) of the card""" 
     return self.rank 

I을

card1 = Card(10,"Diamond") 
card1.get_rank() 

을하지만 어떻게 만들 수 있습니다 및 다른 파일에서 개체를 전달합니다 싶어 생성하고이 파일의 기능 "get_rank"에 대한 개체를 전달, 나는이 작업을 수행 할 수 있습니까? test_file.py이라는 또 다른 파일이 테스트 파일 (py.test)입니다. 따라서 file.py은 코드 전용입니다. test_file.pyfile.py에 전달되는 매개 변수 (변수 및 개체)를 나타냅니다. 에서 test_file.py 또한 "expected_result"변수가 올바른 결과입니다. 그런 다음 "py.test"(bash)를 사용하면 결과가 맞는지 아닌지를 보여줍니다. 어떤 조언을 감사

def test(): 
    text = 'abcdefgh' 

이 도와주세요 :) : abs.py :

def split_text(text): - code -

test_abs.py

나는이 아닌 OOP 예제를 이해

+1

파이썬에서는 불필요한 접근자가 눈살을 찌푸리게됩니다. 이것들은 Java 관용구입니다. get_rank와 같은 함수는 필요 없습니다. 'card1.rank'를 사용하고, 평범하지 않은 접근 자 기능이 필요하다면 그것을 속성으로 만드십시오. – user3426575

+0

[Python 표준 규칙] (http://stackoverflow.com/questions/5978557/association-between-naming-classes-and-naming-their-files-in-python-convention) 권장 사항 : 파일에 * Card * 클래스 (및/또는 데크, 핸드 등)를 호출하려면 * card.py *라고 부릅니다. @HaiVu가 말한 것처럼 file.py라고 절대로하지 마십시오. – smci

+0

더 이상 "file.py"를 사용하지 않도록 유의하겠습니다. :) –

답변

2

,: 그런데

from file import Card 

... 
card1 = Card(10, "Diamond") 
# Do something with it 

, 당신의 파일 file.py 이름을하지 않습니다 file는 내장 된 기능입니다.

+0

그래,이 작품, 고마워 :) 나는 더 이상 "file.py"를 사용하지 않도록 명심 할 것이다. –

관련 문제