Python From Zero to Hero(二)- Data Type(Part B)

“Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。”

一、Python 的数据类型

Python 列表

什么是列表

  • 列表是一种队列
  • 列表是各种数据类型的集合,也是一种数据类型
  • 列表是一种有序,内容可重复的集合

Python中 list 就表示列表数据类型,list也是内置的列表函数,list列表存在与[]中,并且列表是一种无限制长度的数据结构

image.png

列表中可以存放各种数据类型,包括空类型None,也可以嵌套列表

in、max、min内置函数

  • in可以判断一个元素是否存在于列表中,返回bool值
  • max获取列表中最大元素,列表中的元素不能是多类型,如果类型不一致会报错
  • min获取列表中最小元素,列表中的元素不能是多类型,如果类型不一致会报错

list 代码练习

none_list = [None, None, None]

print(none_list)
print(bool(none_list))
print(len(none_list))

# 空列表
print([])
print(len([]))
print(bool([]))
复制代码

image.png

# in 运算符的使用
str_list = ['Python', 'JAVA', 'PHP', 'Go']

is_exist = 'Python' in str_list
print(is_exist)
is_exist = 'HTML' in str_list
print(is_exist)

# max、min 函数使用
num_list = [1, 4, 7, 0, 10]
print(max(num_list))
print(min(num_list))
复制代码

image.png

# 混合类型列表使用min、max
mix_list = [1, 'stark', [3, 5]]
print(min(mix_list))
print(max(mix_list))
复制代码

image.png 列表中元素不一致,使用min、max函数会报错

Python 元组

元组与列表一样都是一种存储多种数据结构的队列,元组也是有序的可以存储重复元素的队列。

在Python中使用 tuple 来代表元素,同时tuple也是内置函数,将数据转换成元组;元组存在于()中,元组也是无限制长度的数据结构

列表与元组的区别: 元组占用的资源更小 元组是不可变的,列表是可变数据类型

alpha_tuple = (1, 4, 9)
bravo_tuple = (2, 4, 10)

print(id(alpha_tuple))
alpha_tuple += bravo_tuple
print(id(alpha_tuple))
复制代码

image.png

id发生了变化,说明开辟了一块新的内存,而不是在原来的内存地址上做修改,说明tuple是不可变类型

in、max、min内置函数在元组中的使用方法与在列表中是一致的

tuple 代码练习

代码演示,创建

tuple_one = ('stark')
print(tuple_one)
print(type(tuple_one))
复制代码

执行代码

image.png

tuple_one_list = (['stark','steve','peter'])
print(tuple_one_list)
print(type(tuple_one_list))
复制代码

执行代码 image.png

定义只含有单个元素的元组,一定要包含逗号,如果没有逗号,那么数据的类型就是括号中元素的类型。修改脚本中的内容,再次执行脚本

tuple_one = ('stark',)
print(tuple_one)
print(type(tuple_one))
复制代码

image.png

可以使用()来定义空元组

tuple_empty = ()
print(tuple_empty)
print(type(tuple_empty))
复制代码

image.png

也可以使用tuple内置函数来定义元组

用bool函数判断空元组为False

tuple_bool = ()
print(bool(tuple_bool))
复制代码

image.png

tuple_int = (1,2,5)
print(bool(tuple_int))
print(len(tuple_int))
print(max(tuple_int))
print(min(tuple_int))
复制代码

image.png

Python 字典

字典是由多个键值对组成的一种数据类型

Python中dict表示字典数据类型,同时dict也是内置函数,可以用来创建字典,字典的元素在{}中包裹

herso_dict = {
    'name': 'stark', 'nickname': 'IronMAN',
    'name': 'peter', 'nickname': 'SpriderMan'
}

human_dict = {}
复制代码

字典的键(Key)支持字符串数字和数组等不可变数据类型,字典的值(Value)支持所有的Python数据类型

Python 3.7 以前的版本字典是无序的,3.7版本以后是有序的

字典的Key是唯一的

代码演示

# 定义一个用户信息的字典
user_info = {'name': 'peter', 'age': 18, 'address': 'Queens'}

result = 'name' in user_info
print(result)

result = 'hope' in user_info
print(result)

result = 'hope' not in user_info
print(result)
复制代码

image.png

# 定义一个用户信息的字典
user_info = {'name': 'peter', 'age': 18, 'address': 'Queens'}

# 字典返回长度
length = len(user_info)
print(length)

result_bool = bool(user_info)
print(result_bool)

dict_empty = {}
print(type(dict_empty))
print(bool(dict_empty))
复制代码

image.png

max、min内置函数的使用

# 定义一个用户信息的字典
user_info = {'name': 'peter', 'age': 18, 'address': 'Queens'}

# min max的使用
print(max(user_info))
print(min(user_info))
复制代码

image.png

Python 运算符

数值的运算

Python中的赋值运算符有

  • =:等于运算符
  • +=:加法运算符
  • -=:减法运算符
  • *=:乘法运算符
  • /=:除法运算符
  • %=:取模运算符
  • **=:幂运算符
  • //=:整除运算符

代码演示

新建 operation_number脚本

a = 1
b = 2
c = 3

d = a + b + c
print(d)

# += 操作符
d += c
print(d)

# -= 操作符
d -= b
print(d)

# *= 操作符
d *= a
print(d)

# /= 操作符
d /= a
print(d)

# //= 操作符
d //= a
print(d)

# %= 操作符
d %= c
print(d)

# **= 操作符
f = 10
f **= 2
print(f)
复制代码

image.png

字符串之间无法做乘法运算,但是字符串和数字之间可以进行乘法运算

list_01 = [1,3,5,0,10]
print(list_01 * 3) # 返回新的列表
print(list_01)


tuple_01 = (1,3,5,10)
print(tuple_01 * 3) # 返回新的元组
print(tuple_01)
复制代码

image.png

字典中不允许有重复的Key,字典是不支持这种乘法操作的

比较运算符

Python中比较运算符有:

  • ==:判断是否等于
  • !=:判断是否不等于
  • >:判断是否大于
  • <:判断是否小于
  • >=:判断是否大于等于
  • <=:判断是否小于等于
  • is:判断两个对象存储单元是否相等
  • is not:判断两个对象存储但愿是否不同
  • <>:判断是否不等于,Python3中已废弃

is 和 is not是身份运算符

# Date: 2022/3/26

a = 1
a_01 = 1
b = 2.2
c = 0
d = 10
e = -2
f = 300
f_01 = 300

print(a == b)
print(a != b)
print(a < b)
print(a > e)
print(b >= c)
print(a is a_01)
print(id(a))
print(id(a_01))
print(f == f_01)
复制代码

image.png

image.png

原生Python解释器会将0-255之间的数提前定义到内存中,所以0-255之间的数的内存地址都是相同的,超过255内存地址就不同了

猜你喜欢

转载自juejin.im/post/7080786973866065928