Я новичок в ООП Python, и я просто хочу знать это:Как передать определение класса/модуля в другой файл
Это 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
Когда я хочу создать и передать объект в функцию «get_rank» в этом файле, я могу это сделать:
card1 = Card(10,"Diamond")
card1.get_rank()
Но как я могу создать и передать объект в другом файле? Существует еще один файл с именем test_file.py, это тестовый файл (py.test). Таким образом, file.py предназначен только для кода, test_file.py представляет параметры (переменные и объекты), которые передаются в file.py. В test_file.py также является переменным «expected_result» с правильным результатом. Затем, когда я использую «py.test» (bash), он показывает мне, если результат правильный или нет.
Я понимаю, это не-ООП пример: abs.py:
def split_text(text): - code -
test_abs.py:
def test():
text = 'abcdefgh'
Пожалуйста, помогите, спасибо за любые советы :)
В Python необоснованные аксессоры недовольны. Это идиома Java - просто нет необходимости в такой функции, как 'get_rank'. Используйте 'card1.rank' и делайте это свойство, если вам когда-либо понадобится нетривиальная функция доступа. – user3426575
[Стандартное соглашение Python] (http://stackoverflow.com/questions/5978557/association-between-naming-classes-and-naming-their-files-in-python-convention) рекомендует: поскольку ваш файл определяет * Card * class (и/или Deck, Hand и т. д.), назовите его * card.py *. Никогда не называйте его file.py, как говорит @HaiVu. – smci
Я буду иметь в виду не использовать «file.py» больше. :) –