1.函数关键字
在python中,我们把def作为函数关键字,如图


我们在第一行使用函数关键字def定义了函数test,这里是函数定义。第二行是函数体中的唯一一行代码。第四行对函数进行了调用。
2.函数参数与作用域
以下是调用函数时可使用的正式参数类型:
必需参数
关键字参数
默认参数
不定长参数
必需参数:须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
关键字参数:关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
默认参数:调用函数时,如果没有传递参数,则会使用默认参数。
不定长参数:你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 2 种参数不同,声明时不会命名。
注:参数使用规则
1>.定义函数时,可以在小括弧内写入参数,用来接收参数用的,称为“形参”,在调用时,小括号中的参数,用来传递参数的,称为“实参”。
2>.当一个函数中有多个参数时,调用函数参数顺序按照定义给定的顺传入,如果想传递单个参数,可以用参数名=值的方式,精确传入。
3>.按顺序传入参数时要注意参数不要写乱了,如果用精确传参的,参数顺序可以调换,注意当用精确传参时,就要所有参数都给定参数名,防止位置错乱报错。
4>.当在定义函数时,用参数名=值的方式,则该参数属于缺省参数,即在调用时不传入该参数,该参数会默认使用定义时给定的值。注意,带有默认值的参数一定要位于参数列表的最后面。
5>.有时可能需要一个函数能处理比当初声明时更多的参数,这些参数称为不定长参数,声明时不会命名。加了星号*的变量args会存放所以未命名的变量参数,args为元组,而加**的变量kwargs会存放命名参数,即形如key=value的参数,kewargs为字典。
6>.python中函数参数是引用传递(注意不是值传递)。对于不可变类型,因变量不能修改,所以运算不会影响到变量自身,而对于可变类型来说,函数体中的运算可能会更改传入的参数变量。
Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。
作用域:
变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称。Python的作用域一共有4种,分别是:
L (Local) 局部作用域
E (Enclosing) 闭包函数外的函数中
G (Global) 全局作用域
B (Built-in) 内置作用域(内置函数所在模块的范围)
以 L –> E –> G –>B 的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内置中找。
3.函数返回值
函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值。函数返回的值被称为返回值 。在函数中,可使用return 语句将值返回到调用函数的代码行。
返回值让你能够将程序的大部分繁重工作移到函数中去完成,从而简化主程序。
下面这个函数,它接受信息并返回信息:


函数通过形参接受信息,把结果存在info中,并将info的值的首字母转换为大写字母,然后将结果返回到函数调用行。
4.File
1).打开文件方式
Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。
注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。
open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。
open(file, mode='r')
mode的可选参数如下:


完整的语法格式为:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明:
file: 必需,文件路径(相对或者绝对路径)。
mode: 可选,文件打开模式
buffering: 设置缓冲
encoding: 一般使用utf8
errors: 报错级别
newline: 区分换行符
closefd: 传入的file参数类型
opener:
2).文件对象的操作方法
a.写数据用write
b.文件读取用read
c.readlines 是将文件按照行全部读取,返回列表,每行的数据为一个元素
d.分行读取用readline ,主要用于数据量过大,直接加载浪费内存,分行读取可以解决这个问题
e.在读写文件的过程中如果想知道当前的位置可以用tell(),返回指针的位置
f.seek(offset,from)可以定位到某个位置,offset偏移量,from是方向,0代表文件开头,1代表当前位置,2代表文件末尾,例如seek(3,0)代表从文件开头,偏移3个字节
g.对cvs文件操作,列出个shell执行批量操作的文本制作,脚本比较乱,没有用函数或者类,还需进行优化
5.os模块
文件的重命名、删除等操作需要用到os模块,这个是python等内置库不需要安装。
文件重命名:os.rename(old_name,new_name)
文件删除:os.remove(文件名)
创建文件夹:os.mkdir(‘文件夹名’)
获取当前目录:os.getcwd()
改变默认目录:os.chdir(‘路径’)
获取目录列表:os.listdir(‘路径’)
删除文件夹:os.rmdir(‘文件夹名’)
6.Datetime模块
datatime模块重新封装了time模块,提供更多接口,提供的类有:date,time,datetime,timedelta,tzinfo。
这篇博文详细介绍了datetime模块这五个类:https://www.cnblogs.com/tkqasn/p/6001134.html
本文围绕Python编程展开,介绍了函数关键字def,函数参数类型如必需、关键字、默认和不定长参数及作用域规则,还阐述了函数返回值的使用。同时讲解了文件打开方式和文件对象操作方法,以及os模块的文件操作和datetime模块的相关类。
794

被折叠的 条评论
为什么被折叠?



