When I am checking with data types I wonder why a char value is returning as string type.
Please see my input and output.
Input:
<
There is a bytes type which may be analogous depending on why you are asking.
>>> b'a'
=> b'a'
https://docs.python.org/3/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit
No.
Python does not have a character or char type. All single characters are strings with length one.
There is no built-in type for character in Python, there are int, str and bytes. If you intend to user character, you just can go with str of length 1.
Note that Python is weakly and dynamically typed, you do not need to declare type of your variables.
All string you create using quote ', double quote " and triple quote """ are string (unicode):
type("x")
str
When invoking built-in function type, it returns a type object representing the type of your variable:
type(type("x"))
type
Integer and character do have mapping function (encoding), natively the sober map is ASCII, see chr and ord builti-in functions.
type(123)
int
type(chr(65))
str
type(ord("x"))
int
If you must handle special characters that are not available in default charset, you will have to consider encoding:
x = "é".encode()
b'\xc3\xa9'
The function encode, convert your sting into bytes and can be decoded back:
x.decode()
'é'
Method encode and decode belongs respectively to object str and bytes.