当我检查数据类型时,我想知道为什么char值作为字符串类型返回。
请参阅我的输入和输出。
输入:
a = 'c'
type(a)
输出:
class 'str'
答案 0 :(得分:1)
没有
Python没有字符或char
类型。所有单个字符都是长度为1的字符串。
答案 1 :(得分:0)
答案 2 :(得分:0)
根据您的要求,有bytes type可能类似。
>>> b'a'
=> b'a'
https://docs.python.org/3/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit
答案 3 :(得分:0)
Python中没有built-in类型的字符,有int
,str
和bytes
。如果您打算使用字符,则可以使用长度为1的str
。
请注意,Python是弱类型和动态类型的,因此您无需声明变量的类型。
您使用引号'
,双引号"
和三引号"""
创建的所有字符串均为字符串(unicode):
type("x")
str
调用built-in函数type
时,它返回一个type
对象,代表您的变量类型:
type(type("x"))
type
整数和字符确实具有映射功能(编码),本地清醒映射是ASCII,请参见chr
和ord
内置函数。
type(123)
int
type(chr(65))
str
type(ord("x"))
int
如果必须处理默认字符集中不可用的特殊字符,则必须考虑编码:
x = "é".encode()
b'\xc3\xa9'
该函数进行编码,将字符串转换为字节并可以解码回去:
x.decode()
'é'
方法encode
和decode
分别属于对象str
和bytes
。