首页 > 编程语言 >2.python 基本数据类型

2.python 基本数据类型

时间:2024-03-31 18:45:11浏览次数:18  
标签:基本 abc python 元素 数据类型 元组 123 print type

# python 基本数据类型


# python中等号用来给变量赋值
counter = 100  # 整形变量
miles = 1000.0  # 浮点型变量
name = "runoob"  # 字符串
print(counter)
print(miles)
print(name)

# python允许同时为多个变量赋值
a = b = c = 1
print(a)
print(b)
print(c)

# 为多个对象指定多个变量
a, b, c = 1, "runoob", 2
print(a)
print(b)
print(c)

"""
标准数据类型:
Number
String
bool
List
Tuple
Set
Dictionary

不可变数据:String ,Number ,Tuple
可变数据:List , Set, Dict
"""

# Number
# python3支持int float bool complex
# 内置type()函数可以用来查询变量所指的对象类型
a, b, c, d = 20, 0.5, True, 1 + 5j
print(a, "a的类型为:", type(a))  # 20 a的类型为: <class 'int'>
print(b, "b的类型为:", type(b))  # 0.5 b的类型为: <class 'float'>
print(c, "c的类型为:", type(c))  # True c的类型为: <class 'bool'>
print(d, "d的类型为:", type(d))  # (1+5j) d的类型为: <class 'complex'>

# 还可以用isinstance来判断
a = 111
print(isinstance(a, int))  # True

"""
isinstance和type的区别:
type()不会认为子类是一种父类类型
isinstance()会认为子类是一种父类类型
"""
print("============================================")


class A:
    pass


class B(A):
    pass


print(isinstance(A(), A))  # True
print(type(A()) == A)  # True
print(isinstance(B(), A))  # True
print(type(B()) == A)  # False

# 当你指定一个值时Number对象就会被创建
var1 = 1
var2 = 10

# 可以使用del 语句删除一些对象的引用,可以删除单个或多个对象
# del var1
del var1, var2
# print(var1, var2)  # NameError: name 'var1' is not defined

# 布尔值为False的十种类型:0,0.0,False,0j,None,空字符串(''),空列表([]),空元组(()),空集合(set()),空字典({})

# 列表
# 列表截取的语法格式:变量[头下标:尾下标:步长]
# 列表被截取后返回一个包含所需元素的新列表
# 加号 + 是列表链接运算符,星号 * 是重复操作
list1 = ["abc", 123, 2.3, 0j]
list2 = [456, 'abc']
print(list1+list2)  # ['abc', 123, 2.3, 0j, 456, 'abc']
a = list1[0:3:2]
print(a)  # ['abc', 2.3]
b = list1[::-1]
print(b)  # [0j, 2.3, 123, 'abc']
# 列表元素修改
list1[1] = 0
print(list1)  # ['abc', 0, 2.3, 0j]

# 数据基本类型 : 元组
# 元组(tuple)与列表类似,不同之处在于元组的元素不能修改,元组写在小括号()里,不同的元素用逗号隔开
tup1 = (123, "abc", 0.5, 0j, False)
tup2 = ([123, "set"], {456, "qaz"})
print(tup1[0])  # 123
print(tup1[0:2])  # (123, 'abc')
print(tup1[2:])  # (0.5, 0j, False)
print(tup1[::-1])  # (False, 0j, 0.5, 'abc', 123)
# tup1[0:2] = tup2  # 修改元素的操作是非法的
# print(tup1)  # TypeError: 'tuple' object does not support item assignment
# 虽然tuple的元素不可变,但他可以包含可变对象,比如列表;
tup2[0][1] = '000'  # 修改元组内可变类型元素(例如:列表)的元素是允许的
print(tup2)  # ([123, '000'], {456, 'qaz'})

# 构造0个或1个元素的元组
tup1 = ()  # 空元组
tup2 = (20,)  # 一个元素需要在元素后面添加逗号

not_a_tuple = (42)  # 不加逗号将是整数类型,不是元组类型

# String,List,Tuple 都属于sequence序列


# python中集合Set是一种无序,可变的数据类型,用于存储唯一的元素
# 空集合
sites1 = set()
print(sites1, type(sites1))  # set() <class 'set'>
# 集合的元素组成:不可变数据类型,String Number Tuple
# sites2 = {"123", 456, (20, ), {"1": 2}}
# print(sites2)  # TypeError: unhashable type: 'dict'
# sites2 = {'123', {'123', 456}, 123, (20, )}
# print(sites2)  # TypeError: unhashable type: 'set'

# 输出集合,重复的元素被自动去掉
sites3 = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu', 'Baidu'}
print(sites3)  # {'Baidu', 'Runoob', 'Facebook', 'Google', 'Taobao', 'Zhihu'}
# 成员测试
if 'Google' in sites3:
    print('Google在集合中')
else:
    print('Google不在集合中')
# Set可以进行集合运算
a = {1, 2, 3, 4, 5, 6}
b = {4, 5, 6, 7, 8, 9}
# a 和 b 的差集
print(a - b)  # {1, 2, 3}
# b 和 a 的差集
print(b - a)  # {8, 9, 7}
# a 和 b 的并集
print(a | b)  # {1, 2, 3, 4, 5, 6, 7, 8, 9}
# a 和 b 的交集
print(a & b)  # {4, 5, 6}
# a 和 b 中不同时存在的元素(补集)
print(a ^ b)  # {1, 2, 3, 7, 8, 9}

