<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def scale(self):
 		"""The absolute scale of a pinch gesture, the scale is 		the division of the current distance between the fingers and 		the distance at the start of the gesture. 		The scale begins at 1.0, and if e.g. the fingers moved together by 		50% then the scale will become 0.5, if they move twice as far apart 		as initially the scale becomes 2.0, etc. 		For gesture events that are of type 		:attr:`~libinput.constant.EventType.GESTURE_PINCH_BEGIN`, this property 		returns 1.0. 		For gesture events that are of type 		:attr:`~libinput.constant.EventType.GESTURE_PINCH_END`, this property 		returns the scale value of the most recent 		:attr:`~libinput.constant.EventType.GESTURE_PINCH_UPDATE` event 		(if any) or 1.0 otherwise. 		For all other events this property raises :exc:`AttributeError`. 		Returns: 			float: The absolute scale of a pinch gesture. 		Raises: 			AttributeError 		"""


		if self.type not in {EventType.GESTURE_PINCH_BEGIN,
				EventType.GESTURE_PINCH_UPDATE, EventType.GESTURE_PINCH_END}:
			raise AttributeError(_wrong_prop.format(self.type))
		return self._libinput.libinput_event_gesture_get_scale(self._handle)