zoukankan      html  css  js  c++  java
  • Python学习进程(3)Python基本数据类型

        本节介绍在Python语法中不同的变量数据类型。

        (1)基本数据类型:

    >>> a=10;
    >>> b=10.0;
    >>> c=True;
    >>> d="我在学习Python";
    >>> print(a,b,c,d)
    10 10.0 True 我在学习Python
    >>> print("",type(a),"
    ",type(b),"
    ",type(c),"
    ",type(d),"
    ");  #内置函数type()可以查询变量的类型
     <class 'int' at 0x58C569A8>
     <class 'float' at 0x58C54AE0>
     <class 'bool' at 0x58C4A0D8>
     <class 'str' at 0x58C5CBB0>

        Python 中的变量赋值不需要类型声明;Python 中的基本数据类型有整型、浮点型、布尔型、字符串型。

        Python支持多个变量同时赋值:

    >>> a=b=c=8j;
    >>> print(a,b,c)
    8j 8j 8j
    >>> print(type(a));
    <class 'complex' at 0x58C4E418>
    >>> a,b,c=1/2,5.6/2.8,4>5;
    >>> print("",type(a),"
    ",type(b),"
    ",type(c))
     <class 'float' at 0x58C54AE0>
     <class 'float' at 0x58C54AE0>
     <class 'bool' at 0x58C4A0D8>

        每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。

        (2)标准数据类型:

    Python有五个标准的数据类型:
    1.Numbers(数字)
    2.String(字符串)
    3.List(列表)
    4.Tuple(元组)
    5.Dictionary(字典)

        1)Python数字:(数字数据类型用于存储数值)

    >>> a=10;
    >>> b=10.0;
    >>> c=10j;
    >>> print("",type(a),"
    ",type(b),"
    ",type(c));
     <class 'int' at 0x58C569A8>
     <class 'float' at 0x58C54AE0>
     <class 'complex' at 0x58C4E418>
    >>> d=1234567891011121314
    >>> print(type(d))
    <class 'int' at 0x58C569A8>

        Python数字有三种类型整型、浮点型和复数类型。整型是不需要限制位数的。

        可以用complex构造复数:

    >>> c=complex(4,6)
    >>> print(c)
    (4+6j)
    >>> d=4+6j
    >>> print(d)
    (4+6j)

        用del回收变量:

    >>> a=10
    >>> a
    10
    >>> del a
    >>> a
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'a' is not defined

        2)字符串:(字符串或串(String)是由数字、字母、下划线组成的一串字符。)

        它是编程语言中表示文本的数据类型。

        python的字串列表有2种取值顺序:

      1.从左到右索引默认0开始的,最大范围是字符串长度少1;

      2.从右到左索引默认-1开始的,最大范围是字符串开头。

    >>> a="I love Python!"
    >>> a[2:6]
    'love'
    >>> a[5:1:-1]
    'evol'
    >>> print(a+" Hello World!") //输出拼接的字符串
    I love Python! Hello World!
    >>> print(a*2)               //输出两次字符串
    I love Python!I love Python!
    >>> print(a[13:0:-1])       
    !nohtyP evol_                  // _代表空格 

        上述的方法是不能直接实现倒序输出字符串的,下面是一种方法:

    sunjimeng@SJM:~/文档$ cat text.py
    a="上海自来水来自海上";
    print(a[8:0:-1]);
    for i in range(9):
      print(a[8-i]);
    sunjimeng@SJM:~/文档$ python3.5 text.py
    上海自来水来自海
    上
    海
    自
    来
    水
    来
    自
    海
    上

        3)列表:(列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。)

        列表用[ ]标识。是python最通用的复合数据类型。

        列表中的值得分割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。

        加号(+)是列表连接运算符,星号(*)是重复操作。

    sunjimeng@SJM:~/文档$ python3.5
    Python 3.5.2 (default, Jul 17 2016, 11:52:15) 
    [GCC 4.8.4] on linux
    Type "help", "copyright", "credits" or "license" for more information.>>> normal_list=['字符串',123,4+8j,['列表里的列表',4/2]]
    >>> tiny_list=['你好',122]
    >>> print(normal_list)                    //1.输出完整的列表
    ['字符串', 123, (4+8j), ['列表', 2.0]]      
    >>> print(normal_list[3])                 //2.输出指定的列表元素
    ['列表', 2.0]
    >>> print(tiny_list*2)                    //3.输出两次指定结果
    ['你好', 122, '你好', 122]

        4)元组(元组是另一个类似于List的数据类型)

        元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

    >>> tuple=('静态列表',122,True)
    >>> tiny_tuple=(4j,('你好',True),122)
    >>> print(tiny_tuple[2])
    122
    >>> print(tuple)
    ('静态列表', 122, True)

        元组与列表的对比:

    >>> list=['字符串',122,5j]
    >>> tuple=('你好',234,5/4)
    >>> list
    ['字符串', 122, 5j]
    >>> tuple
    ('你好', 234, 1.25)
    >>> list[1]='xg'
    >>> list
    ['字符串', 'xg', 5j]
    >>> tuple[1]=True
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'tuple' object does not support item assignment

        list允许修改其中的元素,tuple不允许修改元素。list和tuple都相当于一个引用,他们是可以引用新的列表或元组的:

    >>> print(tuple)
    ('静态列表', 122, True)
    >>> list
    ['abcd', 786, 2.23, 'john', 70.2]
    >>> list=["修改后的列表"]
    >>> tuple=('修改后的元组',123)
    >>> tuple
    ('修改后组', 123)

        5)sequence 序列

        sequence(序列)是一组有顺序的元素的集合 (严格的说,是对象的集合,但鉴于我们还没有引入“对象”概念,暂时说元素) 。

        序列可以包含一个或多个元素,也可以没有任何元素。我们之前所说的基本数据类型,都可以作为序列的元素。元素还可以是另一个序列,以及我们以后要介绍的其他对象。

        序列有两种:tuple(定值表; 也有翻译为元组)和list (表)。

        6)元字典(除序列以外的最灵活的数据结构)

        列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

        字典用"{}"标识。字典由索引(key)和它对应的值value组成:(键值对)

    >>> sjm = {}
    >>> sjm['age'] = 122
    >>> sjm['name']='sunjimeng'
    >>> sjm['ch_name']='孙继锰'    //注意用单引号
    >>> print(sjm)
    {'age': 122, 'name': 'sunjimeng', 'ch_name': '孙继锰'}
    >>> hhj={'name':'ningcaichen','age':18}
    >>> hhj
    {'age': 18, 'name': 'ningcaichen'}

        (3)数据类型转换:

        有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

        以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。 

     

         这些是老版本的Python里的类型转换函数,可能有些是不能用的。

  • 相关阅读:
    图片匹配大全(转载)
    《上游》笔记
    《不可能的技艺:巅峰表现入门》笔记
    《硅谷钢铁侠》笔记
    《火线上的适应:战争时期的军事变革》笔记
    《金钱心理学:财富、贪婪和幸福的永恒教训》笔记
    流量中提取文件的若干种方法
    《重新思考:知道你不知道什么的力量》笔记
    《史蒂夫·乔布斯传》笔记
    “利润”究竟是什么
  • 原文地址:https://www.cnblogs.com/MenAngel/p/5679089.html
Copyright © 2011-2022 走看看