<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_axis_value(self, axis):
 		"""Return the axis value of the given axis. 		The interpretation of the value depends on the axis. For the two 		scrolling axes :attr:`~libinput.constant.PointerAxis.SCROLL_VERTICAL` 		and :attr:`~libinput.constant.PointerAxis.SCROLL_HORIZONTAL`, the value 		of the event is in relative scroll units, with the positive direction 		being down or right, respectively. For the interpretation of the value, 		see :attr:`axis_source`. 		If :meth:`has_axis` returns False for an axis, this method returns 0 		for that axis. 		For pointer events that are not of type 		:attr:`~libinput.constant.Event.POINTER_AXIS`, this method raises 		:exc:`AttributeError`. 		Args: 			axis (~libinput.constant.PointerAxis):
 The axis who's value to get. 		Returns: 			float: The axis value of this event. 		Raises: 			AttributeError 		"""


		if self.type != EventType.POINTER_AXIS:
			raise AttributeError(_wrong_meth.format(self.type))
		return self._libinput.libinput_event_pointer_get_axis_value(
			self._handle, axis)