As @mattpap commented the constants defined in core.numbers.py are considered as ```symbol```. Even ```degree(pi**2) = 2```. This makes sense when there is a function ```degree(sqrt(x)*pi)``` which is evaluated as ```1``` instead of ```1/2```. 
Note: Even the ```degree(sqrt(x))``` is evaluated to ```1``` instead of ```1/2```. I checked the above context after resolving the issue.