
Python进阶小结
Python从入门到放弃完整教程目录:
发布日期:2021-05-09 05:34:12
浏览次数:14
分类:博客文章
本文共 3369 字,大约阅读时间需要 11 分钟。
目录
一、异常TODO
万能捕捉异常公式
try: # 逻辑代码 1/0except Exception as e: print(e)
division by zero
二、深浅拷贝
2.1 拷贝
拷贝/浅拷贝/深拷贝都是针对可变类型数据而言的
l1 = ['a','b','c',['d','e','f']]l2 = l1l1.append('g')print(l1) # ['a','b','c',['d','e','f'],'g']print(l2) # ['a','b','c',['d','e','f'],'g']
如果l2是l1的拷贝对象,则l1内部的任何数据类型的元素变化,则l2内部的元素也会跟着改变,因为可变类型值变id不变
2.2 浅拷贝
import copyl1 = ['a','b','c',['d','e','f']]l2 = copy.copy(l1)l1.append('g')print(l1) # ['a','b','c',['d','e','f'],'g']print(l2) # ['a','b','c',['d','e','f']]l1[3].append('g')print(l1) # ['a','b','c',['d','e','f','g'],'g']print(l2) # ['a','b','c',['d','e','f','g']]
如果l2是l1的浅拷贝对象,则l1内的不可变元素发生了改变,l2不变;如果l1内的可变元素发生了改变,则l2会跟着改变
2.3 深拷贝
import copyl1 = ['a','b','c',['d','e','f']]l2 = copy.deepcopy(l1)l1.append('g')print(l1) # ['a','b','c',['d','e','f'],'g']print(l2) # ['a','b','c',['d','e','f']]l1[3].append('g')print(l1) # ['a','b','c',['d','e','f','g'],'g']print(l2) # ['a','b','c',['d','e','f']]
如果l2是l1的深拷贝对象,则l1内的不可变元素发生了改变,l2不变;如果l1内的可变元素发生了改变,l2也不会变,即l2永远不会因为l1的变化而变化
三、数据类型内置方法
3.1 数字类型内置方法
3.1.1 整型
- 作用:定义年龄/身高/体重/id号
- 定义方式:
age = 18age = int('18')
- 方法:
+ - * / % // **
- 多个值or一个值:一个值
- 有序or无序:压根没有有序无序这一说
- 可变or不可变:不可变
- 可变:值变id不变,值变id也变
3.1.2 浮点型
- 作用:定义薪资/价格
- 定义方式:
salary = 3.2salary = float('3.2')
- 方法:
+ - * / % // **
- 多个值or一个值:一个值
- 有序or无序:压根没有有序无序这一说
- 可变or不可变:不可变
3.2 字符串类型内置方法
- 作用:姓名/
- 定义方式:
name = 'nick'name = "nick"name = '''nicknick'''name = """nicknick"""name = "'nick'"name = '"nick"'
方法
- 优先掌握
索引取值
切片长度切分split除两边空白strip成员运算in not infor循环9. 需要掌握lstrip/rstrip:左/右除空白
rsplit:从右开始切割upper/lower:大写/小写startstwith/endswith:以某开头/以某结尾join:连接列表为字符串replace:替换字符isdigit:判断是否为数字17. 了解find/rfind/index/rindex/count:查找/从右开始查找/索引结果/从右开始索引结果/计数
center/ljust/rjust/zfill:居中填充/居左填充/居右填充/填充0expantabs:扩展tab键capitalize/swapcase/title:大写/大小写转换/首字母大写is系列:略4. 多个值or一个值:一个值5. 有序or无序:有序6. 可变or不可变:不可变3.3 列表类型内置方法
- 作用:多个女朋友/
- 定义方式:[]内用逗号隔开多个任意数据类型的元素
friends_list = ['longzeluola','canglaoshi','qiaobenai','nick']lis = list('abcd')
方法:
- 优先掌握
索引取值(即可取又可改)
切片长度append成员运算for循环8. 需要掌握count:元素个数计数
remove:移除元素reverse:反转列表pop:删除元素insert:插入元素sort:列表排序index:索引元素del:删除元素extend:扩展列表clear:清除列表4. 多个值or一个值:多个值5. 有序or无序:有序6. 可变or不可变:可变3.4 元祖类型内置方法
- 作用:类似于列表,可以取不可以存
- 定义方式:
friends_tuple = ('longzeluola','canglaoshi','qiaobenai','nick')tup = tuple('abcd')
方法
- 优先掌握
索引取值(无法更改)
切片长度成员运算for循环count:元素个数计数index:元素位置索引4. 多个值or一个值:多个值5. 有序or无序:有序6. 可变or不可变:无可变不可变这一说3.5 字典类型内置方法
- 作用:值太多列表存容易,取麻烦时使用字典
- 定义方式:
nick_info_dict = {'name':'nick','height':180,'weight':140,'hobby_list':['read','run','music','fishing','programming','coding','debugging']}for k,v in nick_info_dict.items(): print(k,v)
方法
- 优先掌握
按键取值
长度keys/values/itemsfor循环成员运算7. 需要掌握pop:删除元素
fromkeys:由一个列表生成一个字典,默认值为Nonesetdefault:有指定key不会改变值;无指定key则改变值get:通过key获取value,无key默认获取Noneupdate:扩展字典del:删除字典键值对4. 多个值or一个值:多个值5. 有序or无序:无序6. 可变or不可变:可变3.6 集合类型内置方法
- 作用:存多个值,为了集合之间做运算
- 定义方式:
s = set()s = {1,2,3,4,5,1}
方法:
- 优先掌握
去重
并集 |交集 &差集 -对称差集 ^父集 >&emsp;>=子集 <&emsp;<===
10. 需要掌握 add:添加元素
difference_update:更新该集合没有的元素isdisjoint:如果两个元素交集为空返回True,否则返回Falseremove:移除元素 # 值不存在会报错discard :移除元素 # 不会报错4. 多个值or一个值:多个值5. 有序or无序:无序6. 可变or不可变:可变3.7 布尔类型
- 作用:一般用于判断,除了0/None/空/False自带布尔值为False,其他的数据类型自带布尔值为True
四、数据类型分类
4.1 按值个数
一个值 | 多个值 |
---|---|
整型/浮点型/字符串 | 列表/元祖/字典/集合/ |
4.2 按有序无序
有序 | 无序 |
---|---|
字符串/列表/元祖 | 字典/集合 |
4.3 按可变不可变
可变 | 不可变 |
---|---|
列表/字典/集合 | 整型/浮点型/字符串 |
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年03月26日 00时09分30秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Mybatis【5】-- Mybatis多种增删改查那些你会了么?
2021-05-08
lvs+keepalive构建高可用集群
2021-05-08
6 个 Linux 运维典型问题
2021-05-08
取消vim打开文件全是黄色方法
2021-05-08
一个系统部署多个tomcat实例
2021-05-08
Typescript 学习笔记六:接口
2021-05-08
MySQL-时区导致的时间前后端不一致
2021-05-08
bcolz的新操作
2021-05-09
POD类型
2021-05-09
Head First设计模式——迭代器模式
2021-05-09
记一次讲故事机器人的开发-我有故事,让机器人来读
2021-05-09
netcore中使用session
2021-05-09
【wp】HWS计划2021硬件安全冬令营线上选拔赛
2021-05-09
Ef+T4模板实现代码快速生成器
2021-05-09
Java面试题:Servlet是线程安全的吗?
2021-05-09
Linux探测工具BCC(可观测性)
2021-05-09
采坑 - 字符串的 "" 与 pd.isnull()
2021-05-09
《我是猫》总结
2021-05-09
mcrypt加密以及解密过程
2021-05-09