Introduction
Objectives:
- Learn how to create a Python package
Note
This exercise mostly just involves copying files on the file system. There shouldn't be a lot of coding.
Objectives:
Note
This exercise mostly just involves copying files on the file system. There shouldn't be a lot of coding.
In previous exercises, you created the following files that were related to type-checked structures, reading data, and making tables:
structure.py
validate.py
reader.py
tableformat.py
Your task is to take all of these files and move them into a package called structly
. To do that, follow these steps:
structly
__init__.py
and put it in the structly
directorystructure.py
, validate.py
, reader.py
, and tableformat.py
into the structly
directory.structure
module depends on validate
).Once you've done that, modify the stock.py
program so that it looks exactly like this and that it works:
## stock.py
from structly.structure import Structure
class Stock(Structure):
name = String()
shares = PositiveInteger()
price = PositiveFloat()
@property
def cost(self):
return self.shares * self.price
def sell(self, nshares: PositiveInteger):
self.shares -= nshares
if __name__ == '__main__':
from structly.reader import read_csv_as_instances
from structly.tableformat import create_formatter, print_table
portfolio = read_csv_as_instances('portfolio.csv', Stock)
formatter = create_formatter('text')
print_table(portfolio, ['name','shares','price'], formatter)
Congratulations! You have completed the Create a Python Package lab. You can practice more labs in LabEx to improve your skills.