一 常用数据类型及内置法
1 列表
定义:
- 列表是Python中内置有序、可变序列,列表的所有元素放在一对中括号“[]”中,并使用逗号分隔开;
- 当列表元素增加或删除时,列表对象自动进行扩展或收缩内存,保证元素之间没有缝隙;
- 在Python中,一个列表中的数据类型可以各不相同,可以同时分别为整数、实数、字符串等基本类型,甚至是列表、元组、字典、集合以及其他自定义类型的对象。
[10, 20, 30, 40]
['crunchy frog', 'ram bladder', 'lark vomit']
['spam', 2.0, 5, [10, 20]]
[['file1', 200,7], ['file2', 260,9]]
方法:
2 元组
定义:
元组和列表类似,元组使用的是小括号,列表是中括号,但是元组不像列表那样可以增删改;如果列表中存在列表或字符串,那么可以对其进行修改。但占用空间较小。
创建一个元组,只需要括号中添加元素,元素用逗号隔开即可;或者使用tuple( , , , )。
方法:
常用方法:按索引取值、切片、长度len、in和not in、循环、del删除;
扩展:
- max(tup)——返回元组最大值
- min(tup)——返回元组最小值
- 连接——'+'连接2个元组形成一个新的元组
- 重复——'*'重复一个元组加在末尾
3 字典
作用:在{}内,可存放多个key-value,取值速度快。
定义:key必须是不可变类型,value可以是任意类型
不可变类型:数字类型int、float,字符串类型str,元组类型tuple,改变值内存地址一定不一样。
可变类型:列表list,字典dict;改变值内存地址不变。
声明:dict1 = dict({'age':18,'name':Berlin}) 或 dict1 = {'age':18,'name':Berlin}。
取值:dict1['name']
存值:dict1['level'] = 10
长度len、in和not in(判断key)、del删除;
dict1.keys():得到字典中所有的key、dict1.values():得到字典中所有的值、dict1.items():得到字典中所有键值对。
循环:遍历所有key
dict1.get(key, default=None): 函数返回指定键的值,如果值不在字典中返回默认值。较好的取值方法。
二 流程控制
if 判断:
if 判断条件:
#条件为真执行
elif 判断条件:
#条件为真执行
else:
while 循环:
语法:
while 条件判断:
#条件为真执行
break #跳出本层循环
continue #跳出本次循环,进入下次循环
for 循环
for line in range(1):
三 文件处理
open()方法:open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
- file: 必需,文件路径(相对或者绝对路径)。
- mode: 可选,文件打开模式
- wt:写文本
- rt:读文本
- at:追加文本
- 注意:必须指定字符编码,以什么方式写,就应该以相应的方式打开。
- buffering: 设置缓冲
- encoding: 一般使用utf8
- errors: 报错级别
- newline: 区分换行符
- closefd: 传入的file参数类型
- opener:
执行python代码的过程:
1、先启动python解释器,加载到内存中。
2、把写好的python文件加载到解释器中。
3、检测python语法,执行代码。
file 对象
文件管理之上下文管理
with可以管理open打开的文件,会在with执行完毕后自动调用close()关闭文件
with open()
例:with open('file.txt','r',encoding='utf-8') as f: #句柄
with open('file1.txt','w',encoding = 'utf-8') as f: f.write('墨菲定律') with open('file1.txt','r',encoding = 'utf-8') as f: res = f.read() print(res) with open('file1.txt','a',encoding = 'utf-8') as f: f.write('围城') #f.close()View Code
1 with open('cxk.jpg','rb') as f: #rb/wb/ab不需要指定编码类型 2 res = f.read() 3 print(res) 4 5 jpg = res 6 7 #把cxk.jpg的二进制流写进cxk_w.jpg 8 with open('cxk_w.jpg','wb') as f_w: 9 f_w.write(jpg) 10 11 #with 管理多个文件 12 with open('cxk.jpg','rb') as f_r,open('cxk_w.jpg','wb') as f_w: 13 res = f_r.read() 14 f_w.write(res)对图片、音频、视频读写
四 函数
什么是函数?
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
使用函数的好处:
1、解决代码 余问题
2、使代码的结构更清晰
3、易管理
函数的使用必须遵循:先定义,后调用。
函数定义语法:
def 函数名(参数1,参数2.......):
''' 注释:声明函数'''
逻辑代码
def:define定义
函数名:必须见名知意
():接收外部传入的参数
注释:用来指明函数的作用
return:返回调用者的值
定义函数的三种形式:
1、无参函数
不需要接收外部传入的参数
2、有参函数
需要接收外部传入的参数 实参赋值给形参
函数的参数:形参 实参 x、y
位置参数:实参第一位对应形参第一位
关键字参数:关键字实参:x=10,y=100,无关键字形参
默认参数:在定义阶段为参数设置默认值
3、空函数
pass #关键字 代表什么都不做
函数的内存地址:print(函数名)
函数的嵌套定义:在函数内部定义函数
def fun1():
#.........
def fun2():
#..............
函数对象:函数的内存地址称之为函数对象。
函数的名称空间
内置:python解释器自带的都称为“内置名称空间”。
全局:所有顶头写的变量、函数、循环等都称之为“全局名称空间”。
局部:在函数内部定义的,都称为“局部名称空间”。
名称空间加载顺序:内置>全局>局部
名称空间查找顺序:局部>全局>内置