Python的六种标准类型
程序存储数据是需要变量,变量的值可以通过变量名访问的,而变量在内部是有类型的。
Python是弱类型语言,不需要声明变量类型。
Python变量必须要赋值,只有赋值变量才会被创建。
1、数值型
Python的数值类型只有Int整型和Float浮点型
整型
整型是没有小数点的数字。包括负整数、0、正整数
书写形式
>>> my_int=1
>>> type(my_int)
<class 'int'>
浮点型
浮点型是有小数点的数字,需注意,两个数做除法,结果一定是浮点型。
书写形式
#十进制的浮点数
>>> my_float=1.0
>>> type(my_float)
<class 'float'>
#指数型的浮点数,底数无论是整数还是浮点数,生成的结果都是浮点数
>>> my_float=20E5
>>> my_float
2000000.0
精确运算浮点数
>>> 10/3
3.3333333333333335
>>> from decimal import Decimal
>>> Decimal(10)/Decimal(3)
Decimal('3.333333333333333333333333333')
2、字符串
若干字符的集合就是字符串,用来表示英文、中文等等文字
Python默认的字符编码1是UTF-8
短字符串
书写形式
>>> my_shortStr='哈哈' #单引号
>>> my_shortStr="哈哈" #双引号
长字符串
书写形式
>>> my_longStr="""
我
喜
欢
"""
>>> print(my_longStr)
我
喜
欢
原字符串
由于转义符2的存在,字符会失去原本的意义,Python用r’'保持字符原本意义。
字符串含有遇到 \ 转义符号,请使用原字符号
书写形式
C:\Users\Admin\Desktop\笔记
>>> my_str='C:\Users\Admin\Desktop\笔记'
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
>>> my_str=r'C:\Users\Admin\Desktop\笔记'
换行字符串
书写形式
>>> my_lineStr="呦呦呦"\
"haha"
>>> my_lineStr #\+换行连接两个字符串
'呦呦呦haha'
>>> my_lineStr="哟哟\
哈哈哈"
>>> my_lineStr #\+换行连接一个字符串
'哟哟哈哈哈'
>>> my_num = 1 + \
2
>>> my_num # \+换行连接表达式,\前面必须是运算符
3
3、Bytes
字节串和字符串很相似,字符串的方法,字节串都使用。
两者区别:1、字节串是以字节为单位,字符串是根据编码方案决定的,如是UTF-8,那么就是可变长的单位
2、字节串只是简单记录内存的原始数据。而字符串是默认使用Unicode字符集编码存储对应的编号,读取时又自动把编号转换成字符串显示出来。当然字符串把可以编号存在字节串中,但是读取字节串时,需要手动指定解码,不是自动了。
书写形式
#这里演示字符串转换成字节串,也就是把字符串编码存储在字节串
>>> my_bytes=b'http://www.baidu.com' # 字符串是ASCII字符集里的,直接用b''
>>> my_bytes = b'I是谁' # 字符串中存在不是ASCII字符集的,用b''报错
SyntaxError: bytes can only contain ASCII literal characters.
>>> print('读取单个字符%s;读取整个字符串%s' %(my_bytes[0:1],my_bytes[:] ))
读取单个字符b'h';读取整个字符串b'http://www.baidu.com'
#UTF-8编号存储在Bytes字节串中
>>> my_bytes = bytes('I是谁'.encode(‘UTF-8’))
>>> print(my_bytes.decode('utf-8‘))
I是谁
3、列表
4、元组
5、Set集合
6、字典
- 字符编码的作用是如何把字符编号存储到计算机中,Python使用的是UTF-8变长的编码方案。 另外,UTF-8编码使用的是Unicode字符集(字符集定义了字符和二进制的对应关系,为每个字符分配了唯一的编号),因为Unicode字符集编码方案有UTF-8、UTF-16、UTF-32三种。 ↩︎
- 用编号间接表示字符的转义符,字符是属于ASCII字符集。例如最大的八进制\077表示?,十六进制\x64表示@。另外,ASCII字符集127个字符,用八进制无法表达完,\0代表八进制,后面只允许两位数。
但是,为了方便记忆,使用了特殊字符代表了常用的转义符。例如\n 换行符、\r 回车符、\t 水平制表符、’ 单引号、" 双引号等 ↩︎