python数据类型
一、六大数据类型
1.number(数字)
2.string(字符串)
3.tuple(元组)
4.list(列表)
5.dict(字典)
6.set(集合)
可变数据类型:list, dict, set
不可变数据类型:num, str, tuple
二、number
三种不同数字类型
int类型:正整数,负整数
float类型:浮点型(2.5e2)
complex类型:可以使用a+bj或者complex(a, b),复数的实部和虚部都是浮点型
数据类型转换
int(x)
float(x)
complex(x) # 将x转化为复数,实部为x,虚部为0
complex(x, y) # 将x,y转化为一个复数,实部为x,虚部为y
常用的数学函数:
import math
print(abs(-1)) # 返回数字的绝对值
print(math.fabs(-1)) # 返回数字的浮点数绝对值
print(math.ceil(4.1)) # 返回数字的向上整数
print(math.floor(4.9)) # 返回数字的向下整数
print(max(1, 2, 4, 2.1)) # 返回给定参数的最大数
print(min(2, 2, 3)) # 返回给定参数的最小数
print(pow(3, 2)) # x**y运算后的值
print(round(2.123, 2)) # 返回2.123四舍五入后的值,如果n由指定值,则保留指定位
随机数函数
import random
from random import randrange, uniform, random
print(random.choice(range(10))) # 从序列元素中随机挑选一个整数
print(random.randrange(0, 9, 2)) # 指定范围,按照指定基数递增集合获取一个随机数
print(random()) # [0,1)中随机生成一个实数
list = [1, 2, 4, 3, 8]
random.shuffle(list) # 将序列数随机排序,没有返回值
print(list)
print(uniform(1, 2)) # 在(x, y)范围随机生成一个实数
三,字符串
python中使用单引号 ' ' 或者双引号" "括起来,使用反斜杠 \ 转义特殊字符
a = 'aaa111'
b = 'bbb222'
print(a + b)
print(a * 3)
print(a[0])
print(a[2:5]) # 左闭右开
print('a1' in a)
print('1a' in a)
print('1a' not in b)
print('b2' not in b)
# 字符串格式化输出
name = '小明'
age = 12
print('我的名字是:%s, 年龄是:%d' % (name, age))
print(f'我的名字是:{name}, 年龄是:{age}')
print('我的名字是:{}, 年龄是:{}'.format(name, age))
四,tuple(元组)
len() # 计算元组长度
+ # 连接
* # 复制
in # 判断元素是否存在
[] # 读取第几个元素
[ : ] # 元素切片
五,列表
列表是可变数据类型
a = [1, 2, 3, 4, 5]
a[0] = 9 # 通过列表下标修改列表
print(a)
a.append([8]) # 列表末尾追加
print(a)
del a[0] # 删除列表中指定值
print(a)
print(a.count(1)) # 统计元素在列表中出现的次数
print(a.index(2)) # 从列表中找出某个值第一个匹配项索引位置
a.insert(2, 1) # 将对象(1)在指定索引(2)位置插入
print(a)
print(a.pop()) # 移除列表中的一个元素,默认最后一个,并且返回该元素的值
print(a)
a.reverse() # 列表逆序
print(a)
a.sort() # 对列表进行排序
print(a)
a.clear() # 清空列表
print(a)
print(a.copy()) # 复制列表
六,字典
字典中key是唯一,value可以有多个,key必须是不可变数据类型(如字符串,数字),value可以是任意数据类型
dict通过key值来访问字典中value
遍历字典:
for k,v in dict.items:
print(k, v)
七,set(集合)
可以使用{}或者set()创建集合,但是创建空集合必须使用set()而不是{},因为{}是用来创建空字典的。set是一个无序的不重复元素序列,集合内的元素可以改变。
set1 = {'小明', 20, 20}
print(set1)
set2 = set('abcd')
print(set2)
set1.add('大学生')
print(set1)
set1.update([1, 2], [3, 4])
print(set1)
set1.remove('大学生')
print(set1)
for i in set1:
print(i, end=" ")
八,数据类型转换
int() 将float,bool,str数据类型转换为int类型,float类型转换为int类型,直接去掉小数,bool类型转换为int类型,True=1,False=0,str类型直接转换为int类型(注意:str类型转换为int类型,str只能是数字)。
bool() 将int类型转换为bool类型时,0=False,其他int类型值为True,float类型转换为bool类型时,0.0为False类型,其他为True类型,str类型转换为bool类型时不存在数据为False类型,存在为True类型。
float() int类型转换直接在末尾添加小数,bool类型True=1.0,False=0.0,str类型直接转换(str类型里面只能是数字)
str() 任何数据都可以直接转换为str类型
list() 将tuple,str,dict转换为list类型,dict类型转换为list类型时,list中存储的是dict的key值
tuple() 将list,str,dict转换为tuple类型,dict类型转换为tuple类型时, tuple中存储的时dict的key值
set() 将list,tuple,str转换为set类型,dict类型转换为set类型时,set中存储的dict的key值