【python】python基础--数据类型


简单总结下这些基础的输人、输出、数据类型等等,具体的还是要在平时练习中多多练习

一、变量

变量就是内存地址的名字

格式:变量名=值

用完也可把变量删除

name={} # 变量初始化
name="小王"
print(name) # 输出名字
del(name) # 删除变量
print(name) # 现在打印这行就会报错,因为变量已经被删了

二、输入、输出

输入:input()
输出:print()

标识符命名规则:
由数字、字母、下划线组成
不能数字开头
不能使用内置关键字
严格区分大小写

三、数据类型

在这里插入图片描述

1、数字和运算符

数字:整数 int、浮点数float、复数complex

a=2
b=3.3
c=1+2j
print(type(a)) # 使用type获取数据类型
print(type(b))
print(type(c))

运行如下:
在这里插入图片描述
运算符

  • 算数运算符 + - * / % **(幂) //(取整)
a=5
b=2
print(a+b,a-b,a*b,a/b) #7 3 10 2.5
print(a%b) # 1
print(b**5) # 25次方 print(b*b*b*b*b*b)  结果为32
print(a//b) # 2
  • 复合运算符 : += 、-= 、*= 、 /= 、%= 、**= 、 //=
  • 赋值运算符 两个’= ='用来判断相等
c=2
d=3
print(c==d) # 输出 False
print(c>=d) # 输出 False
print(c<d)  # 输出True
print(c!=d) # 输出 True
  • 位运算符 :%、 & 、|

2、字符串

可以用单引号、双引号或三引号来创建字符串

2.1字符串运算

  • 字符串连接
  • 字符串重复
  • 获取字符串中的字符:用索引(下标)
str1="你真的是一个傻子噢。"
str2="你才是!"
#字符串连接
print(str1+str2) # 你真的是一个傻子噢。你才是!
# 字符串重复
print(str2+str2+str2) # 你才是!你才是!你才是!
print(str2*5) #输出5次: 你才是!你才是!你才是!你才是!你才是!
 获取字符串中的字符:
print(str1[6]) # 傻
  • 截取字符串

1、截取字符串 范围为 [) ,str[start:end]就是在str中 截取第start到第end之间
2、start/end自己定义索引为多少,
3、start不写默认为0,end不写默认为最后
4、支持复索引,最后一个为-1,依次向前是-2,-3…

str="abcdefg"
start=2
end=5
print(str[start:end])  # cde
print(str[:end])  # abcde
print(str[start:]) # cdefg
print(str[start:-1]) # cdef

2.2格式化字符串

这样麻烦,而且必须是同一类型才可
# age='15'
# sex='男'
# print("我"+age+"性别"+sex) 

格式化

age=15
sex='男'
print("我%d,性别%s" %(age,sex)) # %(age,sex)如果是一个参数写不写都ok

2.3 转义字符串

\ ’ ‘’ \n \t(制表符,就是tab键)
注:引号前面加r说明里面的字符不做转义字符

age=15
sex='男'
print("我%d\n性别%s" %(age,sex))
print(r"我%d\n性别%s" %(age,sex))

运行截图如下:
在这里插入图片描述

3、列表

列表是一个有序序列,序列中的每个元素都分配一个数字(位置,索引),可以用[],{}创建列表可直接将序列放在list()中
具体操作举栗子:

# 创建列表
l1={1,2,3,4}
l2=[5,6,7,8]
l3=list('123445678')
l4=list("12345678")
l5=list("你好8")
# 打印
print(l1,l2)
print(l4)
print("l3[4]=",l3[4])
print('l5[2]=',l5[2]) #用索引访问列表中元素
print('l4[0]~l4[4]=',l4[0:4]) #截取
# 通过索引修改
l4[0]='asdfg' 
print(l4)
del(l4[7]) # 删除
print(l4)

运行结果:
在这里插入图片描述
常用方法:

方法含义
append追加
extend扩展
insert插入
pop弹出(列表中相当于数据结构中删除堆顶元素)
remove移除指定的元素
clear清空
index查询索引
reverse反转
sort排序

eg:

l1=[1,2,3]
l2=[7,8,9]
l1.append(4)
print(l1) # [1, 2, 3, 4]
l1.append(l2)
print(l1) # [1, 2, 3, 4, [7, 8, 9]]
l1.extend(l2)
print(l1) # [1, 2, 3, 4, 7, 8, 9]
l1.pop() #相当于数据结构中删除堆顶元素
print(l1) # [1, 2, 3, 4, [7, 8, 9], 7, 8]

4、元祖

元祖与列表类似,用()来创建元祖,可以直接将序列放在tuple()中

t1=(1,2,3,4)
t2=tuple("7890")
print(t1) # (1, 2, 3, 4)
print(t2) # ('7', '8', '9', '0')
print(t1[0]) # 1 # 访问元祖中的数据

元祖常用操作与列表基本相同,但元祖中的元素不能被修改和删除,而列表可以
元祖常用方法:与列表相似

方法含义
len获取长度
max获取元祖中最大值
min获取元祖最小值

元祖与列表的转化

l1=[1,2,3,4]
t3=tuple(l1)
print(t3) # 列表转元祖:(1, 2, 3, 4)
l2=list(t3)
print(l2) # 元祖转列表:[1, 2, 3, 4]

5、字典

是一种可变容器模型,可存储任意类型对象
以键值对存储数据key-value形式,在{}中

  • 创建、访问数据(根据key访问)
# 创建
d={'name': '小王', 'age' : '18' , 'sex' : '女'} # 注意格式
print(d)  # {'name': '小王', 'age': '18', 'sex': '女'}
# 访问
print(d['name'])  # 小王
print(d.get('name'))  # 小王

注:
用get访问,如果key不存在,会返回None(空)
用[]访问,key必须是存在的,如果不存在程序运行异常

方法含义
keys获取所有的key
values获取所有值
pop根据键弹出
popitem弹出最后一组键值对
update键值对
clear清除数据
  • 获取key、value、键值对
#获取所有的key
print(d.keys())  # 打印:dict_keys(['name', 'age', 'sex'])
#获取所有的value
print(d.values())  # 打印:dict_values(['小王', '18', '女'])
#获取所有键值对
print(d.items())  # 打印:dict_items([('name', '小王'), ('age', '18'), ('sex', '女')])
  • 添加、修改、删除、pop、popitem操作

pop 打印出key对应的value后,字典中的key-value也被删除
popitem是打印最后一个key-value值,然后key-value被删除

# 添加
d['school']='西安' 
print(d)  # {'name': '小王', 'age': '18', 'sex': '女', 'school': '西安'}
# 修改
d['name']='李'
print(d)  # {'name': '李', 'age': '18', 'sex': '女', 'school': '西安'}
# 删除
del d['age']
print(d) # {'name': '李', 'sex': '女', 'school': '西安'}
# pop 打印出key对应的value后,字典中的key-value也被删除
#popitem是打印最后一个key-value值,然后key-value被删除
print(d.pop('name')) # 李
print(d) # {'age': '18', 'sex': '女'}
print(d.popitem()) # ('school', '西安')
print(d) # { 'sex': '女'}

注:
key是不能修改不能重复的,它与value是一个映射关系,所以key存在就是修改操作,不存在就是添加操作,那刚刚前面提到过的列表与元祖,元祖就可以作为key,因为它的元素不能被修改和删除,如果列表作为key就间接修改了key,则会报错

6、集合

用来存储一个无序不重复的元素序列,标识符为{},中间元素用 , 隔开

  • 创建
s={"123","456","789"} #创建
print(s)  #打印顺序不一定,因为他是无序的
s2=set("abcd") # 创建
print(s2)
####################################################
s3=set() # 可创建空的
print(s3)
s4=set("12341234") # 里面有重复的元素
print(s4)

  • 可创建空的
  • 如果创建的时候集合中元素重复,那打印生成时就没有重复元素了
    集合之间的操作

差集 - (分前后)、 交集 & 、并集 |

方法含义
add添加元素
remove移除指定的元素
pop随机移除元素
union返回两个集合的并集
difference返回两个集合的差集
intersection返回集合的交集
symmetric_difference返回两个集合中不重复元素的集合

如果添加的元素存在了,不会报错,但元素也不会被加进来

7、布尔与空值

空值:通常作为默认值或占位值来使用

a=None
print(a)  # None

布尔:存一个真(True)或假(False)的数值
布尔值转换:

  • 布尔值可以转换为int、str
  • 空值、int、str、list、tuple、dict、set可以转换为布尔
  • 字符串为空字符串(什么内容也没有)时,转换为布尔值为False

补充
逻辑运算符:逻辑与、或、非: and or not

b1=True
b2=not b1
print(b2)  # False
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值