- 文件处理
打开文件
F =Open(“a.txt”,”r")
读取文件/写入文件
Data = F.read()
关闭文件
F.close()---回收操作系统的资源
流程分析
1.应用程序向操作系统发起系统调用
2.操作系统打开这个文件,返回一个文件句柄给应用程序
3.在应用程序中把文件句柄赋值给一个变量
注意:
1.打开一个文件对应两部分:一个是python级别的文件句柄 一个是操作系统打开的文件,默认打开文件的编码是以操作系统的编码为准的,除非open encoding指定
2.当文件操作完毕后,应该回收两部分资源
Del f :回收应用程序资源(python解释器自动垃圾回收替我们做了)
F.close():回收操作系统
上下文管理with(自动close文件)
默认打开方式是读取:只读,文件不存在则报错
F.read():读所有,结果放在列表中
f.readline(): 一次读一行
W:只写模式,如果文件存在则清空,不存在则创建
Writelines([list]):存放列表
A:追加,如果文件存在则把光标移动到文件末尾,若不存在则重新创建
F.write(“sdsd\n")
F.writeline([“232\n”,”sds\n”])
所有的数据类型都自带bool值
布尔值为假的情况:0,空字符串,空列表,空元组,none
函数
1.调用函数的过程中,遇到return 就会终止函数,并且把本次return后的结果当作本次调用的返回值返回
2.函数体内可以有多个return。但是只能执行一次
3.返回的值可以是任意类型
4.返回值可以为多个值,并以元组的方式存放
5.没有return 默认返回none
参数:
位置参数
位置形参:必须被传值,多一个不行 少一个不行
位置实参:从左到右依次赋值为形参
关键字参数:在函数调用阶段,key= value形式定义实参
可以不依赖位置而指名道姓给形参传值
注意:可以与位置实参混用,但是:
1.位置实参一定要在关键字实参的前面
2.不能为一个实参重传值
默认参数
在函数的定义阶段 已经为形参赋值了,意味着在调用阶段 可以不传值
注意:1.默认参数的值 只在定义时赋值一次
2.位置形参应在默认参数之前
3.默认参数的值 应该是不可变类型
可变长参数
实参可变长度指的是:实参的个数不固定
而实参的定义形式无非两种:1、位置实参2、关键字实参
实参:位置参数,关键字参数
形参:位置参数,默认参数,*args,命名关键字参数,**kwargs
实参中出现*,则打散
命名关键字参数(了解)
形参中 在*后定义的参数 都为命名关键字参数
特性是:传值时,必须按照关键字实参的形式传值
函数对象:
#函数是第一类对象:函数可以当做数据来使用
def foo():
print('from foo')
#可以被引用
# f=foo
# # print(f)
# f()
#可以当做参数传入一个函数
# def wrapper(x):
# # print(x)
# x()
# wrapper(foo)
#可以当做函数的返回值
# def wrapper():
# return foo
#
# f=wrapper()
# print(f is foo)
#可以当做容器类型的一个元素
# l=[foo,1,2]
# l[0]()
名称空间:存放名字与值绑定关系的地方
内置名称空间:
存放的是:内置的名字与值的绑定关系
生效:python解释器启动
失效:Python解释器关闭
全局名称空间
存放的是:文件级别定义的名字与值的绑定
生效:执行python文件时,将该文件级别定义的名字与值的绑定关系存放起来
失效:文件执行完毕
局部名称空间
存放的是:函数内部定义的名字与值的绑定关系
生效:调用函数时,临时生效
失效:函数调用结束
加载顺序:先内置,再全局,最后局部
查找名字的顺序:先局部,再全局,最后内置
作用域:
全局作用域:包含内置名称空间的名字和全局名称空间的名字
全局存活,全局有效
局部作用域:包含局部名称空间的名字
局部存活,局部有效
作用域关系,在函数定义的时候就已经固定了
- 文件处理
打开文件
F =Open(“a.txt”,”r")
读取文件/写入文件
Data = F.read()
关闭文件
F.close()---回收操作系统的资源
流程分析
1.应用程序向操作系统发起系统调用
2.操作系统打开这个文件,返回一个文件句柄给应用程序
3.在应用程序中把文件句柄赋值给一个变量
注意:
1.打开一个文件对应两部分:一个是python级别的文件句柄 一个是操作系统打开的文件,默认打开文件的编码是以操作系统的编码为准的,除非open encoding指定
2.当文件操作完毕后,应该回收两部分资源
Del f :回收应用程序资源(python解释器自动垃圾回收替我们做了)
F.close():回收操作系统
上下文管理with(自动close文件)
默认打开方式是读取:只读,文件不存在则报错
F.read():读所有,结果放在列表中
f.readline(): 一次读一行
W:只写模式,如果文件存在则清空,不存在则创建
Writelines([list]):存放列表
A:追加,如果文件存在则把光标移动到文件末尾,若不存在则重新创建
F.write(“sdsd\n")
F.writeline([“232\n”,”sds\n”])
所有的数据类型都自带bool值
布尔值为假的情况:0,空字符串,空列表,空元组,none
函数
1.调用函数的过程中,遇到return 就会终止函数,并且把本次return后的结果当作本次调用的返回值返回
2.函数体内可以有多个return。但是只能执行一次
3.返回的值可以是任意类型
4.返回值可以为多个值,并以元组的方式存放
5.没有return 默认返回none
参数:
位置参数
位置形参:必须被传值,多一个不行 少一个不行
位置实参:从左到右依次赋值为形参
关键字参数:在函数调用阶段,key= value形式定义实参
可以不依赖位置而指名道姓给形参传值
注意:可以与位置实参混用,但是:
1.位置实参一定要在关键字实参的前面
2.不能为一个实参重传值
默认参数
在函数的定义阶段 已经为形参赋值了,意味着在调用阶段 可以不传值
注意:1.默认参数的值 只在定义时赋值一次
2.位置形参应在默认参数之前
3.默认参数的值 应该是不可变类型
可变长参数
实参可变长度指的是:实参的个数不固定
而实参的定义形式无非两种:1、位置实参2、关键字实参
实参:位置参数,关键字参数
形参:位置参数,默认参数,*args,命名关键字参数,**kwargs
实参中出现*,则打散
命名关键字参数(了解)
形参中 在*后定义的参数 都为命名关键字参数
特性是:传值时,必须按照关键字实参的形式传值
函数对象:
#函数是第一类对象:函数可以当做数据来使用
def foo():
print('from foo')
#可以被引用
# f=foo
# # print(f)
# f()
#可以当做参数传入一个函数
# def wrapper(x):
# # print(x)
# x()
# wrapper(foo)
#可以当做函数的返回值
# def wrapper():
# return foo
#
# f=wrapper()
# print(f is foo)
#可以当做容器类型的一个元素
# l=[foo,1,2]
# l[0]()
名称空间:存放名字与值绑定关系的地方
内置名称空间:
存放的是:内置的名字与值的绑定关系
生效:python解释器启动
失效:Python解释器关闭
全局名称空间
存放的是:文件级别定义的名字与值的绑定
生效:执行python文件时,将该文件级别定义的名字与值的绑定关系存放起来
失效:文件执行完毕
局部名称空间
存放的是:函数内部定义的名字与值的绑定关系
生效:调用函数时,临时生效
失效:函数调用结束
加载顺序:先内置,再全局,最后局部
查找名字的顺序:先局部,再全局,最后内置
作用域:
全局作用域:包含内置名称空间的名字和全局名称空间的名字
全局存活,全局有效
局部作用域:包含局部名称空间的名字
局部存活,局部有效
作用域关系,在函数定义的时候就已经固定了