zoukankan      html  css  js  c++  java
  • 三、基本数据类型

    1、什么是数据?为什么要有多种类型的数据?

      1.1、数据即变量的值,例如 age=18,18是我们需要保存的数据。

      1.2、变量的是用来反映/保持,状态以及状态变化的,针对不同的状态应该用不同类型的数据去标识。

      1.3、了解Python是一门解释型的强类型动态语言

        概括来说编程语言的划分有以下三种模式:

    1.3.1、编译型or解释型

    1.3.2、强类型or弱类型

    1.3.2.1、强类型语言:数据类型不可以被忽略的语言

        即变量的数据类型一旦被定义,那就不会再改变,除非进行强转。

        在Python中,例如: name = 'egon',这个变量name在被赋值的那一刻,数据类型就被确定死了,是字符型,值为'egon'。

    1.3.2.2、弱类型语言:数据类型可以被忽略的语言。

        比如linux中的shell中的一个变量,是随着调用方式的不同,数据类型科随意切换的那种。

    1.3.3、动态型or静态性

    1.3.3.1、动态型语言:运行时才进行数据类型检查

        在变量赋值的时候,就确定了变量的数据类型,不用事先给变量指定的数据类型

    1.3.3.2、静态型语言:需要事先给变量的数据类型,不用事先给变量制定可随意切换的那种。

    1.3.4、所以综上所述,Python是一门解释型的强类型动态语言。

        

    2、数字

    2.1、int整型

        定义:例如:age=10   #age=int(10)

    用于标识:年龄,等级,身份证号,qq号,个数

    2.2、float浮点型

        定义:salary=3.1   #salary=float(3.1)

    用于标识:工资,身高,体重。

    2.3、其他类型(了解)

    2.3.1、int整型

        在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647;
        在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807。

    2.3.2、long长整型

        跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
        注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
        注意:在Python3里不再有long类型了,全都是int
    >>> a= 2**64
    >>> type(a) #type()是查看数据类型的方法
    <type 'long'>
    >>> b = 2**60
    >>> type(b)
    <type 'int'>

    2.3.3、complex复数型

    >>> x=1-2j
    >>> x.imag  #复值
    -2.0
    >>> x.real    #真值
    1.0

     

    2.4、字符串

        在Python中,加了引号的字符就是字符串类型,Python并没有字符类型。

        定义:name='egon'   #name=str('egon')

    用于标识:描述性的内容,比如名字,性别,国籍,种族。

    2.4.1、单引号,双引号,三引号的区别

    在Python中,单引号,双引号,三引号并没有任何的区别,需要注意不同引号间的配合。2.4.2、字符串拼接

    2.4..2.1只能在字符串之间进行,且只能相加或者是相乘。例如:

    >>> name='egon'
    >>> age='18'
    >>> name+age #相加其实就是简单拼接
    'egon18'
    >>> name*5
    'egonegonegonegonegon'

    2.4.2.2、注意1:字符串相加的效率不高;

        字符串1+字符串2,并不会在字符串1的基础上加入字符串2,而是申请一个全新的内存空间存入字符串1和字符串2的和。

    2.4.2.3、注意2只能字符串加字符串,不能字符串加其他类型。

    2.5、列表

        在[]内用逗号分隔,可以存放n个任意类型的值

        定义:students=['egon','alex','wupeiqi',] #students=list(['egon','alex','wupeiqi',])

        用于标识:存储多个值得情况,比如一个人有多个爱好

        例如:存放多个学生的信息:姓名,年龄,爱好

    >>> students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]]

    >>> students_info[0][2][0] #取出第一个学生的第一个爱好 'play'

     2.6、字典

    2.6.1、什么要用字典

        存放一个人的信息:姓名,性别,年龄,很明显是多个值,在基于知道对应位置的情况下,可以使用列表去存放。在不知道对应关系的情况下,需要需求一种可以存放多个任意类型的值,又可以硬性规定值的映射关系的类型,比如key=value,这就用到了字典。

        在{}中用逗号分隔,可以存放多个key:value的值,value可以是任意类型。

        定义:info={'name':'egon','age:18','sex:18'}   #info=dict({'name':'egon','age:18','sex:18'})

        用于标识:储存多个值的情况,每个值都有唯一对应的key,可以更为方便高效的取值。

        例如:

    info={
    'name':'egon',
    'hobbies':['play','sleep'],
    'company_info':{
    'name':'Oldboy',
    'type':'education',
    'emp_num':40,
    }
    }
    print(info['company_info']['name']) #取公司名

    students=[
    {'name':'alex','age':38,'hobbies':['play','sleep']},
    {'name':'egon','age':18,'hobbies':['read','sleep']},
    {'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
    ]
    print(students[1]['hobbies'][1]) #取第二个学生的第二个爱好

    2.7、布尔类型

    2.7.1、布尔值,一个Ture,一个False

        我们在编写程序让计算机运行时,应该是让计算机无限接近人脑,或者说,人脑能干什么,计算机就应该能干什么,人脑的主要作用是数据运算与逻辑运算,此处的布尔类型九模拟人的逻辑运算,即判断一个条件成立时,用Ture标识,不成立则用Flase标识。

    >>> a=3
    >>> b=5
    >>>
    >>> a > b #不成立就是False,即假
    False
    >>>
    >>> a < b #成立就是True, 即真
    True 

        接下来就可以根据条件结果来干不同的事情了:
    if a > b
    print(a is bigger than b )

    else
    print(a is smaller than b )
    上面是伪代码,但意味着, 计算机已经可以像人脑一样根据判断结果不同,来执行不同的动作。

    2.7.2、注意:所有的数据类型都自带布尔值

                          None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False

                          其余皆为True

    2.8、重点:

    2.8.1、可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典。

    2.8.2、不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间)

  • 相关阅读:
    P1439 【模板】最长公共子序列
    DP,入门???
    关于Eclipse在servlet中连接数据库时出现驱动加载失败的解决
    JSP学习(JavaBean)
    HTML随笔3
    CSS随笔3
    计算机网络随笔
    基本命令行操作1(java编译)
    Javascript随笔2(JQuery)
    Javascrip随笔1
  • 原文地址:https://www.cnblogs.com/jingpeng/p/12373537.html
Copyright © 2011-2022 走看看