字典在转化为其他类型时,会出现是否舍弃value的操作,只有在转化为字符串的时候才不会舍弃value
注释的快捷键是ctrl+/
字符串无法与整数,浮点数,等用加号完成拼接
5不入???
还有一种格式化的方法
不限制类型,不做精度的控制
type()
判断的条件应是bool类型
仅仅是空格则不行
想要规范一些,就要遵循一些格式
必须在赋值之前声明为全局变量
del仅仅完成删除的操作
像append,extend都是不可以用的,因为元组不可以修改
传入的’12‘会被划分为两个小字符串’1‘’2‘
集合没有下表索引,故.pop不能指定下标来进行取出,而列表可以
集合不支持下标索引
字典不允许Key 的重复
list,tuple,setstring是没有办法去转化成字典的,但字典是可以转换成别的容器的,转换成字符串字典不会丢失value,转换成其他类型,字典会丢失value
容器的通用排序功能
排序的结果会变成列表对象
python函数进阶
(1)函数的多返回值
(3)匿名函数
2.函数的多种传参方式
(1)掌握位置参数
(2)关键字参数
(3)不定长参数
(4)缺省参数
位置参数与其他传参进行混用时,需要写在最前面,不然就会出现语法错误
默认参数必须定义在最后面
位置传递
kw指keyword
匿名函数
1.函数作为参数传递
实际上传入的是代码的执行逻辑
2.lambda匿名函数
默认直接return ,不用写return语句
并且没有办法进行回车换行写多行
python文件操作
了解编码
了解文件的操作
encoding参数在函数定义中并不是第3位,所以要使用关键字传参
f是对文本文件进行操作功能的对象
w:覆盖写入
read()得到的类型是字符串
这里的strip是为了去除换行符
文件的追加操作
应先换行再进行追加
文件操作案例:实现文件的备份操作
Python异常,模块与包
except(),这个括号是元组
所以的异常都是基于这个顶级的异常Exception
当捕获Exception时,所有的异常都可以捕获到
finally和exception都是可选的
异常的传递
故捕获异常时并不需要从真正出现异常的那一行开始捕获
python模块
模块的导入
[ ]表示的都是可选的意思
例:from time import *相较于直接import time的不同在于
前者可以直接使用内部的函数sleep(),而后者需要time.sleep()
“.”是用于确定层级关系的
给导入的功能设置一个别名
自定义模块
模块名要符合标识符的命名规则
这种定义函数的写法应再了解一下
右键run 的时候内置函数__name__就会被标记为__main__,故if语句成立,执行
python文件都存在__name__的这个内置变量
当以from的模块导入运行的时候,模块内部的__name__不会被标记为__main__
上图在主函数只能够使用test_A(),而不能使用test_B(),__all__指向列表
但可以自行导入未包含在__all__内的函数,
但是__all__不会限制你直接导,from my_module import pr1,就可以使用pr1
python包
(1)自定义包
(2)如何安装第三方包
只有__init__.py文件存在于文件夹当中,那么这个文件夹就是python包,否则就是一个普通的文件夹
可以直接深入到对应的模块函数
面向对象,简单来说,就是让对象按命令去干活
other 表示的是另一个用于比较的对象
lt不支持小于等于和大于等于
将现实世界的事物封装到了程序的内部
私有成员可以通过运行其他成员而执行
pass关键字用于补全语法
在子类调用父类的成员
self相当于C++中的this指针
super其实是指父类的意思
运用场景:
父类拥有部分功能,子类在父类的基础上拓展了相应的功能,但要沿用父类的一些功能可以直接调用父类成员,不用重写
alt+回车=导入函数包
json.loads可以将字符串格式转变为字典格式
注解写错并不会产生运行的问题