首页 > 其他分享 >day04-数据类型

day04-数据类型

时间:2023-09-17 18:44:06浏览次数:43  
标签:输出 数据类型 list 列表 字符串 print day04 my

1、基本数据类型

在我们的之前篇day02-变量中,我们介绍了变量及变量的赋值,我们都知道变量是存储在内存中的值,其实在内存中是会根据变量的数据类型,来分配指定的内存空间,那这变量的数据类型有哪些呢? Python的基本数据类型一般分为6种:
  • Numbers(数值)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)
  • Set(集合)
例如,一个人的信息,就可以用上述数据类型来存储
name = "Ali"  # 字符串类型,存储姓名
age = 25  # 整数类型,存储年龄
height = 1.65  # 浮点数类型,存储身高
is_student = True  # 布尔类型,存储是否是学生
hobbies = ['reading', 'painting', ]  # 列表类型,存储爱好
address = {'street': '123 Main St', 'city': 'China',}  # 字典类型,存储地址信息

2、Numbers数字

数字支持四种数字类型:
  • int(整型)
  • float(浮点型)
  • bool(布尔型)
  • complex(复数)
数字类型赋值很简单,而且不能改变,所以数字类型是不可改变的数据类型,而使用type()函数可以查看变量的数据类型
age = 25  # 年龄
temperature = 37.5  # 温度
is_student = True  # 是否是学生
z1 = 2 + 3j  # 复数1,实部为2,虚部为3

print(type(age))
print(type(temperature))
print(type(is_student))
print(type(z1))

# 输出结果
<class 'int'>
<class 'float'>
<class 'bool'>
<class 'complex'>
在一些混合计算中,Python会把int类型转换为float类型,而在上篇的运算符中,/运算符结果总会返回浮点数,而//运算符会返回整数   那为什么说数字类型是不可变数据类型呢?
x = 5
print(x, id(x))  # 输出: 5  140709922068256
x = 10  # 修改了x的值
print(x, id(x))  # 输出: 10  140709922068416
上述x=5,我们知道是x的这个变量指向了整数5的内存地址,然后我们修改了x的值为10,其实会新创建一个整数10,然后x指向整数10的变量,但是整数5的对象还在,只是不在指向,从id值中也可看出整数是不可变的数据类型

3、String字符串

字符串(String)是由数字、字母、下划线组成的一串字符。 一般可以记:
a = "数字字母下划线之类的"
它可以表示文本的数据类型   字符串下标 我们定义变量为字符串后,可以对字符串进行取值,那就需要用到下标。可以使用  
tips:获取的新字符串可以拿到头下标的值,而拿不到尾下标的值
字符串可以使用+拼接,可以使用*重复操作   下边简单练习让你更深一步理解字符串下标
s = 'Hello Python!'

print(s)  # 输出完整字符串
print(s[0])  # 输出字符串中的第一个字符
print(s[2:5])  # 输出字符串中第三个至第六个之间的字符串
print(s[2:])  # 输出从第三个字符开始的字符串

print(s[:-1])  # 输出字符串中最后一个字符串之前的所有字符串(不包括最后一个字符串))
print(s[-3:-1])  # 输出从倒数第三个开始至倒数第二个元素

print(s * 2)  # 输出字符串两次
print(s + " 我要学会你 ")  # 输出连接的字符串

# 输出结果
Hello Python!
H
llo
llo Python!

Hello Python
on

Hello Python!Hello Python!
Hello Python! 我要学会你

4、List列表

List(列表) 是 Python 中使用最频繁的数据类型。 列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。 列表用 []标识,是 python 最通用的复合数据类型。 一般可以记:
a = "字符,数字,字符串甚至可以包含列表"
列表下标 列表下标与字符串下标同样用到变量 头下标:尾下标 ,就可以截取相应的列表 从左到右索引默认 0 开始,从右到左索引默认 -1 开始。如下图: 同样,列表也可以使用+拼接,可以使用*重复操作   下边简单练习让你更深一步理解列表下标
li = ['1', 2, 3.14, '哈哈', 5555]
li_2 = [1, 2, 3]
print(li)  # 输出完整列表
print(li[0])  # 输出列表的第一个元素
print(li[1:3])  # 输出第二个至第三个元素
print(li[2:])  # 输出从第三个开始至列表末尾的所有元素

print(li[:3])  # 输出从第一个开始至第三个元素
print(li[-3:-1])  # 输出从倒数第三个开始至倒数第二个元素

print(li * 2)  # 输出列表两次
print(li + li_2)  # 打印组合的列表

# 输出结果
['1', 2, 3.14, '哈哈', 5555]
1
[2, 3.14]
[3.14, '哈哈', 5555]

['1', 2, 3.14]
[3.14, '哈哈']

['1', 2, 3.14, '哈哈', 5555, '1', 2, 3.14, '哈哈', 5555]
['1', 2, 3.14, '哈哈', 5555, 1, 2, 3]

