Picking up on Jesse's excellent answer, here is a way that you can get an evaluable expression and not just a character. (With just a character you may have trouble using it in Input expressions.)
Define a PartialFunction expression:
PartialFunction::usage =
"PartialFunction[x,y] displays as a function with a partial function notation.";
Then define a MakeBoxes for it:
MakeBoxes[PartialFunction[x_, y_],
form : StandardForm | TraditionalForm] :=
InterpretationBox[#1, #2] & @@ {RowBox[{MakeBoxes[x, form],
MakeBoxes[
Style[Overlay[{"\[EmptyCircle]", "\[LongRightArrow]"},
Alignment -> Center], ShowStringCharacters -> False], form],
MakeBoxes[y, form]}], PartialFunction[x, y]}
Now evaluate and also look at the full form.
PartialFunction[X, Y]
% // FullForm
This can be copied and pasted. And you can actually get some evaluable expressions using Rule programming. Here's my attempt at the square root as a function of the positive integers.
f = PartialFunction[{x, x \[Element] Integers && NonNegative[x]},
ConditionalExpression[Sqrt[x], Sqrt[x] \[Element] Integers]]
f /. x -> 4
f /. x -> 3
f /. x -> \[Pi]
One could probably do better as a way of notation, but I'm not up to it.