python基础(1)-数据类型
作者:YXN-python 阅读量:87 发布日期:2022-10-01
1、标准数据类型
None
- None是一个特殊的常量
- None和False不同
- None不是0
- None不是空字符串
- None和任何其他的数据类型比较永远返回False
- None有自己的数据类型NoneType
- 你可以将None赋值给任何变量,但是你不能创建其他NoneType对象
None在语义上主要是为了判断:是否存在
数字类型 int/float/complex
与我们数学中的数字一样,有整数、小数与复数。在代码中有int、float和complex
- int 表示整数
- float 表示小数
- complex 表示复数
- 注意复数的虚部默认是 字母 j
代码:
# 整数 int
print( 123 )
# 浮点数 float (小数)
print(3.14)
# 复数 complex
print(5+2j)
布尔类型 bool
我们在现实生活中经常有一些情况,如硬币的正反两面,题目的对错,灯的开关,等 表示 是和否的情况,在编程中怎么表示呢?
- python 中布尔值使用常量True 和 False来表示
- 注意大小写是敏感的
- 我们在学数学的时候用的< > == 等返回的类型就是bool类型,后面课程里的比较运算符等返回的值就是bool类型
- 布尔类型通常 用来判断,在 条件语句中使用
代码:
# 布尔型 True 或 False
print(True)
print(False)
print( 2 > 10 )
print( 3==3.0 )
# 检验是否为布尔值
value = True
if isinstance(value, bool):
print("是布尔值")
else:
print("不是布尔值")
字符串类型 str
- 字符串,是由零个或多个字符组成的有限串行。在Python中可以使用单引号,也可以用双引号表示字符串 '窝窝头' “wowotou” 都是字符串
- 三个单引号或者双引号也可以表示字符串
代码:
# 字符串 str
# 被 英文 单引号,双引号,三引号 引起来的
print( 'abc' )
print( "我有一只小毛驴" )
print(
'''
窝窝头
一块钱4个
嘿嘿
'''
)
2、容器数据类型
2.1、列表 list
列表是最常用的Python数据类型,一个列表中可以存储多个不同类型的数据
两边是方括号 [ ] ,内部元素用 英文 逗号, 隔开 ,一般 会结合变量使用
语法: 变量名 = [1, 'aa', 变量, ...]
list的维度
# 假设 [ ] 是衣服 ,看最边缘 [] [[ ]] [[[]]]
# 1 维列表
list1 = [ 1 ]
# 2 维列表
list2 = [ [1,2,3] ,[4,5,6] ]
创建 list 的多种形式
# (1) 直接写
list1 = [1,2,3]
# (2) 使用 list( 字符串 ) ,可以构建 单字符列表
names = list('abc一二三')
# (3) 从一个其他类型的数据 构建 字符串组成的列表
# str.split('指定符号') 。会用 指定符号分割 str,得到列表
list4 = '张三-李四-王五-赵六'.split('-')
读取list
读取list 的语法: xxlist[索引] ,就可以取出 第 几 个值。但是不能超出范围,可以倒着数
list5 = [10,20,30,'a','b','张三',[7,8,9]]
# 取出 张三
print(list5[5])
list区间取值
xxlist[start:end:step]
从xxlist的 下标 start ,取到 end ,不包含结尾 ,默认step为1
xxlist[:end] ,从头取到 end
xxlist[start:] , 从 start 取到 结尾 ,包含最后一个
xxlist[:] ,从头到尾
xxlist[::step] step 正负决定 正着取 还是 倒着 取
list5 = [10,20,30,'a','b','张三',[7,8,9]]
# 取出前 4 个值
print(list5[0:4])
# 将 list5 倒序 打印
print( list5[::-1])
list增删改操作
--增加数据
语法1 : xxlist.append( obj ) 将obj追加到 xxlist的结尾
语法2 : xxlist.extend( iter ) ,将 iter 内的每个值,分别放到 xxlist 结尾;iter : 可迭代的 ,如 str list range()
语法3 : xxlist.insert(index, 值) ,将 值 增加到 xxlist 的index 位置
--更改数据
语法:xxlist[index] = 新值
--删除数据
1、del xxlist[index] 删除 xxlist 指定位置的数据
2、xxlist.pop( index ) 删除 指定位置的数据,如果不写index,默认删最后一个
3、xxlist.remove( obj ) 直接移除 指定的 obj
4、xxlist.clear( ) 清空内容
元组 tuple
元组是最常用的Python数据类型,与list类似,不同之处在于元组的元素不能修改,没有增 删 改操作, 只有查,查的语法与list一样
两边是圆括号 (),内部元素用 英文 逗号, 隔开 ,一般 会结合变量使用
语法: 变量名 = ( 1, 'aa', 变量, ...)
创建元组
tup1 = (1,2,3)
# 可以省略括号
tup2 = 4,5,6
# 如果元组内 只有一个数据,必须有 逗号,
tup3 = '哈哈',
字典 dict
Python的字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号 : 分割。每个对之间用逗号 , 分割。整个字典包括在花括号 { } 中 。
语法: 变量名 = {key1 : value1, key2 : value2 ,... }
- 键key 必须是唯一的,但值则不必。
- 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
查找方法
方法 | 说明 |
key值查找 | 如果当前查找的key存在,则返回对应的值,否则则报错 dict1['name'] |
get(key, 默认值) | 如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None dict1.get('name') |
keys() | 查找字典中所有的key,返回一个包含所有键的列表 dict1.keys() |
values() | 找字典中所有的value,返回一个包含所有值的列表 dict1.values() |
items() | 查找字典中所有的键值对,返回可迭代对象,里面的数据是元组,元组数据1是字典的key,元组数据2是字典key对应的值。 dict1.items() |
in关键字 | 判断一个键是否在字典中,如果在则返回True, if "name" in dict1: print("yes") |
pop() | 删除字典中指定键的键值对,并返回对应的值 dict1.pop("name") print(value) |
popitem() | 删除字典中的任意一个键值对,并返回对应的键值对,返回的是一个元组,元组的第一个元素是键,第二个元素是值。key, value = my_dict.popitem() print(key, value) |
# 创建字典
dict1 = {'name':'张三' , 'age':20 , 2:10 ,(10,20):['十','二十'] }
dict查增改删
--查字典
xxdict[key] 得到 key 对应的值 ,如果 key 不存在会报错
xxdict.get(key) 得到 key 对应的值,如果 key 不存在 得到 None
xxdict.get(key , 指定值 ) 得到 key 对应的值,如果 key 不存在 得到 指定的值
--增字典
xxdict['不存在的key'] = 新值
Adict.update( Bdict ) ,把另一个字典Bdict的值 都 更新到 Adict 中
--改字典
xxdict['存在的key'] = 新值
--删字典
因为 key 和 value 是对应的,所以 删除 key 即可删除值
del xxdict[key]
xxdict.pop( key ) 删除 指定的key
xxdict.clear( ) 清空内容
集合 set
集合的元素无次序,不可重复,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
语法: 变量名 = {key1 , value1, key2 , value2 }
创建集合
set1= {'a','b',1,2,3,3,2}
读取集合
集合 无序,不能用 下标index 读取
但是可以把集合 转为 list tuple 去 读取
可以用 循环 去遍历
for each in set1:
print(each)
计算
准备 x y 两个集合
交集 & : x&y,返回一个新的集合,包括同时在集合 x 和y中的共同元素。
并集 | : x|y,返回一个新的集合,包括集合 x 和 y 中所有元素。
差集 - : x-y,返回一个新的集合,包括在集合 x 中但不在集合 y 中的元素。
补集 ^ : x^y,返回一个新的集合,包括集合 x 和 y 的非共同元素。
YXN-python
2022-10-01