For testing I used jirashell (python-jira 1.0.10), JIRA 6.3.11, JIRA 7.2.3, JIRA AGILE REST API v1.0. I ran following code in jirashell:
dir(jira.sprints(jira.boards()[0].id)[0])
It prints all methods and attributes of the sprint object:
['AGILE_BASE_REST_PATH',
'AGILE_BASE_URL',
'AGILE_EXPERIMENTAL_REST_PATH',
'GREENHOPPER_REST_PATH',
'JIRA_BASE_URL',
'_READABLE_IDS',
'__class__',
'__delattr__',
'__dict__',
'__doc__',
'__format__',
'__getattr__',
'__getattribute__',
'__hash__',
'__init__',
'__module__',
'__new__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__setattr__',
'__sizeof__',
'__str__',
'__subclasshook__',
'__weakref__',
'_base_url',
'_default_headers',
'_get_url',
'_load',
'_options',
'_parse_raw',
'_resource',
'_session',
'delete',
'find',
'id',
'linkedPagesCount',
'name',
'raw',
'self',
'sequence',
'state',
'update']
As you can see, the list does not contain startDate or endDate attributes. Nevertheless, quick googling for sprint startDate and endDate properties via JIRA REST API showed that API DOES support such properties. But it turned out that python-jira uses old version of JIRA AGILE REST API. For example, when I run jira.sprints(jira.boards()[0].id)[0].self, I get https://[JIRA_URL]/rest/greenhopper/1.0/sprint/[ID] as a result (not agile/1.0 as mentioned in the answer where API supports startDate and endDate properties). Also python-jira throws a message Old private GreenHopper API is used, all parameters will be ignored.
So, I assume it is not possible to get startDate and endDate using python-jira due to old version of the JIRA AGILE API that it uses.