• python数据类型详解


    数据类型基础

    数据类型: 不同种类的变量值用不同的数据类型描述

    数字类型

    整形(int)

    1. 定义方式: age = 18;age = int(18);int('18')
    age = 18;age1 = 19  # 不建议使用
    print(age,age1)
    
    age,age1 = 18,19  # 解压缩
    
    1. 作用: 描述年龄/id号等
    2. 使用方式:+-*/ % // **( a = 1
      b = 2
      print(a+b)
      print(b-a)
      print(a*b)
      print(a/b)
      print(a//b) # 取整
      print(a%b) # 取余
      print(a**b) # 幂)
    3. 如果使用log方法,导入import cmath

    作用

    年龄/身份证号码/身高/体重等

    浮点型(float)

    1. 定义方式:salary=3.2;salary=float(3.2);float('3.2')
    2. 作用:描述薪资等
    3. 使用方法:+-*/ % // **( a = 1
      b = 2
      print(a+b)
      print(b-a)
      print(a*b)
      print(a/b)
      print(a//b) # 取整
      print(a%b) # 取余
      print(a**b) # 幂)
    4. 如果使用log方法,导入import cmath

    作用:

    可以用来表示薪水等

    字符串类型

    1. 定义方式:
    name = 'nick';name = "nick"
    name = str('nick')
    name = '''
    nick
    nick
    '''
    name = """
    nick
    nick
    """
    
    
    x = str(10) # '10'
    
    1. 作用: 名字等
    2. 使用方法
    s1 = 'nick'
    s2 = 'handsome'
    
    s1 + s2
    
    s3 = 10  # nickhandsome
    s1 + str(10)  # nick10
    # int(s1) + s3
    
    
    s1 * 5  # 'nicknicknicknicknick'
    

    列表

    1. 定义方式: []内用逗号隔开多个元素(所有数据类型)

    ctrl+鼠标左键 进入源码模式

    1. 作用: 存储多个值
    2. 使用方法
    nick_info = ['nick',180,140,['read','run','music']]
    
    nick_info[-1][1]  # 'run'
    
    
    
    # 仅做了解
    lis = [1,2,3]
    lis2 = [4,5,6]
    print(lis+lis2)
    
    
    print(lis*2)  # [1, 2, 3, 1, 2, 3]
    

    字典

    1. 定义方式: {}内以逗号隔开键值对 key(一般为字符串,具有描述意义):value(为任意数据类型) # 哈希表
    2. 作用: 存储多个值,不依赖索引取值,而通过key取值
    3. 使用方法
    nick_info_dict = {'name':'nick','height':180}
    
    nick_info_dict['height']
    

    布尔类型

    1. True和False,一般只在条件判断的时候

    除了0/None/空/False之外所有的数据类型(所有你能看到的东西)都自带布尔值为True

    解压缩

    一次性取多个值,解压缩的对象有多少个元素,则必须拿多少个

    lis = [1,2,3]
    
    x1,x2,x3 = lis  # 1,2,3
    
    # 不会用
    x1,_,x3 = lis  # 1,_,3
    *_,x3 = lis  # _,_,3
    

    基本运算符

    算术运算符

    +-*/ % // **

    逻辑运算符

    1. and: 两个条件都为真,即为真,否则都为假
    2. or:两个条件其中一个为真,则为真,否则都为假
    3. not: 真变假,假变真

    赋值运算符

    = += -= *= /= %= //= **=

    比较运算符

    > >= < <= == !=

    身份运算符

    1. is: 比较两个变量的id
    2. is not: 比较两个变量的id(A is not B == not A is B)

    运算符的优先级(了解)

    1. 如果你要优先运算,加括号

    数值类型内置方法

    整型

    1. 作用:描述年龄,id
    2. 定义方式: x = 10, x = int('10')
    3. 使用方法: 算术运算 和 比较比较运算
    4. 有序无序: 压根没有这一说
    5. 存一个值还是多个值:一个值
    6. 可变还是不可变: 不可变

    浮点型

    1. 作用:描述薪资
    2. 定义方式: x = 10.1, x = float('10.1')
    3. 使用方法: 算术运算 和 比较比较运算
    4. 有序无序: 压根没有这一说
    5. 存一个值还是多个值:一个值
    6. 可变还是不可变: 不可变

    字符串类型内置方法

    1. 作用: 描述姓名,性别
    2. 定义方法
    name = 'nick'
    
    # 
     换行
    # 	 缩进,4个空格
    # 
    +end='' 覆盖上一次打印
    
    name = r'
    	a'   # 取消
    和	的作用
    name = '\n\ta'  # 取消
    和	的作用
    
    1. 内置方法
      1. 优先掌握
        1. 索引取值
        2. 切片
        3. strip
        4. split
        5. len长度
        6. 成员运算
        7. for 循环
      2. 需要掌握
        1. upper/lower
        2. startswith/endswith
        3. rstrip/lstrip
        4. rsplit
        5. isdigit/isalpha
        6. join
        7. replace
      3. 了解
        1. find/rfind/index/rindex/count
        2. capitalize/swapcase/title
        3. center/ljust/rjust/zfill
        4. is系列(真正的了解)
      4. 存一个值还是多个值:一个值
      5. 有序or无序:有序
      6. 可变还是不可变:不可变

    有序or无序

    有索引的就是有序,无索引的就是无序

    可变or不可变

    值变id不变的是可变类型;值变id变的是不可变

    列表list

    1. 定义方式: []内逗号隔开多个元素(任意数据类型)
    2. 使用方法
      1. 优先掌握
        1. 索引取值,索引修改值
        2. 切片
        3. 成员运算
        4. 长度
        5. for循环
        6. append
        7. del删除
      2. 需要掌握
        1. insert
        2. pop
        3. remove
        4. count
        5. find
        6. index
        7. extend
        8. sort
        9. reverse
        10. clear
        11. copy
        12. ...

    字典dict

    1. 定义方式: {}内以逗号隔开键值对,key(具有描述意义,不能为可变数据类型):value(具体的任意数据类型)
    2. 使用方法
      1. 优先掌握
        1. 按key取值,按key修改值,按key增加值
        2. 成员运算
        3. 长度
        4. for循环
        5. keys/values/items
        6. del 删除
        7. get
      2. 需要掌握
        1. copy
        2. update
        3. clear
        4. setdefault
        5. fromkeys
        6. pop(按key删除)
        7. popitem(随机删除,但是删除最后一个)

    元组tuple

    1. 定义方式: ()内以逗号隔开多个任意数据类型的元素
    2. 不可更改的列表,创建后就只能是那样了

    集合set

    1. 定义方式: {}内以逗号隔开多个元素(不能为可变数据类型)
    
    1. 使用方法:

    布尔类型bool

    1. True
    2. False

    条件判断后触发,一般不单独使用

    一、Python基础实战之猜年龄游戏

    1. 给定年龄,用户可以猜三次年龄
    2. 年龄猜对,让用户选择两次奖励
    3. 用户选择两次奖励后可以退出
    age = 18  # 答案
    count = 0  # 游戏次数控制
    prize_dict = {0: '布娃娃', 1: '变形金刚', 2: '奥特曼', 3: '<Python从入门到放弃>'}
    
    # 核心代码
    while count < 3:
        inp_age = input('请输入你的年龄>>>')  # 与用户交互
    
        # 判断用户是否骚扰(超纲:判断用户输入的是否为数字)
        if not inp_age.isdigit():
            print('傻逼,你的年龄输错了')
            continue
    
        inp_age_int = int(inp_age)
    
        # 核心逻辑,判断年龄
        if inp_age_int == age:
            print('猜对了')
    
            print(prize_dict)  # 打印奖品
    
            # 获取两次奖品
            for i in range(2):
                prize_choice = input(
                    '请输入你想要的奖品,如果不想要,则输入"n"退出!!!')  # 与用户交互获取奖品
    
                # 判断是否需要奖品
                if prize_choice != 'n':
                    print(f'恭喜你获得奖品: {prize_dict[int(prize_choice)]}')
                else:
                    break
            break
    
        elif inp_age_int < age:
            print('猜小了')
    
        else:
            print('猜大了')
    
        count += 1  # 成功玩一次游戏
    
        if count != 3:
            continue
    
        again_choice = input('是否继续游戏,继续请输入"Y",否则任意键直接退出.')  # 交互是否再一次
    
        # 判断是否继续
        if again_choice == 'Y':
            count = 0
    

    数据类型分类

    可变or不可变

    可变 不可变
    列表/字典/集合 整型/浮点型/字符串/元组

    有序or无序

    有序 无序
    字符串/列表/元组 字典/集合

    一个值or多个值

    一个值 多个值
    整型/浮点型/字符串 列表/元组/字典/集合

    文件的基本操作

    打开文件的流程

    # 1. 打开文件
    
    f = open(file_path, 'r')
    
    # 2. 读写操作
    f.read() / f.write()
    
    # 3. 关闭文件
    f.close()
    
  • 相关阅读:
    A Node Influence Based Label Propagation Algorithm for Community detection in networks 文章算法实现的疑问
    Fast Newman-FN算法以及模块度定义介绍
    Label Propagation Algorithm LPA 标签传播算法解析及matlab代码实现
    设计一个smartnic
    Intel GEN11 GPU
    Intel GEN9 GPU
    Shared Virtual Memory (SVM) Functions
    connect via ssh to virtualbox guest vm without knowing ip address
    smartnic
    技术精品翻译
  • 原文地址:https://www.cnblogs.com/zfb123-/p/12056065.html
Copyright © 2020-2023  润新知