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
    
  • 相关阅读:
    sqlplus时报Linux-x86_64 Error: 13: Permission denied
    thrift之TTransport层的缓存传输类TBufferedTransport和缓冲基类TBufferBase
    Java实现 蓝桥杯 算法提高 新建Microsoft world文档
    Java实现 蓝桥杯 算法提高 新建Microsoft world文档
    Java实现 蓝桥杯 算法提高 快乐司机
    Java实现 蓝桥杯 算法提高 快乐司机
    Java实现 蓝桥杯 算法提高 队列操作
    Java实现 蓝桥杯 算法提高 队列操作
    Java实现 蓝桥杯 算法提高 文本加密
    Java实现 蓝桥杯 算法提高 合并石子
  • 原文地址:https://www.cnblogs.com/jiann/p/11311312.html
Copyright © 2011-2022 走看看