• Python语法入门之基本数据类型


    一、整型(int)

    python2中有long类型
    python3中没有long类型,只有int类型

    整形,用来记录年龄,人数等整数相关的状态

    age = 21
    students = 65
     
    print(type(age))
    <class 'int'>  # 类型为整型
    

    二、浮点型(float)

    用来记录工资,身高,体重等小数相关的状态

    sal = 5257.23
    weight = 60.78
    height = 175.12
     
    print(type(sal))
    <class 'float'>  # 类型为浮点型
    

    三、字符串类型(str)

    在引号内的都被称为字符串,用来描述事物的状态信息

    name = 'kody'
    address = '河南南阳'
    sex = '男'
     
    print(type(sex))
    <class 'str'>  # 类型为字符串
    

    字符串引号是没有区别的,但不能混用

    # 单双引号无区别,都是字符串引号
    name = "kody"
    name = 'kody'
    name = """kody"""
     
    # 但是单双引号不能混用
    name = 'kody"  # 错误示例
    

    如果字符串中还需要引号,就必须嵌套

    today = '你看起来很美,像一朵‘玫瑰’,让人心情也好起来了'
    print(today)
    你看起来很美,像一朵‘玫瑰’,让人心情也好起来了
    

    字符串拼接是开辟一个新的内存空间,将你拼接之后的值存进去

    s6 = 'hello'
    s7 = 'world'
    print(s6 + s7)
    

    字符串在python2和python3中的细微区别

    python2中:

    str的本质是8个bit位的序列

    >>> s1 = 'sean'
    >>> type(s1)
    <type 'str'>
    >>> s1 = s1.decode("utf-8")  # 将s1的sean字符串类型解码为utf-8
    >>> type(s1)  # 打印解码后的s1
    <type 'unicode'>  # 显示为unicode
    >>> s1
    u'sean'
    

    当我们把s1的值解码后为unicode,那未解码前,s1的值应该为8个bit位的序列


    python3中:

    str的本质是unicode序列

    >>> ss1 = 'sean'
    >>> type(ss1)
    <class 'str'>
    >>>
    >>> ss1 = ss1.encode('utf-8')  # 把ss1的值编码为utf-8
    >>> ss1
    b'sean'
    >>>
    >>> type(ss1)  # 打印ss1的类型
    <class 'bytes'>  # 为bytes
    

    当我们把ss1的值编码后为bytes,那未编码前,ss1的值是unicode的序列

    1024G = 1T
    1024M = 1G
    1024KB = 1M
    1024B = 1KB
    1B = 8bit

    四、复数

    我们来明确一下什么是复数: 复数在数学上面的定义是由实数部分和虚数部分所组成的数,形如a+bj .

    其中a、b为实数,j为“虚数单位”,j 的平方等于-1.a、b分别叫做复数a+bj的实部和虚部。

    # 问题
    关于 Python 的复数类型,以下选项中描述错误的是
    A复数的虚数部分通过后缀“J”或者“j”来表示
    B对于复数 z,可以用 z.real 获得它的实数部分
    C对于复数 z,可以用 z.imag 获得它的实数部分
    D复数类型表示数学中的复数
    正确答案: C
    
    # 下面让我们在Python中定义一个复数:real + imag(虚部的单位可以是j或者J)
    a = 6 + 0.6j
    # 输出这个复数a
    print(a)
    # 获取实部
    print(a.real)
    # 获取虚部
    print(a.imag)
    # 获取该复数的共轭复数
    print(a.conjugate())
    # 让我们通过complex函数来定义一个复数
    a = complex(1, 2)
    b = complex(1)
    c = complex("1")
    d = complex("1+2j")
    # 运行结果
    (1+2j)
    (1+0j)
    (1+0j)
    (1+2j)
    

    五、列表(list)

    存在一个或者多个不同类型的值

    # 假设我们想要取sean老师的其中一个技能“跳”,改如何取出?
    sean = ['老男人', '60', ['唱', '跳', 'rap', '篮球']]
     
    # 利用索引取值(索引计数是从0开始的)
    print(sean[0])  # 首先我们取索引为0的发现对应的位置是--老男人
    老男人
    print(sean[1])  # 索引1的位置对应的是--60
    60
    print(sean[2])  # 索引2的位置对应的是一个列表
    ['唱', '跳', 'rap', '篮球']
     
    # 那发散思考,sean老师的技能是在大列表中,索引位置为2的小列表里,因此
    print(sean[2][1])
    跳
    
    l1 = [
        ['sean', '老男人', '60', ['唱', '跳', 'rap', '篮球']],
        ['egon', '抽烟', '喝酒']
    ]
     
    print(l1[0][3][3])
    篮球
    

    六、数据字典(dict)

    定义方式

    通过大括号存储数据,通过key:value这种映射关系定义键值对,每个键值对通过逗号进行分隔

    # d = dict({'name': 'sean', 'age': '80})
    d = {'name': 'sean', 'age': '80'}
     
    print(d['name'])
    sean
    print(type(d))
    <class 'dict'>
     
    print(d['name'], d['age'])
    sean 80
    
    # 例如我想取出kody的兴趣爱好中的羽毛球
    d1 = {'name': 'kody', 'age': '21', 'hobby': ['看书', '听歌', '羽毛球']}
     
    print(d1['hobby'][2])
    羽毛球
    

    七、布尔值(bool)

    约定成俗的,在定义bool的时候,开头使用is_开头
    例如:is_successd

    定义

    主要用于判断事物的对错

    值相等的情况下,id不一定相等

    id相等的情况下,值一定相等

    a = True  # a = bool(True)
    b = False  # a = bool(False)
    
    a = 1
    b = 2
     
    print(a > b)  # 比较大小
    False  # 返回结果,不正确
    

    ==和is

    a = 1
    b = 1
     
    print(a == b)  # 等号比较的是value
    print(a is b)  # is比较的是id(地址)
    True
    True
    
  • 相关阅读:
    [论文笔记]CVPR2017_Joint Detection and Identification Feature Learning for Person Search
    [论文笔记]Objects as Points
    [论文笔记]ICCV2017_SVDNet for Pedestrian Retrieval
    [论文笔记]ICPR2016_Person Re-Identification Using CNN Features Learned from Combination of Attributes
    VMware ESXI6.0服务器安装系列:RAID设置
    LVM基础详细说明及动态扩容lvm逻辑卷的操作记录
    调用对象 “ha-datastoresystem”的“HostDatastoreSystem.QueryVmfsDatastoreCreateOptions” 失败。
    动态扩容lvm逻辑卷的操作记录
    Kubernetes之Flannel介绍
    Linux服务器同步网络时间
  • 原文地址:https://www.cnblogs.com/cnhyk/p/12288376.html
Copyright © 2020-2023  润新知