当前位置: 首页 > news >正文

python的数据类型详解

python基础

    • 认识python基本类型
      • python的注释风格有三种(也可以说是两种)
      • python的对齐方式
      • python的多行语句折断
      • 字符串类型的“计算”
      • 列表的常见用法
      • 元组的常见用法
      • 集合set的常见用法
      • 字典的常见用法
      • bytes类型
      • python的输入输出
      • python中的引用

认识python基本类型

python的数据类型一般不会去定义,作为python的数据类型是比较特殊的,python数据是使用赋值作为数据类型的定义,所以我们列出一些基本的数据类型。(ps:详解可看目录直接跳!)

a = 10 # 整型,python没有长整型
b = 1.1 # 浮点型
c = "hello" # 字符串类型
e = True # 布尔型
f = [1,2,3,4,5] # 列表
g = (1,2,3,4,5) # 元组
h = {'Google', 'Taobao', 'Runoob'} # 集合
i = {"one":1,"two":2} # 字典

在以上数据结构中不可变数据:整型、字符串类型、元组

可变数据:列表、字典、集合

使用type()的内置函数可以打印当前的数据类型。也可以使用isinstance([数据],[检测类型])来判断数据是否为这个类型。

两者的区别就是,type()不会认为子类是一种父类型。

isinstance()则会认为子类是一种父类型。

在python3中,bool是int的子类,所以使用isinstance(bool,int)结果为true

True和false可以和数字相加,true=1,false=0,当用于判断时却不是那么回事。

print(isinstance(bool,int))
print(True+1)
print(False+1)
print(True is 1)
print(False is 0)

python的注释风格有三种(也可以说是两种)

# 使用#号注释
"""
文本注释
"""
'''
文本注释
'''

python的对齐方式

域其他语言不同的是,python使用 [空格]来表示缩进,而且是根据不同的空格数字来表示同一个代码块。

if True:print("True")
else:print("False")

如果后续代码的缩进格式存在问题,则编译器会报错。

python的多行语句折断

python中如果一条语句太长了可以使用\进行折断,实现多行语句。

total = item_one + \item_two + \item_three

在[],{},或者()中的多行语句不需要使用反斜杠\

字符串类型的“计算”

python和其他语言一样都是使用反斜杠\来进行转义字符,使用r可以让反斜杠不发生转义。

在python中字符串类型不仅可以用来进行+法运算,还可以用于*法运算,而乘法的作用是重复字符串。

在字符串中可以使用[::]来截取字符串,还可以设置步长,需要注意的是,0代表第一个字符的下标,而-1代表最后一个字符。

string = "123456"
print(string)
print(string*2)              # 重复两次字符串
print(string[0:-1])          # 输出字符串
print(string[1:4])           # 输出第二个字符串开始到第五个字符串结束
print(string[2:])            # 从第三个字符开始输出所有字符串
print(string[1:6:2])         # 从第二个字符开始输到第七个字符,步长为2
print(string + "hello")      # 字符串相加
# \n 的作用
print("12345\n6789")     
print(r"12345\n6789")     # 打印原始字符串

在这里插入图片描述

列表的常见用法

列表其实和字符串差不多,不过列表是比字符串好用的,列表可以完成大多数数据集合类的数据结构实现。

组成列表的数据结构可以不相同,可以是字符串,整形,浮点型以及列表(嵌套)。

列表使用[]来存储数据,使用,分割数据,列表和字符串一样都可以用于分割元素。

# 变量[下标1:下标2] 
arr = ['abcd','123',234,2.23,'hello']
arr2 = [123,"pig"]
print(arr)        #打印整个列表
print(arr[0])     #打印列表第一个元素
print(arr[1:3])   #打印列表第二个元素到第四个元素
print(arr[2:])    #打印列表第三个元素到第最后
print(arr2*2)     #重复打印列表
print(arr+arr2)   #打印两个列表相加

在这里插入图片描述

列表中的元素可以引用下标进行改变。

arr = ['abcd','123',234,2.23,'hello']
arr[0] = "world"
print(arr)        #打印整个列表
arr[2:4]=[]
print(arr)        #打印整个列表

在这里插入图片描述

元组的常见用法

元组与列表类似,不过不能进行修改。

元组在()中,使用,隔开。

元组中的类型可以相同也可以不同。

tuple = ('abcd', 123, 2.23, 'runoob', 70, 899)
tinytuple = (123, 'runoob')print(tuple)  # 输出完整元组
print(tuple[0])  # 输出元组的第一个元素
print(tuple[3:5])  # 输出从第四个元素开始到第五个元素
print(tuple[3:])  # 输出从第四个元素开始的所有元素
print(tinytuple * 2)  # 输出两次元组
print(tuple + tinytuple)  # 连接元组

在这里插入图片描述

虽然元组是一个不可变的对象,但是可以包含可变对象list和其他可变对象。

当构造一个空元组时和单一元素元组时需要注意:

tup1 = () #空元组
tup2 = (20,) #一个元素的元组

注意:这里需要添加,不然系统只会觉得你创建了一个其他类型的数据。

和上面一样

1.元组也可以使用切片

2.元组也可以使用+*

集合set的常见用法

python的集合是一种无序,可变的数据类型,用于存储唯一的元素。

集合中元素不会重复,可以进行交集,并集,差集等集合操作。

使用{}表示集合,使用,分割集合中元素。同样的,也可以使用set()函数创建集合。

空集合只能使用set(),空{}是用于创建空字典。

sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Google'}print(sites)   # 输出集合,重复的元素被自动去掉# 成员测试
if 'Runoob' in sites :print('Runoob 在集合中')
else :print('Runoob 不在集合中')# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')print(a)print(a - b)     # a 和 b 的差集print(a | b)     # a 和 b 的并集print(a & b)     # a 和 b 的交集print(a ^ b)     # a 和 b 中不同时存在的元素

在这里插入图片描述

字典的常见用法

字典是python中一个内置数据类型。

字典是一个无需对象的集合,字典中的元素是通过键来存取的,而不是通过下标。字典相当于hashmap.

使用{}标识,是一个无序的键key:值value的集合,注意 key 必须使用不可变类型,在同一个字典中,每一个 key 都是唯一的,如果有相同的两个键,就会自动覆盖旧key,一般取数据都是使用键值。

dict1 = {}
dict1['one'] = "www.baidu.com"
dict1['two'] = "www.163.com"
print(dict1)           # 输出完整的字典
print(dict1['one'])    # 输出键为one的值
print(dict1.keys())    # 输出所有键
print(dict1.values())  # 输出所有值

在这里插入图片描述

bytes类型

在python中,bytes表示的是0~255之间的整数。创建bytes数字的方式有很多种,常见的是用`b`作为前缀。也可以使用bytes()函数将其他类型的数字转换为bytes类型。

bytes 类型通常用于处理二进制数据,比如图像文件、音频文件、视频文件等等。在网络编程中,也经常使用 bytes 类型来传输二进制数据。

x = bytes("hello",encoding="utf-8")
# bytes 同样也支持切片、查找、替换等操作、
x = b"hello"
y = x[1:3]
print(y)
z = x+b"world"
print(z)

在这里插入图片描述

数据类型转换方法,常用方法是[数据类型](要转换的数据)

y = 123
str(y)
print(type(y))

在这里插入图片描述

python的输入输出

# 输入,尽管用户输入的是整数,input会将其当作字符串类型
num = input('请输入一个整数')
#输出
print(num)
#如果要将输入的整数进行相加,需要改变其数据类型
num = int(num)
# 在输出时,使用前置f和不使用前置f的区别
a = 10
b = 20
print('a+b={a+b}')
print(f'a+b = {a+b}')
# 使用了前置f可以读取{}的内容,而不使用,是将其作为普通字符串的

print默认输出是换行的,如果不需要换行,需要在末尾添加end = " "

print(10,end = " ")
print(20,end = " ")

如需重复输入则需要使用循环

题目示例:请输入三个浮点数,求他们的和

a = input("请输入一个浮点数")
b = input("请输入一个浮点数")
c = input("请输入一个浮点数")
# 类型转换
a = float(a)
b = float(b)
c = float(c)
#打印
print(f"a+b+c={a+b+c}")

在这里插入图片描述

因为浮点数在python中是没有确切的值,所以python会自动将起作为一个无限小数

而如果你想要得到确切的值,可以使用f{num:.[几位小数]f}

# 保留小数点后两位
print(f"a+b+c={a+b+c :.2f}")

在这里插入图片描述

python中的引用

import与from……import是用于导入相应模块的。

比如需要导入somemodule可以写作import somemodule

从某个模块中导入某个函数可以写作from somemodule import somefunction

从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc

将某个模块中的全部函数导入,格式为: from somemodule import *在后续写代码时会频繁使用。


http://www.mrgr.cn/news/28135.html

相关文章:

  • 嵌入式硬件电子电路设计(五)MOS管详解(NMOS、PMOS、三极管跟mos管的区别)
  • MYSQL_深入理解自连接_图书借阅情况(2/2)
  • 使用Axios函数库进行网络请求的使用指南
  • C语言指针初步(1)
  • 机器学习、深度学习面试知识点汇总
  • 使用LangGraph开发太阳能节能计算智能体
  • Java企业面试题3
  • 基于是springboot小区物业管理系统
  • JAVA基础:线程优先级和精灵线程
  • 【演化博弈论】:双方演化博弈的原理与过程
  • java数据结构----图
  • 【Kubernetes】常见面试题汇总(十九)
  • C++第五十一弹---IO流实战:高效文件读写与格式化输出
  • 数据结构之基数排序简介与举例
  • 图像增强技术分析
  • aspcms webshell漏洞复现
  • 卡拉兹(Callatz)猜想也叫(3n+1)猜想
  • 【数据结构】排序算法---希尔排序
  • 第T11周:优化器对比实验
  • Vue基础
  • 【C++】深入理解作用域和命名空间:从基础到进阶详解
  • 深入浅出Java匿名内部类:用法详解与实例演示
  • 有了数据中台,是否需要升级到数据飞轮?怎么做才能升级到数据飞轮?
  • 包装盒型自动生成插件 Origami Boxshot illustrator盒型自动生成插件
  • 北大对齐团队独家解读:OpenAI o1开启「后训练」时代强化学习新范式
  • SpringCloud-05 Resilience4J 服务降级和熔断