python第三天文件处理 + 函数

1.文件处理
1.1.文件操作的基本用法
f=open('a.txt','r',encoding='utf-8') #open是打开文件的函数,a.txt是要打开的文件,r是只读模式打开,encoding是指定打开文件的字符编码。
print(f.read()) #read 是读取整个文件,文件过大的时候不建议用这种方式打开。
print(f.readline()) #readline是一行一行的读取文件。
1.2.打开文件的模式都有:
  常用的有:
  • r,只读模式打开,默认模式,文件不存在会报错。不会创建新的文件。
  • w,只写模式,不能读,文件不存在则创建,文件存在则覆盖清空改文件。
  • a,追加模式,可读,文件不存在则创建,文件存在则继续在文件末尾追加内容。

b模式,以字节的方式操作文件,如,rb,wb,ab。当以字节操作文件的时候,读取的文件内容为字节类型,不能指定编码及encoding不能使用。

不怎么常用的

  • r+,读写
  • w+,写读
  • a+,写读

 2.文件处理的其他操作

    2.1. read(3)

  •  文件打开方式为文本模式时,代表读取3个字符 ### 只有read是以字符方式读取,别的均按照字节。
   f=open('a.txt','r',encoding='utf-8')
print(f.read(3))

        

  •  文件打开方式为b模式时,代表读取3个字节
   f=open('a.txt','rb')
print(f.read(3))

       

   2.2.seek 移动文件读取光标到指定位置

f=open('a.txt','rb')
f.seek(3,0)

seek中的3代表读取三个字节,0代表从问价开头读取,可不填 默认为0.另外还有 1从光标当前位置读取,2从文件末尾读取。

 

 

=============================================================

函数

1.函数的优点:

  • 解决代码冗余;
  • 结构清晰方便管理;
  • 可扩展性强;

2.函数的使用必须先定义,后调用。    #若没有定义直接调用相当于调用一个不存在的函数,必然报错。

   函数在定于阶段只会监测语法,不会执行代码,真正执行代码是在调用阶段。

3.函数的基本语法

def 函数名(arg1,arg2,arg3):
"注释"
函数体 即代码部分,该函数的主体。
return 返回值

   return是指函数执行完或者没有正常结束,定义的一个返回值。

   函数内部可以有多个return,但是只能执行一次,函数就结束调用了。并且把return后边的值作为函数执行结果的返回。

4.函数定义的三种形式。

  •  无参:应用场景为只是执行一些操作,比如打印信息等等
  • 有参:根据外部传来的参数才能执行相应的逻辑。比如用户登录等
  • 空函数:用来预留或者说是设计代码结构的时候使用

5.函数的返回值return

    return的返回值没有任何限制

   没有return的时候默认返回 None

6.函数的参数

  (1).位置:按照从左到右的顺序依次定义的参数

   def test(x,y):
print(x)
print(y)
test(1,2)
即x对应1,y对应2.是按照从左到右一一对应,参数不能多也不能少。

(2).关键字参数:按照key=value的形式定义参数
注意事项:关键字参数必须在位置参数的后边。

同一个形参不能重复传值。
   def test(name,age):
print(name)
print(age)
test(age=18,name='yxwang')
(3).默认参数:形参在定义时就已经为其赋值
注意事项:只在定义时赋值;
默认参数必须在位置参数的后边;
默认参数一般定义成不可变类型;
   def test(x,y=111):
print(x)
print(y)
test(100,456)
(4).可变长参数:用户在输入的时候可以传任意参数。
按照位置参数和关键字形式定义,形参分为你两种,*args *kwargs
def aa(x,y,*args):
print(x)
print(y)
print(args)
aa(1,2,34,42,32,123)

   

    

def aa(x,y,**kwargs):
print(x)
print(y)
print(kwargs)
aa(y=1,x=3,a=3,c='qe')

   

  



 

 






posted @ 2017-07-16 13:07  嘟囔囔小孩  阅读(200)  评论(0编辑  收藏  举报