# 字典Dict
# 列表是有序的对象集合,字典是无序的对象集合
# 两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取
# 字典是一种映射类型,字典用{}标识,他是一个无序的键(key):值(value)组合
# key必须使用不可变数据类型
# 在同一字典中key必须是唯一的
dict1 = {}
dict1['one'] = "1 - 菜鸟教程"
dict1[2] = '2 - 菜鸟教程'
print(dict1)  # {'one': '1 - 菜鸟教程', 2: '2 - 菜鸟教程'}
# 输出所有的键
print(dict1.keys())  # dict_keys(['one', 2])
# 输出所有的值
print(dict1.values())  # dict_values(['1 - 菜鸟教程', '2 - 菜鸟教程'])

# 字典推导式
dict2 = {x: x ** 2 for x in [2, 4, 6]}
print(dict2)  # {2: 4, 4: 16, 6: 36}

 

标签:基本,abc,python,元素,数据类型,元组,123,print,type
From: https://www.cnblogs.com/shuheng/p/18107058

相关文章

  • 3.python 数据类型转换
    #python数据类型转换"""python数据类型转换可以分为两种:隐式类型转换-自动完成显示类型转换-需要使用类型函数来转换"""#隐式类型转换(自动类型转换)#隐式类型转换中,python会自动将一种数据类型转换为另一种数据类型。#转换规则:低精度向高精度转换(bool->int->......
  • 1.python简介
    """python简介python版本:python-V或python--versionpython特色:1.python是一种解释性语言:这意味着开发过程中没有编译这个环节。类似于PHP和Perl2.python是交互式语言:这意味着可以在一个python提示符>>>后直接执行代码3.python是面向对象语言:这意味着python支持面向......
  • 如何利用python 把一个表格某列数据和另外一个表格某列匹配 类似Excel VLOOKUP功能
    环境:python3.8.10Excel2016Win10专业版问题描述:如何利用python把一个表格某列数据和另外一个表格某列匹配类似ExcelVLOOKUP功能先排除两表A列空白单元格,然后匹配x1表格和x2表格他们的A列,把x1表格中A列A1-A810范围对应的B列B1-B810数据,匹配填充到x2范围A1-A479,B1-B......
  • 【Python】反转数字(整数、百分数、小数、分数)
    (本人蒟蒻,dalao勿喷)需要代码往下翻,最后的代码最简洁喔~题设:'''给定一个数,请将该数各个位上数字反转得到一个新数。整数反转是将所有数位对调。小数反转是把整数部分的数反转,再将小数部分的数反转,不交换整数部分与小数部分。分数反转是把分母的数反转,再把分子的数反转,不交换......
  • Java(2)之变量,数据类型,运算符
    1、标识符在java中标识符是由字母数字下划线,美元符号组成(其中数字没办法作首)在java中是区分大小写的。2、关键字关键字是在java中赋予了特殊的含义的字符,只能用于特定地方例如包package类class接口interface引用:this,supe,创建对象:new等等关键字引用需要注意大小写,且......
  • python(django)之单一接口管理功能后台开发
    1、创建数据模型在apitest/models.py下加入以下代码classApis(models.Model):Product=models.ForeignKey('product.Product',on_delete=models.CASCADE,null=True)#关联产品IDapiname=models.CharField('接口名称',max_length=100)apiurl=mod......
  • Java-数据类型
    前言:本文主要讲述八大数据类型以及使用规范,最后对知识进行一个拓展。强类型语言要求变量使用要严格符合规定,所有变量都必须先定义后才能使用弱类型语言基本类型(primitivetype)引用类型(referencetype)*不规范的*规范的*如下面这种定义变量是可以成功:*注意事项:......
  • 涛哥聊Python | auto-sklearn,一个非常好用的 Python 库!
    本文来源公众号“涛哥聊Python”,仅用于学术分享,侵权删,干货满满。原文链接:auto-sklearn,一个非常好用的Python库!大家好,今天为大家分享一个非常好用的Python库-auto-sklearn。Github地址:https://github.com/automl/auto-sklearn随着机器学习技术的快速发展,越来越多的组......
  • python --图(树)的存储
    在蓝桥杯竞赛中,常见的图存储方式包括邻接矩阵、邻接表、链式前向星等。这些存储方式在不同的场景下有着各自的优势和适用性。邻接矩阵邻接矩阵是最常见的图的表示方法之一。对于一个有$n$个顶点的图,可以用一个$n\timesn$的二维数组来表示。如果图中存在从顶点$i$到顶点$j$的边......
  • 从安装python开始教你利用python将excel中的数据导出到txt文件中,并且有如何安装python
    制作方法想到制作这个程序的原因开始写程序前的准备工作安装python第一步:下载python第二步:运行python安装包测试python用python输出你好python安装python库开始编写程序编写前的准备开始编写想到制作这个程序的原因工作的时候,领导说让把表格里的数据导出到txt文......