python day3

  1. 文件处理
打开文件
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文件时,将该文件级别定义的名字与值的绑定关系存放起来
    失效:文件执行完毕
 
局部名称空间
    存放的是:函数内部定义的名字与值的绑定关系
    生效:调用函数时,临时生效
    失效:函数调用结束
 
加载顺序:先内置,再全局,最后局部
查找名字的顺序:先局部,再全局,最后内置
 
作用域:
全局作用域:包含内置名称空间的名字和全局名称空间的名字
 全局存活,全局有效
 
局部作用域:包含局部名称空间的名字
局部存活,局部有效
 
 
作用域关系,在函数定义的时候就已经固定了
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  1. 文件处理
打开文件
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文件时,将该文件级别定义的名字与值的绑定关系存放起来
    失效:文件执行完毕
 
局部名称空间
    存放的是:函数内部定义的名字与值的绑定关系
    生效:调用函数时,临时生效
    失效:函数调用结束
 
加载顺序:先内置,再全局,最后局部
查找名字的顺序:先局部,再全局,最后内置
 
作用域:
全局作用域:包含内置名称空间的名字和全局名称空间的名字
 全局存活,全局有效
 
局部作用域:包含局部名称空间的名字
局部存活,局部有效
 
 
作用域关系,在函数定义的时候就已经固定了
 

转载于:https://www.cnblogs.com/xiawanwan/p/7554483.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值