5、Tuple元祖

元组是另一个数据类型,类似于 List(列表) 元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。 同样的,元祖也是使用的下标,+拼接,可以使用*重复操作 下边简单练习让你更深一步理解元祖下标
tup = ('111d', 222, 333, '4444d', 5555)
tup_2 = (123, 'show')

print(tup)  # 输出完整元组
print(tup[0])  # 输出元组的第一个元素
print(tup[1:3])  # 输出第二个至第四个(不包含)的元素
print(tup[2:])  # 输出从第三个开始至列表末尾的所有元素
print(tup * 2)  # 输出元组两次
print(tup + tup_2)  # 打印组合的元组

# 输出结果
('111d', 222, 333, '4444d', 5555)
111d
(222, 333)
(333, '4444d', 5555)
('111d', 222, 333, '4444d', 5555, '111d', 222, 333, '4444d', 5555)
('111d', 222, 333, '4444d', 5555, 123, 'show')
 
列表和元祖的不同
列表(list)是可变的数据类型,而元组(tuple)是不可变的数据类型。意思是列表可以添加元素、修改元素和删除元素。而元祖不可添加元素、修改元素和删除元素。
my_list = [1, 2, 3]
my_tuple = (1, 2, 3)

# 修改值
my_list[1] = 5
my_tuple[1] = 5

# 添加值
my_list.append(4)
my_tuple.append(4)

# 删除值
del my_list[0]
del my_tuple[0]
运行下看下结果吧

6、Dict字典

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。 列表是有序的对象集合,字典是无序的对象集合。 两者之间的区别在于:列表可以通过下标索引来存取,而字典通过key索引来存取 字典用{}标识。字典是一个个键值对key-value组成 下边简单练习让你更深一步理解元祖key-value
my_dict = {'Name': 'hua', 'Age': 7, 'sex': '男'}
# 打印字典
print(my_dict)

print(my_dict['Name'])  # 输出键为'Name'的值
print(my_dict['Age'])  # 输出键为'Age'的值

# 查看字典的数量
print(len(my_dict))

# 查看类型
print(type(my_dict))

# 修改字典中的值
my_dict['Age'] = 8
print(my_dict['Age'])

# 删除字典中的键
del my_dict['Age']
print(my_dict)

# 输出所有键
print(my_dict.keys())

# 输出所有值
print(my_dict.values())

7、集合Set

集合(set)是一个无序的不重复元素序列。 集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。 可以使用大括号 {}创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数创建集合。   {}符号让你想到了什么?字典对不对,但是字典是一个个键值对,而集合是单独元素,并且没有顺序 那我们用{}创建的是字典呢,还是集合呢? 我们来看下
my_now = {}
print(my_now, type(my_now))

# 输出结果
{} <class 'dict'>
  {}符号创建的是字典,而不是集合所以创建集合我们必须使用set()函数来创建
my_now = set()
print(my_now, type(my_now))

