• 数据类型


    '''
    数据类型
    '''

    # 一.什么是数据类型
    
    首先让我们回顾变量是什么:变量用来记录世界的状态。创建计算机的目的就是想要让计算机和人一样能够识别世间万物,既然计算机能够识别世间万物。那么我们来想想怎么让计算机来认识我呢?
    
    # 二.为何对数据分类
    
    变量的是用来反映状态以及状态变化的,毫无疑问针对不同的状态就应该用不同类型的数据去标识。
    
    # 三.不同的数据类型
    
    ## 1.数字类型
    
    整型和浮点型统称为数字类型。
    
    **(1)整型(int)**
    
    作用
    表示人的年龄、各种号码、级别
    
    ** 定义**
    
    ```
    age = 18  # age=int(18)
    
    print(id(age))
    print(type(age))
    print(age)
    4530100848
    <class 'int'>
    18
    ```
    
    ** 如何用**
    加减乘除、逻辑判断(大于、小于)
    
    **(2)浮点型(float)***
    *作用**
    
    表示身高、体重、薪资
    
    **定义**
    
    ```
    4569240656
    <class 'float'>
    2.1
    ```
    
    **如何用**
    加减乘除、逻辑判断(大于、小于)
    
    ## 2.字符串
    
    作用
    表示名字、爱好
    
    **定义**
    
    字符串相当于一根羊肉串。而字符串就是一串被串起来的字符,在单引号、双引号或三引号内包裹的一串字符。需要注意的是:三引号内的字符可以换行,而单双引号内的字符不行。
    
    ```
    name1 = 'nick'
    name2 = "egon"
    print(id(name1))
    print(type(name1))
    print(name1)
    4418849624
    <class 'str'>
    nick
    name3 = """nick
    egon"""
    
    print(name3)
    nick
    egon
    ```
    
    **如何用**
    
    字符串的拼接,即重新申请一个小空间把两个字符串都拷贝一份后再拼接。而不是你YY的把一个小空间内的变量值复制到另一个变量的小空间内,然后拼接。
    
    ```
    msg2 = "my name is 'nick'"
    msg3 = 'my name is "nick"'
    
    print(msg2 + msg3)  # my name is 'nick'my name is "nick"
    my name is 'nick'my name is "nick"
    ```
    
    注意:**如果字符串内有引号,则包裹字符串的引号和字符串内部的引号不能相同。**
    
    ```
    name = 'nick '
    print(name * 10)
    nick nick nick nick nick nick nick nick nick nick 
    ```
    
    注意:**字符串的乘法只能乘以数字。**
    
    ```
    msg1 = 'hello'
    msg2 = 'z'
    
    print(msg1 > msg2)
    False
    ```
    
    注意:**字符串比较大小,按照ASCII码比较,以后会细讲。**
    
    ```
    msg3 = 'zero'
    msg4 = 'zx'
    
    print(msg3 > msg4)
    print('Z' > 'A')
    print('Z' > 'a')
    False
    True
    False
    ```
    
    注意:**字符串的比较是字母的顺序。**
    
    ## 3.列表(list)
    
    如果现在有一个需求,我们需要存储一个人的爱好,如果我们使用我们之前学过的数据类型存储,那么毫无疑问,我么只能使用字符串存储,并且一个人的爱好可能是多个的,因此我们用空格作为爱好与爱好之间的分隔符。
    
    ```
    hobbies = "read run girl"
    print(hobbies)
    read run girl
    ```
    
    但是我们一直在强调,**存不是目的,取才是目的**。如果现在给我们一个需求,需要我们取出这个人的某个爱好,貌似以我们现在的知识无从下手。这个时候就得改变我们的策略,我们可以换种方法存储一个人的爱好——列表。
    
    ** 作用**
    存放多个值,如多个女朋友、多个爱好。
    
    **定义**
    
    在[]内用逗号分隔开任意类型的值。
    
    ```
    hobby = 'read'
    hobby_list = [hobby, 'run', 'girl']
    print(id(hobby_list))
    print(type(hobby_list))
    print(hobby_list)
    4558605960
    <class 'list'>
    ['read', 'run', 'girl']
    ```
    
    ** 如何用**
    
    ```
    hobby_list = ['read', 'run', 'girl']
    # 索引序号      0       1      2
    # 取出第二个爱好
    print(hobby_list[1])
    run
    hobby_list = ['read', 'run', ['girl_name', 18, 'shanghai']]
    # 取出girl的年龄
    print(hobby_list[2][1])
    18
    ```
    
    ## 4.字典(dict)
    
    如果现在有个需求需要存我的信息,通过我们之前学习的数据类型,只有列表能够存储我们的信息。
    
    ```
    user_info = ['nick', 'male', '19', ['oldboy', 'shanghai', 50]]
    
    print(user_info[1])  # 'male'
    print(user_info[0])  # 'nick'
    print(user_info[3][1])  # 'shanghai'
    male
    nick
    shanghai
    ```
    
    使用列表虽然达到了我们的目的,但是我们能通过列表取值的时候,是基于我们已经知道了列表内部所有的元素。因此我们是不是可以给列表内的每一个元素都添加一个描述信息呢?否则如果不是存我的信息,而是用列表存取了成千上万个值,那么我们怎么通过索引精准取值呢?这样看起来好像是不可能的,因此可以使用新的数据类型——字典。
    
    **作用**
    **定义**
    
    在{}内用逗号分隔开多个元素,每一个元素都是key: value的格式,其中value是任意格式的数据类型,key由于具有描述性的作用,所以key通常是字符串类型。
    
    ```
    user_info = {'name': 'nick', 'gender': 'male', 'age': 19,
                 'company_info': ['oldboy', 'shanghai', 50]}
    
    print(id(user_info))
    print(type(user_info))
    print(user_info)
    4396183344
    <class 'dict'>
    {'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': ['oldboy', 'shanghai', 50]}
    ```
    
    **如何用**
    
    ```
    # 字典套列表
    user_info = {'name': 'nick', 'gender': 'male', 'age': 19,
                 'company_info': ['oldboy', 'shanghai', 50]}
    print(user_info['name'])
    print(user_info['company_info'][0])
    nick
    oldboy
    # 字典套字典
    user_info = {'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': {
        'c_name': 'oldboy', 'c_addr': 'shanghai', 'c_num_of_employee': 50}}
    
    print(user_info['name'])
    print(user_info['company_info']['c_name'])
    nick
    oldboy
    ```
    
    **练习**
    
    ```
    students = [
        {'name': 'nick', 'age': 19},
        {'name': 'egon', 'age': 18}
    ]
    print(students[0]['name'])
    nick
    ```
    
    ## 5.布尔值(bool)
    
    作用
    
    用于判断条件结果
    True、False通常情况不会直接引用,需要使用逻辑运算得到结果。
    
    **定义**
    **如何用**
    
    ```
    print(type(True))
    print(True)
    <class 'bool'>
    True
    print(bool(0))
    print(bool('nick'))
    print(bool(1 > 2))
    print(bool(1 == 1))
    False
    True
    False
    True
    ```
    
    注意:**Python中所有数据类型的值自带布尔值。如此多的数据类型中只需要记住只有0、None、空、False的布尔值为False,其余的为True。**
    
    ```
    print(bool(0))
    print(bool(None))
    print(bool(''))
    print(bool([]))
    print(bool({}))
    print(bool(False))
    False
    False
    False
    False
    False
    False
    ```
    
  • 相关阅读:
    如何写文件上传下载
    填充表格的模板代码
    ArcGIS Server 分布式注意事项
    在android上导入第三方jar包 报错:Could not find class
    @Override annotation 出错
    签到时间
    分页三条件查询
    上传图片
    分页
    二级联动
  • 原文地址:https://www.cnblogs.com/jinhongquan/p/11277904.html
Copyright © 2020-2023  润新知