数据类型
-
整型------------int:正负数、0
浮点型---------float:小数
复数------------complex:如4+3j
布尔------------bool:表示逻辑:真/假,非零即True -
字符串string,有任意数量字符组成
列表list, 有序的可变序列
元组tuple, 有序不可变的序列
集合set, 无序不重复集
字典dict, 无序的key-value集合
可变的(不可哈希):list,dict,set
不可变(可哈希):str,bool,int,tuple
-
运算符:+、-、*、/、
**:乘方
//:整除,取商的整数部分
%:取余,取余数
-
转义字符\
字符串格式化:
占位符拼接
name = 'tony' age = 18 job = 'student' msg = '''我叫%s,今年%d,是一个%s''' % (name,age,job) print(msg) -------输出------------ # 我叫tony,今年18,是一个student
精度控制
m.n:m为宽度,n为小数点精度,会四舍五入
a = 19 b = 3 # 五位的整数宽度 print('a/b=%5d'%(a/b)) # 一共五位,有两位小数 print('a/b=%5.2f'%(a/b)) # 只保留两位小数 print('a/b=%.2f'%(a/b)) -------输出------------ a/b= 6 a/b= 6.33 a/b=6.33
-
类型转换:
int、bool、str
# int ---> bool
i = 100
print(bool(i)) # True # 非零即True
i1 = 0
print(bool(i1)) # False 零即False
# bool ---> int
t = True
print(int(t)) # 1 True --> 1
t = False
print(int(t)) # 0 False --> 0
# int ---> str
i1 = 100
print(str(i1)) # '100'
# str ---> int # 全部由数字组成的字符串才可以转化成数字
s1 = '90'
print(int(s1)) # 90
# str ---> bool
s1 = 'Yuuka'
s2 = ''
print(bool(s1)) # True 非空即True
print(bool(s2)) # False
# bool ---> str
t1 = True
print(str(True)) # 'True'
str list 两者转换
# str ---> list
s1 = 'Hayase Yuuka Noa'
print(s1.split()) # ['Hayase', 'Yuuka', 'Noa']
# list ---> str # 前提 list 里面所有的元素必须是字符串类型才可以
l1 = ['Hayase', 'Yuuka', 'Noa']
print(' '.join(l1)) # 'Hayase Yuuka Noa'
list set 两者转换
# list ---> set
s1 = [1, 2, 3]
print(set(s1)) # {1, 2, 3}
# set ---> list
set1 = {1, 2, 3, 3,}
print(list(set1)) # [1, 2, 3]
str bytes 两者转换
# str ---> bytes
s1 = 'Yuuka'
print(s1.encode('utf-8')) # b'Yuuka'
s2 = '优香'
print(s2.encode('utf-8')) # b'\xe4\xbc\x98\xe9\xa6\x99'
# bytes ---> str
b = b'\xe4\xbc\x98\xe9\xa6\x99'
print(b.decode('utf-8')) # '优香'
所有数据都可以转化成bool值
# 转化成bool值为False的数据类型有:
# '', 0, (), {}, [], set(), None # 这些都是False,非空即True
按存储空间的占用分:
数字
字符串
集合:无序;无序存储索引相关信息
元组:有序;需要存储索引相关信息,不可变
列表:有序;需要存索引相关信息,可变,需要处理数据的增删改
字典:有序;需要存储key与value映射的相关信息,可变,需要处理数据的增删改(3.6版本之后有序)
按存储值个数分
标量/原子类型 | 数字、字符串 |
---|---|
容器类型 | 列表、元组、字典 |
按可变/不可变区分
可变 | 列表、字典 |
---|---|
不可变 | 数字、字符串、元组、布尔值 |
按访问顺序区分
直接访问 | 数字 |
---|---|
顺序访问(序列类型) | 字符串、列表、元组 |
key值访问(映射类型) | 字典 |