day09学习整理-Python进阶

2019/08/06 学习整理

Python进阶

数据类型分类

一、按存值个数区分

存放个数数据类型
单个值数字,字符串
多个值列表,元组,字典,集合

二、按可变不可变区分

可变or不可变数据类型
不可变数字,字符串,元组
可变列表,字典,集合

三、按有序无序区分

有序or无序数据类型
有序字符串,列表,元组
无序字典,集合

四、按访问类型区分

访问类型数据类型
直接访问数字
顺序访问(顺序类型)字符串,列表,元组
key值访问(映射类型)字典

Python深浅拷贝

一、拷贝(直接赋值)

其实就是对象的引用(别名)。

a = [1,2,3]
b = a
print('b=',b)
a.append(4)
print('a=',a)
print('b=',b)
print(id(a))
print(id(b))
b= [1, 2, 3]
a= [1, 2, 3, 4]
b= [1, 2, 3, 4]
1364297998920
1364297998920

二、浅拷贝

拷贝父对象,不会拷贝对象的内部的子对象。

import copy

a = [1, 2, 3, [4, 5]]
b = copy.copy(a)
print('b=', b)
a.append('hey')   # 对被拷贝对象父对象进行添加
a[3].append(6)    # 对被拷贝对象子对象a[3]进行添加
print('a=', a)
print('b=', b)
print(id(a))
print(id(b))
b= [1, 2, 3, [4, 5]]
a= [1, 2, 3, [4, 5, 6], 'hey']
b= [1, 2, 3, [4, 5, 6]]  # 随子对象改变而改变,父对象不受影响
1974080170568  
1974080170824

三、深拷贝

完全拷贝了父对象及其子对象。

import copy

a = [1, 2, 3, [4, 5]]
b = copy.deepcopy(a)
print('b=', b)
a.append('hey')
a[3].append(6)
print('a=', a)
print('b=', b)
print(id(a))
print(id(b))
b= [1, 2, 3, [4, 5]]
a= [1, 2, 3, [4, 5, 6], 'hey']
b= [1, 2, 3, [4, 5]]
1916977867208
1916977867464
深拷贝对象不受原对象改变的影响

异常处理

一、什么是异常?

异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。
一般情况下,在Python无法正常处理程序时就会发生一个异常。
异常是Python对象,表示一个错误。
当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

二、异常处理

python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试python程序。

  • 异常处理
  • 断言(Assertions)

异常的种类有多种多样只需要记住万能的Exception

s1 = 'hello'
try: # 语法 try:  except:
    int(s1)
except Exception as e:
    print(e)

基本文件操作

一、什么是文件?

文件是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位。文件的操作是基于文件,即文件的操作核心就是:读和写。

二、对文件的操作

读:

# read模式打开文件
f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt', mode='r')
# 读取文件内容,向操作系统发起读请求,会被操作系统转成具体的硬盘操作,将内容由硬盘读入内存
data = f.read()
print(data)
# 由于Python的垃圾回收机制只回收引用计数为0的变量,但是打开文件还占用操作系统的资源,所以我们需要回收操作系统的资源资源
# del f 只是回收变量f
f.close()
name = '胡歌'
pwd = '123'

写:

# write模式打开文件
f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt', mode='w')
f.write("""name = '胡歌'
          pwd = '123'""")
f.close()
f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt', mode='r')
data = f.read()
print(data)
name = '胡歌'
pwd = '123'

绝对路径和相对路径

一、绝对路径

如名字表达的一样,是绝对的。

是从根目录开始直到文件位置

C:/user/hp/test.txt

二、相对路径

相对于程序当前所在目录到文件位置

./test.txt

转载于:https://www.cnblogs.com/Wunsch/p/11309614.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值