精华内容
下载资源
问答
  • Python数据类型有哪些,哪些是可变类型,哪些是不可变类型? 类型: 整数int 字符串str 浮点数float 布尔型bool 列表list 字典dict 集合set 元组tuple 可变类型:就是这个数据类型的值在不改变这一块内存空间,而去...

    Python数据类型有哪些,哪些是可变类型,哪些是不可变类型?

    类型:

    整数int 字符串str 浮点数float 布尔型bool 列表list 字典dict 集合set 元组tuple

    可变类型:就是这个数据类型的值在不改变这一块内存空间,而去改变这个数据类型的值。

    1.列表
    2.字典
    3.集合

    不可变类型:当改变值得时候,会申请一块新的内存空间,不再是原来的那一块内存空间了。

    1. 整数
    2. 字符串
    3. 浮点数
    4. 布尔型
    5. 元组
    展开全文
  • Python 数据类型

    千次阅读 2017-04-08 14:55:49
    Python 中的每个值都有一个数据类型。 在 Python 编程中,一切(万物)皆对象,数据类型实际上是类,变量是这些类的实例(对象)。

    简述

    Python 中的每个值都有一个数据类型。

    在 Python 编程中,一切(万物)皆对象,数据类型实际上是类,变量是这些类的实例(对象)。

    | 版权声明:一去、二三里,未经博主允许不得转载。

    数据类型

    Python 中有各种数据类型,下面列出了一些重要类型:

    • Number(数字)
    • String(字符串)
    • List(列表)
    • Tuple(元组)
    • Set(集合)
    • Dictionary(字典)

    Number(数字)

    Python 支持三种不同的数字类型:

    • int(整型)
    • float(浮点型)
    • complex(复数)

    注意: Py3.x 去除了 long 类型,现在只有一种整型 - int,表示为长整型。

    可以使用 type() 函数获取变量或值的类型,使用 isinstance() 函数来检查一个对象是否属于一个特定的类。

    >>> i = 5  # 整型
    >>> type(i)
    <class 'int'>
    >>> 
    >>> f = 2.5  # 浮点型
    >>> type(f)
    <class 'float'>
    >>> 
    >>> c = 1+2j  # 复数
    >>> type(c)
    <class 'complex'>
    >>> 
    >>> isinstance(c, complex)
    True

    整数可以是任何长度,只受到可用内存的限制。

    浮点数精确到 15 位小数。

    复数以 x + yj 的形式写成,其中 x 是实部,y 是虚部。

    >>> i = 2 ** 500  # 2 的 500 次幂
    >>> i
    3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376
    >>> 
    >>> f = 0.12345678901234567890
    >>> f
    0.12345678901234568  # 值被截断
    >>> 
    >>> c = 5+6j
    >>> c
    (5+6j)

    String(字符串)

    字符串是 Unicode 字符的序列。

    可以使用单引号('')或双引号("")来表示字符串,多行字符串可以使用三重引号 '''""" 来表示。

    >>> s = 'Hello, Python!'
    >>> type(s)
    <class 'str'>

    各种表示方式:

    >>> s = 'Hello, Python!'  # 单引号
    >>> s
    'Hello, Python!'
    >>> 
    >>> s = "Hello, World!"  # 双引号
    >>> s
    'Hello, World!'
    >>> 
    >>> s = '''Hello,  # 三重单引号
    ... Python!'''
    >>> s
    'Hello,\nPython!'
    >>> 
    >>> s = """  # 三重双引号
    ... Hello,
    ... World!
    ... """
    >>> s
    '\nHello,\nWorld!\n'

    字符串可以被索引和截取,截取的语法格式如下:

    变量[头下标:尾下标]

    索引值以 0 开始,-1 为从末尾的开始位置。

    >>> s = "Hello, World!"
    >>>
    >>> s[4]  # 第五个字符
    'o'
    >>>
    >>> s[7:10]  # 第八个开始到第十个的字符
    'Wor'
    >>>
    >>> s[-4:-1]  # 倒数第四个开始到倒数第一个的字符
    'rld'
    >>>
    >>> s[5] = 'p'  # 生成错误,字符串是不可变的
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'str' object does not support item assignment

    加号(+)是字符串的连接符, 星号(*) 表示复制当前字符串,紧跟的数字为复制的次数。

    >>> s1 = "Hello,"
    >>> s2 = " World!"
    >>>
    >>> s1 + s2  # 连接字符串
    'Hello, World!'
    >>>
    >>> (s1 + s2) * 3  # 复制 3 次字符串
    'Hello, World!Hello, World!Hello, World!'

    List(列表)

    列表是有序的元素序列,它是 Python 中使用最频繁的数据类型,非常灵活。

    列表中元素的类型可以不同,支持数字、字符串,甚至可以包含列表(所谓的嵌套)。

    列表用 [] 标识,内部元素用逗号分隔。

    >>> l = [1, 5.5, 'Python']
    >>> type(l)
    <class 'list'>

    和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

    >>> l = [3, 2, 5, 4, 1]
    >>> l
    [3, 2, 5, 4, 1]  # 有序
    >>> 
    >>> l[2]  # 第三个元素
    5
    >>> 
    >>> l[0:3] # 从第一个元素到第三个元素
    [3, 2, 5]
    >>> 
    >>> l[3:] # 从第三个元素开始的所有元素
    [4, 1]

    列表是可变的,意思是说,列表中元素的值可以被改变。

    >>> l = [1, 2, 3]
    >>> l[2] = 5  # 将第三个元素 3 变为 5
    >>> l
    [1, 2, 5]

    Tuple(元组)

    元组与列表相同,也是有序序列,唯一的区别是元组是不可变的。

    元组适用于保护性的数据,通常比列表快,因为它不能动态更改。

    元组用 () 标识,内部元素用逗号分隔。

    >>> t = (5, 'Python', 1+2j)
    >>> type(t)
    <class 'tuple'>

    元组也可以被索引和截取,但是不能被更改。

    >>> t = (3, 2, 5, 4, 1)
    >>> t
    (3, 2, 5, 4, 1)  # 有序
    >>> 
    >>> t[1]  # 第二个元素
    2
    >>> 
    >>> t[0:2] # 从第一个元素到第二个元素
    (3, 2)
    >>> 
    >>> t[0] = 10  # 生成错误,元组是不可变的
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'tuple' object does not support item assignment

    虽然元组中的元素不可变,但它可以包含可变的对象,例如:List(列表)。

    构造一个空的或者包含一个元素的元组比较特殊,所以要采用一些额外的语法规则:

    >>> tup1 = ()  # 空元组
    >>> tup2 = (5, )  # 一个元素,需要在元素后添加逗号

    Set(集合)

    集合是一个无序不重复元素集。

    集合用 {} 标识,内部元素用逗号分隔。

    可以使用大括号 {} 或者 set() 函数创建集合,注意: 要创建一个空集合,必须使用 set() 而不是 {},因为 {} 用于创建一个空字典。

    >>> s = {5, 'Python', 1+2j}
    >>> type(s)
    <class 'set'>

    既然集合是无序的,那么索引就没有任何意义,也就是说,切片操作符 [] 不起作用。

    >>> s = {"Java", "Python", "PHP"}
    >>> s
    {'PHP', 'Python', 'Java'}  # 无序
    >>> 
    >>> s[1]  # 生成错误,不支持索引
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'set' object does not support indexing

    不重复,是指集合中相同的元素会被自动过滤掉,只保留一份。

    >>> s = {"PHP", "Python", "Java", "Python", "PHP"}
    >>> s
    {'PHP', 'Python', 'Java'}  # 去重

    除了去重之外,还常用于成员关系的测试。

    >>> if ('Python' in s) :
    ...      print('Python 在集合中')
    ... else :
    ...      print('Python 不在集合中')
    ... 
    Python 在集合中

    集合之间也可执行运算,例如:并集、差集、交集。

    >>> a = set('abcdefg')
    >>> b = set('abghijk')
    >>> 
    >>> a
    {'b', 'f', 'e', 'd', 'a', 'c', 'g'}
    >>> b
    {'b', 'k', 'h', 'i', 'j', 'a', 'g'}
    >>> 
    >>> a - b  # 差集
    {'f', 'c', 'd', 'e'}
    >>> 
    >>> a | b  # 并集
    {'b', 'k', 'f', 'h', 'i', 'e', 'j', 'd', 'a', 'c', 'g'}
    >>> 
    >>> a & b  # 交集
    {'b', 'a', 'g'}
    >>> 
    >>> a ^ b  # 对称差 - 不同时存在的元素
    {'e', 'c', 'k', 'f', 'h', 'i', 'j', 'd'}

    对称差公式:A Δ B = (A − B) ∪(B − A)。也可表示为两个集合的并集减去它们的交集:A Δ B = (A ∪B) − (A ∩B)

    Dictionary(字典)

    字典是键值对的无序集合。

    通常在有大量的数据时会使用,在检索数据时字典做了优化,必须知道要检索的 value 所对应的 key。

    字典用 {} 标识,其中的每个元素都以 key:value 对的形式出现,key 和 value 可以是任何类型。

    注意: 字典中的 key 必须是唯一的。

    >>> d = {1:'value', 'key':2}
    >>> type(d)
    <class 'dict'>

    可以用 key 来检索相应的 value,但相反则不行。

    >>> d = {}  # 创建空字典
    >>> d['name'] = 'Python'  # 增加新的键/值对
    >>> d['site'] = 'www.python.org'
    >>> 
    >>> d
    {'name': 'Python', 'site': 'www.python.org'}
    >>> 
    >>> d['site']  # 键为 'site' 的值
    'www.python.org'
    >>> 
    >>> d['Python']  # 生成错误,不能用 value 检索 key
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    KeyError: 'Python'

    字典有一些内置的函数,例如:keys()、values()、clear() 等。

    >>> d.keys()  # 所有键
    dict_keys(['name', 'site'])
    >>> 
    >>> d.values()  # 所有值
    dict_values(['Python', 'www.python.org'])
    >>> 
    >>> d.clear()  # 清空字典
    >>> d
    {}

    数据类型之间的转换

    可以使用不同的类型转换函数来转换不同的数据类型,例如:int()、float()、str() 等。

    从 int 转换为 float:

    >>> float(5)
    5.0

    从 float 到 int 的转换,值将会被截断(使其接近零):

    >>> int(10.8)
    10
    >>> 
    >>> int(-10.8)
    -10

    字符串的转换必须包含兼容的值:

    >>> float('2.5')
    2.5
    >>> 
    >>> str(25)
    '25'
    >>> 
    >>> int('str')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: invalid literal for int() with base 10: 'str'

    甚至可以将一个序列转换为另一个序列:

    >>> set([1, 2, 3])
    {1, 2, 3}
    >>> 
    >>> tuple({4, 5, 6})
    (4, 5, 6)
    >>> 
    >>> list('hello')
    ['h', 'e', 'l', 'l', 'o']

    要转换为字典,每个元素必须是一对:

    >>> dict([[1, 'value'], ['key', 2]])
    {1: 'value', 'key': 2}
    展开全文
  • python数据类型总结

    千次阅读 多人点赞 2019-04-01 19:57:48
    一、python数据类型分类思维导图 二、值得注意的是: 1、Python中的变量都是指针,因此是没有类型限制的,且指针的内存空间大小是与类型无关的,其内存空间只是保存了所指向数据的内存地址。 2、值类型是不可变的...

    参考资料:https://blog.csdn.net/answer3lin/article/details/86430074

    一、python中数据类型分类思维导图

    python数据类型
    二、值得注意的是:
    1、Python中的变量都是指针,因此是没有类型限制的,且指针的内存空间大小是与类型无关的,其内存空间只是保存了所指向数据的内存地址

    2、值类型是不可变的(immutable),这种不可变是指该值类型的变量指向的空间所存储的地址是不变的,而非内容不变,例如我们可以有以下操作:

    tupleA = (1,2,[3,4,5])
    tupleA[2][1] = 7
    print(tupleA)
    

    运行结果为:(1,2,[3,7,5])
    但是如下操作是不正确的

    tupleA = (1,2,[3,4,5])
    tupleA[0] = 7
    print(tupleA)
    

    这是因为1与2为int类型,为值类型,一旦值发生改变,其地址也将改变,而tuple内成员的地址是不允许修改的;但是[3,4,5]为list类型,为引用类型,是可以改变的,当其值发生改变不会改变地址值,如一个列表经过append,pop等操作时其地址是不会发生改变的,读者可以使用id()方法测试。
    第二点小总结:不可变对象的“值"(由上知“值”为地址)不能改变,但它的组成对象是能做到改变的。

    3、Python在底层做了一定的优化,对于使用过小整数以及短字符串都会被缓存起来,这样子有什么好处呢?请看下面的例子:
    对值类型而言,当我们执行形如x = 1等操作时,会开辟一个空间存放1,此时不妨执行id(x)和id(1),我们会发现两者相同,再执行y = 1 id(y) ,则仍有id(y) = id(x) = id(1),此时指针x与y皆指向1,也就是说,只要值相同,地址也将相同,这无疑减少了不少内存空间的使用。

    4、Python中的参数传递都是传递引用,也就是传递的是内存地址。只不过对于不可变类型,传递引用和传递值没什么区别。而对于可变类型,传递引用是真的传递内存的地址。
    听说python只允许引用传递是为方便内存管理,因为python使用的内存回收机制是计数器回收,就是每块内存上有一个计数器,表示当前有多少个对象指向该内存。每当一个变量不再使用时,就让该计数器-1,有新对象指向该内存时就让计数器+1,当计时器为0时,就可以收回这块内存了。当然还有其他的GC方法,否则计数器回收,无法解决循环引用的问题。

    展开全文
  • Python数据类型分类

    2018-08-17 16:35:39
    只有给数据赋予明确的数据类型,计算机才能对数据进行处理运算,因此,正确使用数据类型是十分必要的,不同的语言,数据类型类似,但具体表示方法有所不同,以下是Python编程常用的数据类型: 1. 数字类型 Python...

    数据类型是每种编程语言必备属性,只有给数据赋予明确的数据类型,计算机才能对数据进行处理运算,因此,正确使用数据类型是十分必要的,不同的语言,数据类型类似,但具体表示方法有所不同,以下是Python编程常用的数据类型:

    1. 数字类型

    Python数字类型主要包括int(整型)、long(长整型)和float(浮点型),但是在Python3中就不再有long类型了。

    int(整型)

    在32位机器上,整数的位数是32位,取值范围是-231~231-1,即-2147483648~214748364;在64位系统上,整数的位数为64位,取值范围为-263~263-1,即9223372036854775808~9223372036854775807。

    long(长整型)

    Python长整型没有指定位宽,但是由于机器内存有限,使用长的长整数数值也不可能无限大。

    float(浮点型)

    浮点型也就是带有小数点的数,其精度和机器有关。

    complex(复数)

    Python还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。

    2. 字符串

    在Python中,加了引号的字符都被认为是字符串,其声明有三种方式,分别是:单引号、双引号和三引号;Python中的字符串有两种数据类型,分别是str类型和unicode类型,str类型采用的ASCII编码,无法表示中文,unicode类型采用unicode编码,能够表示任意字符,包括中文和其他语言。

    3. 布尔型

    和其他编程语言一样,Python布尔类型也是用于逻辑运算,有两个值:True(真)和False(假)。

    4. 列表

    列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型,可对集合进行创建、查找、切片、增加、修改、删除、循环和排序操作。

    5. 元组

    元组和列表一样,也是一种序列,与列表不同的是,元组是不可修改的,元组用”()”标识,内部元素用逗号隔开。

    6. 字典

    字典是一种键值对的集合,是除列表以外Python之中最灵活的内置数据结构类型,列表是有序的对象集合,字典是无序的对象集合。

    7. 集合

    集合是一个无序的、不重复的数据组合,它的主要作用有两个,分别是去重和关系测试。

    以上是对Python的七种数据类型的简单介绍,具体使用方法,可以进行深入查找学习!

    展开全文
  • python数据类型

    千次阅读 2016-04-08 21:00:38
    1. 数据类型分类python大约有以下8种数据类型,分别是: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) None(空类型) Object(对象类型) Number类型: Python3 ...
  • python数据类型转换方法列表

    千次阅读 2019-08-31 16:58:06
    5.关于数据类型转换方法,错误的是 A. int(x) 将x转换为一个整数 B. float(x) 将x转换为一个浮点数 C. string(x) 将x转换为字符串 D. list(x) 将x转换为一个列表 str(x) 而非string(x) 数据转换表 1 int(x [,...
  • Python数据类型有哪些?

    千次阅读 2018-10-30 13:39:52
    只有给数据赋予明确的数据类型,计算机才能对数据进行处理运算,因此,正确使用数据类型是十分必要的,不同的语言,数据类型类似,但具体表示方法有所不同,以下是Python编程常用的数据类型: 1. 数字类型 Python...
  • Python数据类型——数值型详解

    千次阅读 多人点赞 2020-05-14 00:52:54
    上一篇博客:Python的变量和数据类型 简单的写了一下Python中的数据类型有哪些,本篇我们来详细的学习一下Python中的数据类型以及其应用。
  • Python数据类型判断及列表脚本操作

    千次阅读 2015-07-16 13:49:44
    数据类型判断在python(版本3.0以上)使用变量,并进行值比较时。有时候会出现以下错误:TypeError: unorderable types: NoneType() () 或者类似的类型错误。 这是因为一方变量的数据类型不明(python无法判断),...
  • 1.4 Python数据类型

    万次阅读 2019-05-18 12:03:50
    1.4 Python的数据类型1.4 Python数据类型(1) Number(数字)(2) String(字符串)(3) List(列表)(4) Tuple(元组)(5) Set(集合)(6) Dictionary(字典)Python数据类型转换数据类型转换分类:自动数据类型转换/...
  • python数据类型列表(list)

    千次阅读 2018-09-03 14:35:26
    列表是python中最常用的内置数据类型,用中括号[元素1,元素2…]括起,以逗号分隔,元素之间没有任何关系,可以是任何类型。 数组是只能存储同一种数据类型的结构,但是列表可不受局限。 2. 列表的特性(与元组的...
  • Python数据类型——逻辑值详解

    千次阅读 多人点赞 2020-05-17 17:57:44
    在上一篇博客:Python数据类型——数值型详解 中介绍了Python数据类型中数值型部分。本篇我们来一块学习一下Python数值类型的逻辑值与字符串部分。
  • Python列表数据类型转换

    千次阅读 2019-04-02 22:01:32
    Python数组类型转换 将int型数组转换成字符串型数组 #@Created on Tue Apr 2 16:10:51 2019 #@author: Hu Sai #@email: 17095338g@connect.polyu.hk list1 = [1,2,3,4] list2 = map(str,list1) for i in list1: ...
  • python数据类型complex

    千次阅读 2019-07-02 15:45:47
    很久以来,在使用Python语言的时候尽管知道存在这个6大基本数据类型之一的complex复数类型,但是一直没有使用过,也不知道怎么打出一个complex数据,直到在学在学矩阵共轭转置时,才初步了解了复数这个数据类型,...
  • Python学习之路】Python 数据类型

    万次阅读 2019-12-15 20:58:06
    Python 数据类型 常用数据类型 Common Data Types 类型 例子 整数 -100 浮点数 3.1416 字符串 'hello' 列表 [1, 1.2, 'hello'] 字典 {'dogs': 5, 'pigs': 3} Numpy数组 array([1, 2, 3]) 其他...
  • c++与python 数据类型对应

    千次阅读 2017-11-14 23:30:09
    c++与python 数据类型对应
  • Python数据类型有几种

    万次阅读 2019-01-22 18:14:01
    只有给数据赋予明确的数据类型,计算机才能对数据进行处理运算,因此,正确使用数据类型是十分必要的,不同的语言,数据类型类似,但具体表示方法有所不同,以下是Python编程常用的数据类型:1. 数字类型Python数字...
  • Python内置数据类型

    千次阅读 2019-03-29 09:33:43
    Python基本知识之内置数据类型 python数据类型有: 数值类型 int 整形 float 浮点型 complex 复数 bool 布尔值 序列对象 str 字符串 list 列表 tuple 元组 键值对 set 集合 dict ...
  • name = {'sd', 'd', 's'} li = {'s', 'd','h'} name.union(li) 返回结果:{'h', 's', 'd', 'sd'}

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 719,449
精华内容 287,779
关键字:

列表是不是python数据类型的是

python 订阅