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:

a = 'c' type(a) 

Output:

class 'str' 
3

3 Answers

No.

Python does not have a character or char type. All single characters are strings with length one.

1

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 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.

5

There is a bytes type which may be analogous depending on why you are asking.

>>> b'a' => b'a' 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy