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

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.kler.cn/a/310970.html

相关文章:

  • 从0开始学习Linux——文件管理
  • 限流算法(令牌通漏桶计数器)
  • HelloMeme 上手即用教程
  • 微服务day07
  • 【C++】一种针对代码的连续条件检查方案,累计布尔结果
  • JavaScript高级程序设计基础(四)
  • MyBatis系统学习(三)——动态SQL
  • 简单题28-找出字符传中第一个匹配项的下标(Java and Python)20240918
  • ElasticSearch介绍+使用
  • 3. Python计算水仙花数
  • 利士策分享,赚钱与体重:一场关于生活平衡的微妙探索
  • 云计算服务的底层,虚拟化技术的实现原理
  • 假期学习--iOS 编译链接
  • 如何挑选一款性价比高的开放式耳机?高性价比宝藏蓝牙耳机推荐
  • 吸浮毛宠物空气净化器推荐,希喂、小米、有哈宠物空气净化器测评
  • 句子成分——每日一划(八)
  • 算法:30.串联所有单词的子串
  • 【MySQL】SQL语句的优化
  • Keil MDK5学习记录
  • 自定义Spring Security认证处理的完整解决方案
  • 2024ICPC第一场网络赛补题
  • 思通数科开源智能文档识别平台的核心功能
  • 在Linux服务器上如何实现自动化部署?
  • 【车载以太网】【SOME/IP】Wireshark 解析
  • Maven 的多种打jar包方式详细介绍、区别及使用教程——附使用命令
  • 分类预测|基于哈里斯鹰优化最小二乘支持向量机的数据分类预测Matlab程序HHO-LSSVM多特征输入多类别输出