内置方法
1.列表的内置方法
列表在调用内置方法后不会产生新的值而是修改自身。
len():统计列表中的数据值个数
append():在列表尾部增加数据值,不管什么类型都当做一个数据值追加
insert():在列表任意位置插入数据,用索引控制位置
extend():拼接列表,“+”也可以直接用符号连接两个列表;也可以通过for循环从一个列表取出添加到另一个列表
列表.[索引]:通过索引查看数据值,并且可以修改数据
del 列表[索引]:通过索引指定要删除数据的位置
remove():直接在括号内填入明确的数据值直接删除
pop():默认先取出尾部数据值然后再删除
index():查看数据值对应的索引值
count():统计某个数据值在列表中出现的次数
sort():给列表进行排序,默认为升序(reverse = True:降序)
“>”,“<” :可以理解为包含和不包含,比较一个列表的数据值是否包含在另一个列表中
2.元组内置方法(tuple)
支持fou循环的数据类型都可以转元组,当元组就一个数据值时逗号不能少
len() : 统计元组中数据值的个数用法一样
元组(索引):查看数据值,元组中的数据值不可以更改
ps:特殊情况当元组中有其它类型组成的数据值往这个数据值中添加时是可以的
3.字典内置方法(dict)
字典由K:V键值对组成,键值对一般是字符串,K值只要是不可变类型都可以,字典是无序的所以没有索引按K值取值
get():取值时如果K值不存在不会报错默认返回None,可设置返回值
len():用法一样统计字典中键值对的个数
字典名['K值']:直接通过K值对相应的V值进行修改如果K值不存在则是先增键值对
del 字典名['K值']:通过K值删除数据
pop():当删除的K值不存在时可以返回自己设置的值
popitem():随机删除
keys():获取字典所有的K值,结果用列表输出
values():获取字典所有的V值,结果用列表输出
items():获取字典所有KV键值对,组织成列表套元组
update():括号内指定好KV值进行修改如果不存在则新增
fromkeys():快速构造字典 默认情况下所有键都用给的这个值
集合内置方法
集合是支持for循环且数据是不可变类型,定义空集合需要使用关键字才可以集合内数据必须是不可变类型(整型、浮点型、字符串、元组、布尔值)
set():集合具有去重功能
&:求两个集合的共同数据值
-:求两个集合各自独有的数据值
|:求两个集合的所有好友
^:求集合各自的数据值
数据可变类型与不可变类型
可变类型
调用内置方法之后改变的是自身,不产生新的值
不可变类型
调用内置方法之后不改变自身,而是产生新的值
垃圾回收机制
在python中会自动帮你申请和释放内存空间
1.引用计数
数据值被变量名赋值一次后身上的计数就加一,当数据值身上引用计数为0则就会被垃圾回收机制回收,但当在循环中时这时候会出现bug;
2.标记清除
为了解决应用计数在循环中的bug所以有了标记清除,会把程序产生的所有数据都检查一遍是否存在循环引用打上标记 之后一次性清除;
3.分代回收
标记清除每次都将全部数据都检查资源消耗太大,分代回收则优化了资源消耗,会将数据按照被引用的频率分成三层青年代、中年代、老年代,越往下检查频率越低;
字符编码
将人类能懂的数据按一定规则转换成计算机能懂的数据值
字符串编码发展史:
ASCII码一家独大(美国) 1bytes储存字符
各国自己的编码 中国(GBK码)1bytes存储英文 2bytes存储中文
万国码统一天下 (unicode) 后优化成 utf家族 常用(utf-8)
ps:数据值用什么编码存就得用什么编码解
ps:在python2解释器中默认编码ASCII码; # coding:utf-8 格式需要在字符串前加u
文件操作简介
1.文件操作
文件操作是通过编码自动操作文件读写,文件是操作系统暴露给用户操作计算机硬盘的快捷方式之一。
2.打开、关闭
变量名 = open(文件路径、读写模式、字符编码)
变量名.close 关闭文件
with open() as 变量名:
子代码运行结束后自动调用close()方法
ps:文件路径用绝对路径时前面要加字母‘r’取消特殊含义
3.文件的读写模式
文本模式
r:只读取内容不能做其他操作
ps:当文件路径不存在时直接报错
w: 只能写内容不能做其他操作
ps:当文件路径不存在自动创建文件,文件存在会先清空文件内容再新写入
a:默认是末尾上追加新内容不能做其他操作
ps:文件路径不存在会自动创建该文件,文件存在不会清空只在文件末尾填写新内容
二进制模式
rb、wb、ab;用法和文本模式一样但是二进制模式支持所有类型的文件,不需要指定encoding参数,读写都是以bytes
4.文件的更多操作方法
read(): 一次性读取文件内所有内容并把光标停留在文件末尾,再次读取则为空
readline(): 一次只读取一行
readlines():按照行的方式读取所有内容并用列表返回
readable():判断当前文件是否可读
writable():判断当前文件是否可写
write(): 填写文件内容
writelines():支持填写容器类型可以存放多个数据值的数据类型
flush():将内存中的文件数据立刻刷到硬盘(command+s)
5.文件内光标的移动
read():在括号内指定读取几个二进制模式下为字节数文本模式下为字符
tell(): 获取光标移动的字节数
seek(offset,whence):
offset 控制光标移动的位移量(字节)
whence 选择模式有三种; 0 文件开头移动 1文件当前所在位置开始 2 文件末尾;模式1和2只能在二进制下使用
6.文件内容的修改
覆盖写
先读取文件内的数据值到内存然后在内存中完成修改再用w模式写入到文件中
ps:有点只占用一块硬盘空间,缺点数据大时会造成内存溢出
重命名
先读取文件内容到内存之后在内存中完成修改保存到新建文件,再将原文件删除把新文件夹重命名原文件名
ps:优点不会造成内存溢出,缺点一段时间要占用硬盘两块地方
函数的简介
1.函数的理解
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。能提高应用的模块性,和代码的重复利用率。函数必须先定义再调用!!!
2.函数的语法结构
def 函数名(参数1,参数2):
'''函数注释'''
函数体代码
return 返回值
ps:函数在定义阶段只检查函数体代码语法 不执行函数体代码,只要调用了才真正的执行函数体代码。
3.函数的分类
1.内置函数
解释器提前定义好可以直接调用的函数(input、print、len等等);但数据类型的内置方法必须使用数据类型点的方法调用
2.自定义函数
1)空函数
函数主体用pass顶替没有任何功能
2)无参函数
函数定义阶段括号内没有填写参数,调用函数直接函数名加括号即可调用
3)有参函数
函数定义阶段括号内填写参数,调用需要函数名加括号并给数据值
4.函数的返回值
返回值就是调用函数之后产生的结果 获取函数返回值的方式是固定的
变量名 = 函数()
ps:有则获取没有则默认None;return后面不写也返回None;return后面写什么就返回什么(数据值就直接返回,变量名的话则找到对应的数据值返回0
5.函数的参数
1.形式参数
函数在定义阶段括号内填写的参数简称‘形参'
2.实际参数
函数在调用阶段括号内填写的参数简称‘实参'
ps:形参相当于变量名,实参相当于数据值;调用时会临时绑定,运行结束则立刻解除
3.位置形参
函数在调用阶段括号内以什么等于什么的形式传值称为关键字实参
ps:指名道姓的给形参传值(打破位置限制)无论形参还是实参都遵循简单的在前面,复杂的在后面;同一形参在一次调用中只能传一次值。
4.默认值参数
函数在定义阶段括号内以什么等于什么的形式填写的形参称之为默认值形参
ps:在定义阶段就给形参绑定值后续调用可以不给值,用默认的
5.可变长参数
打破形参、实参的个数限制可以随意传个数
*在形参中的作用
接收多余的位置参数并组织成元组的形式赋值给*后面的变量名
**在形参中的作用
接收多余的关键字参数并组织成字典形式赋值给**后面的变量名