• 7.30 day4


    1.数字类型

    整型和浮点型统称为数字类型。

    一、整型(int)

    1.1 作用

    表示人的年龄、各种号码、级别

    1.2 定义

    age = 18  # age=int(18)
    
    print(id(age))
    print(type(age))
    print(age)
    4530100848
    <class 'int'>
    18
    

    1.3 如何用

    加减乘除、逻辑判断(大于、小于)

    二、浮点型(float)

    2.1 作用

    表示身高、体重、薪资

    2.2 定义

    salary = 2.1  # salary=float(2.1)
    
    print(id(salary))
    print(type(salary))
    print(salary)
    4569240656
    <class 'float'>
    2.1
    

    2.3 如何用

    加减乘除、逻辑判断(大于、小于)

    2.字符串类型

    2.1作用
    表示名字、爱好

    2.2 定义

    字符串相当于一根羊肉串。而字符串就是一串被串起来的字符,在单引号、双引号或三引号内包裹的一串字符。需要注意的是:三引号内的字符可以换行,而单双引号内的字符不行。

    name1 = 'nick'
    name2 = "egon"
    print(id(name1))
    print(type(name1))
    print(name1)
    4418849624
    <class 'str'>
    nick
    name3 = """nick
    egon"""
    
    print(name3)
    nick
    egon
    

    2.3如何用

    字符串只能+、*和逻辑比较

    字符串的拼接,即重新申请一个小空间把两个字符串都拷贝一份后再拼接。

    3.列表

    如果现在有一个需求,我们需要存储一个人的爱好,如果我们使用我们之前学过的数据类型存储,那么毫无疑问,我么只能使用字符串存储,并且一个人的爱好可能是多个的,因此我们用空格作为爱好与爱好之间的分隔符。

    hobbies = "read run girl"
    print(hobbies)
    read run girl
    

    但是我们一直在强调,存不是目的,取才是目的。如果现在给我们一个需求,需要我们取出这个人的某个爱好,貌似以我们现在的知识无从下手。这个时候就得改变我们的策略,我们可以换种方法存储一个人的爱好——列表。

    3.1 作用

    存放多个值,如多个女朋友、多个爱好。

    3.2 定义

    在[]内用逗号分隔开任意类型的值。

    hobby = 'read'
    hobby_list = [hobby, 'run', 'girl']
    print(id(hobby_list))
    print(type(hobby_list))
    print(hobby_list)
    4558605960
    <class 'list'>
    ['read', 'run', 'girl']
    

    3.3 如何用

    存不是目的,取才是目的,我们介绍列表索引取值的方法,牢记索引序号从0开始。

    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.字典

    如果现在有个需求需要存我的信息,通过我们之前学习的数据类型,只有列表能够存储我们的信息。

    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
    

    使用列表虽然达到了我们的目的,但是我们能通过列表取值的时候,是基于我们已经知道了列表内部所有的元素。因此我们是不是可以给列表内的每一个元素都添加一个描述信息呢?否则如果不是存我的信息,而是用列表存取了成千上万个值,那么我们怎么通过索引精准取值呢?这样看起来好像是不可能的,因此可以使用新的数据类型——字典。

    4.1 作用

    用来存取多个值,按照key:value的方式存值,取的时候可以通过key而非索引去取值,key对value具有描述性的作用。存放数据的种类各种各样并且数据较多的时候可以使用字典。

    4.2 定义

    在{}内用逗号分隔开多个元素,每一个元素都是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]}
    

    4.3 如何用

    字典取值方式不再依赖于索引,而是依赖于key,通过[key]即可获取key对应的value值。

    # 字典套列表
    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
    

    5.布尔型

    5.1作用
    用于判断条件结果

    5.2 定义

    True、False通常情况不会直接引用,需要使用逻辑运算得到结果。

    5.3 如何用

    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。

    解压缩

    如果我们给出一个列表,我们需要一次性取出多个值,我们是不是可以用下面的方式实现呢?

    name_list = ['nick', 'egon', 'jason']
    x = name_list[0]
    y = name_list[1]
    z = name_list[2]
    print(f'x:{x}, y:{y}, z:{z}')
    x:nick, y:egon, z:jason
    

    讲真,上面的方法真的是谁用谁知道,我们可以试一试解压缩。

    解压缩可以这样理解:超市打包是把多个商品放在一起,解压缩其实就是解包把多个商品一次性拿出来。

    name_list = ['nick', 'egon', 'jason', ]
    x, y, z = name_list
    print(f'x:{x}, y:{y}, z:{z}')
    x:nick, y:egon, z:jason
    

    有时候我们解压缩的值可能是我们不想要的,那么可以使用下划线,万能的下划线。

    name_list = ['nick', 'egon', 'jason', 'tank']
    x, y, z, a = name_list
    x, _, z, _ = name_list  # _相当于告诉计算机不要了,不能以_开头和结尾
    

    还能有一个更骚的操作,只可意会不可言传。

    name_list = ['nick', 'egon', 'jason', 'tank', 'kevin', 'jerry']
    x, y, _, _, _, z = name_list
    x, y, *_, z = name_list
    

    写程序不是用来装逼的,关键是创造价值。python追求的是简洁性,代码不要写的太长了。因此字典也是可以的,但是字典解压缩的是key。

    info = {'name': 'nick', 'age': 18}
    x, y = info
    print(x, y)
    name age
    
  • 相关阅读:
    trackr: An AngularJS app with a Java 8 backend – Part III
    trackr: An AngularJS app with a Java 8 backend – Part II
    21. Wireless tools (无线工具 5个)
    20. Web proxies (网页代理 4个)
    19. Rootkit detectors (隐形工具包检测器 5个)
    18. Fuzzers (模糊测试器 4个)
    16. Antimalware (反病毒 3个)
    17. Debuggers (调试器 5个)
    15. Password auditing (密码审核 12个)
    14. Encryption tools (加密工具 8个)
  • 原文地址:https://www.cnblogs.com/bjlxxbj/p/11270187.html
Copyright © 2020-2023  润新知