# 输出结果
set() <class 'set'>
集合中的元素不会重复,所以我们可以集合去重 还可以进行交集、并集、差集等常见的集合操作,我们可以用来找出两个集合中的交集、并集、差集
my_list = ['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'f']
my_set2 = {'a', 'b', 'c', 'd', 'e'}

# 1. 去重
my_set1 = set(my_list)
print(my_set1)

# 2. 交集
print(my_set1 & my_set2)

# 3. 并集
print(my_set1 | my_set2)

# 4. 差集
print(my_set1 - my_set2)

# 输出结果
{'a', 'e', 'd', 'f', 'c', 'b'}
{'a', 'c', 'e', 'd', 'b'}
{'a', 'e', 'd', 'f', 'c', 'b'}
{'f'}

8、数据类型转换

函数 描述
int(x ,base) 将x转换为一个整数
long(x ,base ) 将x转换为一个长整数
float(x) 将x转换到一个浮点数
complex(real ,imag) 创建一个复数
str(x) 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符
unichr(x) 将一个整数转换为Unicode字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串
加粗的属于我们常用的,转换后会返回一个对象,我们代码来看下这些常用函数
整数与字符串、浮点数转换
num = 10
# 查看数据类型
print(type(num))

# 整数转换字符串
print(str(num),type(str(num)))

# 整数转换浮点数
print(float(num),type(float(num)))

 

字符串转换整数、浮点数
my_str = '123'

# 字符串转换整数
print(int(my_str), type(int(my_str)))

# 字符串转换浮点数
print(float(my_str), type(float(my_str)))

 

列表与元祖的转换
# 列表转换为元组
my_list = [1, 2, 3]
my_tuple = tuple(my_list)
print(my_tuple)  # 输出: (1, 2, 3)

# 元组转换为列表
my_tuple = (4, 5, 6)
my_list = list(my_tuple)
print(my_list)  # 输出: [4, 5, 6]

 

字符串与列表的转换
# 字符串转换为列表
my_string = "Hello"
my_list = list(my_string)
print(my_list)  # 输出: ['H', 'e', 'l', 'l', 'o']

# 列表转换为字符串
my_list = ['W', 'o', 'r', 'l', 'd']
my_string = ''.join(my_list)
print(my_string)  # 输出: "World"

 

字典和列表的转换
# 字典转换为列表
my_dict = {'a': 1, 'b': 2, 'c': 3}

my_list = list(my_dict.items())
print(my_list)  # 输出: [('a', 1), ('b', 2), ('c', 3)]

# 提取出字典中的键
keys_list = list(my_dict.keys())
print(keys_list)  # 输出: ['a', 'b', 'c']

# 提取出字典中的值
values_list = list(my_dict.values())
print(values_list)  # 输出: [1, 2, 3]

# 列表转换为字典
my_list = [('a', 1), ('b', 2), ('c', 3)]
my_dict = dict(my_list)
print(my_dict)  # 输出: {'a': 1, 'b': 2, 'c': 3}

 

 

标签:输出,数据类型,list,列表,字符串,print,day04,my
From: https://www.cnblogs.com/nuomituan/p/17709427.html

相关文章

  • 八大基本数据类型
    publicclassDemo02{publicstaticvoidmain(String[]args){//八大基本数据类型intnum1=10;//最常用bytenum2=20;shortnum3=30;longnum4=30L;//Long类型要在数字后面加L//浮点数(小数)floatnum5=......
  • Matlab : 数据类型与文件读写
    学习一门技术的最佳方式之一是阅读官方文档。MATLAB官方文档提供了关于各种主要数据类型的详细介绍。数值类型(numeric)在MATLAB中,数值类型的变量默认为双精度浮点数(double),但可以使用类型转换将其转换为其他数值类型。以下是MATLAB支持的数值类型:double:双精度浮点数single:单精度......
  • 前端歌谣的刷题之路-第二十二题-基本数据类型检测
    前言我是歌谣歌谣的意志是永恒的放弃很容易但是坚持一定很酷本题目源自于牛客网微信公众号前端小歌谣题目请补全JavaScript函数,要求以字符串的形式返回参数的类型。注意:只需检测基本数据类型。编辑核心代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8">......
  • python数据类型
    数据类型整数、浮点、字符串、布尔、列表、元组、字典、集合整数int(integer)字面意思就是整数,定义时不要加引号,否则会变成字符串浮点float理解为小数点,定义时不要加引号,否则会变成字符串字符串在python中加了引号的都会被认为是字符串 ......
  • MySQL中的一些复合数据类型
    ENUM枚举类型ENUM适合于只能在一组固定值中选一个的场景,比如性别只能为男或者女。ENUM的优势在于:只能在固定值中选择,可以在数据库层面限制非法值。数据的存储用数字来存储,占用空间少。但是它的使用有很多需要我们注意的地方,一不小心就会得到错误的结果。createtabletes......
  • 初学者一定要了解的c语言数据类型详解来了
    @TOC前言`一、当我们要描述或者记录一些事物时,通常需要用一些数据来反映它的特征,例如:小明"男""19"岁,身高"1.88"米,在从语言中,要表示这些数据就需要设置合适的数据类型,那么c中数据有哪些类型提供给我使用呢?一、数据类型基本类型整形short//短整型int//整形l......
  • 3-MySQL基本数据类型介绍
    数据类型的介绍:数据类型(data_type)是指系统中所允许的数据的类型。数据库中的每个列都应有适当的数据类型,用于限制或允许该列中存储的数据。例如,列中存储的为数字,则相应的数据类型应该为数值类型。如果使用错误的数据类型可能会严重影响应用程序的功能和性能,所以在设计表时,应该特......
  • Redis7 10大数据类型(Redis集合)
    一、常用二、单值多value,且无重复三、案例SADDkeymember[member...]添加元素SMEMBERSkey遍历集合中的所有元素SISMEMBERkeymember判断元素是否在集合中SREMkeymember[member...]删除元素scard获取集合里面的元素个数SRANDMEMBERkey[数字]从集合中随机展现......
  • OpenCV基本数据类型
    命名规则类{2,3,4,6}{b,s,w,i,f,d}{2,3,4,6}代表向量的长度。{b,s,w,i,f,d}表示向量内数据类型point类可以转化到固定向量类1Point2fpoint(1.0,2.0);2cout<<"first:"<<point.x<<"second:"<<point.y<<endl;size类不可以转化到固......
  • Dynamic CRM 字段数据类型及其后端赋值方式
    dynamiccrm字段数据类型及其赋值方式首先实例化一个对象:Entity_entity=newEntity("salesorder");1.十进制数取值:var_typeDecimal=_entity.GetAttributeValue<decimal>("unitprice");赋值:_entity["unitpri......