zoukankan      html  css  js  c++  java
  • 8.6(数据类型分类,python深浅拷贝,异常处理,基本的文件操作,绝对路径和相对路径)

    数据类型分类

    按照存值个数:

    存一个值:整型/浮点型/字符串

    存多个值:列表/字典/元组/集合

    按照有序和无序:

    有序:字符串/列表/元组

    无序:字典/集合

    按照可变和不可变

    可变:字典/列表/集合

    不可变:整型/浮点型/字符串/元组

    Python深浅拷贝

    # 拷贝   赋值
    # lt = [1,2,3]
    # lt2 = lt
    # lt.append(4)
    # print(lt)
    # print(lt2)
    # 列表为可变类型,所以lt的值变化,lt2的值也会跟着变化
    # 浅拷贝
    # import...
    lt = [1000,2000,3000,[4000,5000,6000]]
    print('id(lt)',id(lt))
    print(f"id(lt[0]):{id(lt[0])}")
    print('id(lt[1])',id(lt[1]))
    print('id(lt[2])',id(lt[2]))
    print('id(lt[3])',id(lt[3]))
    print('*'*50)
    # 深拷贝
    lt2 = copy.deepcopy(lt)     #lt2 = list(lt2)
    print('id(lt2)',id(lt2))
    print('id(lt2[0])',id(lt2[0]))
    print('id(lt2[1])',id(lt2[1]))
    print('id(lt2[2])',id(lt2[2]))
    print('id(lt2[3])',id(lt2[3]))
    print('*'*50)
    拷贝/浅拷贝/深拷贝 只针对可变数据类型
    # 拷贝
    # 拷贝: 当lt2为lt的拷贝对象时,lt内的可变类型变化,lt2变化;lt内的不可变类型变化,lt2变化
    #浅拷贝:当lt2为lt的浅拷贝对象时,lt内的可变类型变化,lt2变化;lt内的不可变类型变化,lt2不变化
    # copy.copy()   可变数据的类型中的内置方法.copy()
    # 深拷贝: 当lt2为lt的深拷贝对象时,lt内的可变类型变化,lt2不变化;lt内的不可变类型变化,lt2不变
    # copy.deepcopy()
    

    异常处理

    # 异常:报错
    # 语法异常:错误都为SynatxError
    # 检测方法
    # try:
        # if
    # except Exception as e : #无法捕捉语法错误
    # print(e)
    # 逻辑异常:错误类型多种多样
    # try:
    #     代码块
    # except: #除此之外
    #    pass
    
    # except ZeroDivisionError as e:  # 除此之外  # try里面的代码出了什么错误,就得用什么错误捕捉  # as是把错误赋值给e
    #     print('e:', e)
    # except KeyError as e:  # 可以写多个except捕捉多个异常
    #     print('e:', e)
    #except Exception as e:  可以捕捉任意异常
    # print('e:',e)
    
    # 了解部分
    # print()
    # try:
    # except Exception as e :
    #     print('e:',e)
    # # finally:   无论报不报错都会打印
    #     print()
    # assert 断言,最早的时候没有pycharm,那这个做调试,一辈子都用不上了
    
    # a = 1
    #
    # a += 1
    #
    # assert a == 3  # 条件成立会跳过,条件错误会报AssertionError错误
    #
    # print(3)
    
    
    # raise 主动抛错,没有用.                   创建框架/创建语言  C/C++ 有用
    
    # print(1)
    # raise ZeroDivisionError('傻逼吧,主动抛错干嘛')
    # print(2)
    
    # 1/0
    

    基本的文件处理

    # 基本的文件处理
    # 文件:操作系统提供的虚拟单位
    # 作用:读取数据
    # 1.找到文件路径
    # path = r''
    # 2.双击打开
    # f = open(path,'w')
    # print(f)    文件数据类型
    # r-->只读,w-->只写,清空当前文件后写入
    # 3.看文件
    # data = f.read()
    # print(data)
    # 4.写文件
    # f.write('nick handsome')
    # 5.del f    只删除了对文件的引用,没有删除对操作系统的占用
    

    绝对路径和相对路径

    绝对路径:从根目录开始描述文件路径
    相对路径:在当前文件夹下,可以直接写文件名
    

    TODO

    定义一个TODO,定义方式为#TODO,可在pycharm左下角快速转到定义#TODO的地方

    if True:
        # TODO:
        pass
    
  • 相关阅读:
    SQL逻辑查询语句执行顺序
    数据库索引的实现原理
    JAVAMail邮件服务器
    TCP/IP基础
    Java IO流学习总结
    [Lydsy1806月赛] 超速摄像头
    CodeForces
    SCU
    CodeForces
    CodeForces
  • 原文地址:https://www.cnblogs.com/jiann/p/11311312.html
Copyright © 2011-2022 走看看