您现在的位置是:网站首页 > 博客日记 >

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