数据类型相关:不可变数据类型:数字 字符串 元组
可变数据类型:列表 list 字典 set
数字
1.基本数据类型:int 、boolean 与 数据类型的查看
# 数字:小数 整数 布尔类型
# type(值):查看数据类型
inta=1
print(inta,type(inta))
# bool true :1 false:0
print(True==1)
print(False==0)
print(True==0)
2.基本运算
# + - * /浮点除 //整数除(即取整) %取余数 **乘方
a=10
b=3
longa=6920738047705376469
print(longa%32)
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a//b)
print(a%b)
print(a**b)
3.比较大小
# 比较大小 == != >= <= < >
print(a+b!=a-b)
4.赋值运算
# 赋值运算 += -= *= /=
# a+=b 即a=a+b
a=10
b=3
a+=b
print(a)
a-=b
print(a)
5.数据类型转换
# 数据类型转换 int float eg: float(变量名)
# c 本是浮点型,转成整数类型
c=1.0
print(int(c),type(int(c)))
6.向上 向下取整
# 向上取整ceil 向下取整floor
# 先导包
import math
d=2.34
print(math.ceil(d))
print(math.floor(d))
7.随机数 random
# 随机数 random
import random
# random.random 0-1的随机数
print(random.random())
# 指定范围随机
print(random.randint(10,30))
字符串
1.什么是字符串
# 字符串 用单引号 双引号 三引号 括起来的都是字符串
e='2'
print(e,type(e))
2.字符串切片
# 字符串切片
# 字符串 abcd123456 取12345
# 列表 l=['Tom','Catty','Jane']
# 语法: str[开始值:结束值:步长] 步长(方向/间隔):-1:从右往左数 1:从左往右数(不写默认1) 左闭右开
str00='test123456abc'
# 第0位是t 第9位是6
print(str00[4:10:1])
# 取出abc
print(str00[10:13:1])
# 取从第10位到最后
print(str00[10:])
# 从右边开始第一位是-1
print(str00[-1:-4:-1])
print(str00[-3:])
print(str00[-3:13])
3.反转
# 反转
str00='test123456abc'
print(str00[::-1])
4.间隔取数:
# 间隔取数 隔一个取一个
print(str00[::2])
print(str00[1:10:2])
运行结果(3-4)
5.字符串拼接
# 字符串 拼接 用+ 只能是字符串与字符串之间
# 字符串 复制 *2
name='Tony'
age='18'
print(name+' is '+age)
print(name*2)
元组
1. 什么是元组
# 元组 tuple
tup1=('Tony',1,2,3,['age','name','height'],{"name":"Tom"})
print(tup1)
2.注意点
# 元组如果只有1个则要家一个逗号,不然打印出来就不是元组了
tup2=('Mary',)
tup3=('Mary')
print(tup2,type(tup2))
print(tup3,type(tup3))
3.元组的取数
# 元组取数 取出Tom 跟 Tony 跟切片一样
tup4=('Tom','Jane','Tony','May')
print(tup4[0:3:2])
print(tup4[0:-1:2])
4.元组的增 删
增:
# 元组是不可变数据类型,(不可往里面添加数据,不可删除单个数据,不然就会变成另外的元组不是原来那个) # eg:tup5对应的两个id是不一样的,既存的是不一样的2个
tup5=('Tom','Jane')
print(tup5,id(tup5))
tup6=('Tony',)
tup5=tup5+tup6
print(tup5,id(tup5))
删:
# 删除,只能整删
tup7=('Tom','Jane','Tony')
del tup7
print(tup7)
即删完就没了
list 列表
1.列表
# list 列表
list1=[1,2,'tony','May',{"age":18},[3,4]]
print(list1,type(list1))
# 取出数据 'tony','May
print(list1[2:4])
# 下标越界 list index out of range
print(list1[7])
2.列表的增 删 改
增
# 列表进行增删改
# 添加:append 在末尾加,传的是对象; insert(2,元素) 指定位置添加; extend在末尾添加,传的是一个#个数据
# 添加之后还是同样的id,还是原来那个位置
list2=['Tom','Jane','Tonny']
print(list2,id(list2))
list2.append('Mary')
print(list2,id(list2))
# 指定位置插入
list2.insert(0,'Han')
print(list2,id(list2))
# extend 一个一个传进去
list2.extend('May')
print(list2,id(list2))
改
# 修改
list3=['Tom','Jane','Tonny']
list3[1]='Jenny'
print(list3)
删
pop:
# 删除
# pop(下标) 索引删除 不带下标,删除最后一个
list4=['Tom','Jane','Tonny','May']
list4.pop(1)
print(list4)
list4.pop()
print(list4.pop())
remove:
# remove
print(list4.remove('Tom'))
print(list4)
del:
# del: del list4 --删除所有
del list4[1:]
print(list4)
3.升降序
# 升降序
list5=['a','c','d','b']
# sort 升序
list5.sort()
print(list5)
list5.reverse()
print(list5)
# # 默认不反转
list5.sort(reverse=True)
print(list5)