wind boss的Python基础第四课
Task4
- wind boss的Python基础第四课
- 1.函数关键字(def)、函数的定义
- 2.函数参数与作用域
- 3.函数返回值
- 4.File
- 1)打开文件方式(读写两种方式)
- 2)文件对象的操作方法
- 3)学习对Excel及CSV文件进行操作
wind boss的Python基础第四课
1.函数关键字(def)、函数的定义
自定义函数:
1)函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
2)任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
3)函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
4)函数内容以冒号起始,并且缩进。
5)return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
语法:
def 函数名(参数列表): 函数体
2.函数参数与作用域
参数
1)必需参数
必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
调用printme()函数,必须传入一个参数,不然会出现语法错误。
2)关键字参数
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
实例:
#!/usr/bin/python3 #可写函数说明 def printme( str ): "打印任何传入的字符串" print (str) return #调用printme函数 printme( str = "hello")
运行结果:
hello
3)默认参数
调用函数时,如果没有传递参数,则会使用默认参数
4)不定长参数
不定长参数声明时不会命名基本语法如下:
def functionname([formal_args,] *var_args_tuple ): "函数_文档字符串" function_suite return [expression]
3.函数返回值
函数体中 return 语句有指定返回值时返回的就是其值。
函数体中没有 return 语句时,函数运行结束会隐含返回一个 None 作为返回值,类型是 NoneType,与 return 、return None 等效,都是返回 None。
指定 return 返回值函数:
def showplus(x): print(x) return x + 1 num = showplus(6) add = num + 2 print(add)
输出结果:
6 9
隐含 return None :
def showplus(x): print(x) num = showplus(6) print(num) print(type(num))
输出结果:
6 None <class 'NoneType'>
4.File
1)打开文件方式(读写两种方式)
file方法是open方法的两个接受参数之一。
open() 方法用于打开一个文件,并返回文件对象,open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。
注意:
使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。
完整的语法格式为:
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参数类型
mode 参数有(默认为文本模式):
参数 | 描述 |
---|---|
r | 以只读的方式打开文件,文件的指针将会放在文件的开头,为默认模式 |
rb | 以二进制格式打开一个文件用于只读,文件指针会在文件的开头 |
r+ | 打开一个文件用于读写,文件指针将会在文件的开头 |
rb+ | 二进制格式打开一个文件用于读写,文件指针会放在文件的开头 |
w | 打开一个文件用于写入,如果该文件已存在则将会覆盖文件,如果不存在则创建新文件 |
wb | 以二进制打开一个文件用于写入 |
w+ | 打开一个文件用于读写 |
wb+ | 以二进制格式打开一个文件用于读写,如果文件存在则覆盖,如果不存在则创建新文件 |
a | 打开一个文件用于追加内容,如果文件已存在,文件指针会放在文件的结尾,如果不存在则创建新文件进行写入 |
ab | 以二进制格式打开一个文件用于追加写入 |
a+ | 打开一个文件用于读写,如果该文件已存在,文件指针会放在结尾,文件打开时会是追加模式,该文件不存在则创建新文件 |
ab+ | 以二进制格式打开一个文件用于追加。 |
2)文件对象的操作方法
file.close() | 关闭文件。关闭后文件不能再进行读写操作。 |
---|---|
file.flush() | 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。 |
file.fileno() | 返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上 |
file.isatty() | 如果文件连接到一个终端设备返回 True,否则返回 False。 |
file.next() | 返回文件下一行。 |
file.read([size]) | 从文件读取指定的字节数,如果未给定或为负则读取所有。 |
file.readline([size]) | 读取整行,包括 “\n” 字符。 |
file.readlines([sizeint]) | 读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。 |
file.seek(offset[, whence]) | 设置文件当前位置 |
file.tell() | 返回文件当前位置。 |
file.truncate([size]) | 截取文件,截取的字节通过size指定,默认为当前文件位置。 |
file.write(str) | 将字符串写入文件,返回的是写入的字符长度。 |
file.writelines(sequence) | 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。 |
3)学习对Excel及CSV文件进行操作
不要这么懒,自己去练习啦!!!
5.Os模块
os 模块提供许多的方法用来处理文件和目录。
参考:https://www.runoob.com/python3/python3-os-file-methods.html
6.Datetime模块
datetime模块重新封装了time模块,提供更多接口,提供的类有:date,time,datetime,timedelta,tzinfo。
1、date类
datetime.date(year, month, day)
静态方法和字段:
date.max、date.min:date对象所能表示的最大、最小日期;
date.resolution:date对象表示日期的最小单位。这里是天。
date.today():返回一个表示当前本地日期的date对象;
7ff7
date.fromtimestamp(timestamp):根据给定的时间戮,返回一个date对象;
2、time类
datetime.time(hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] )
静态方法和字段:
time.min、time.max:time类所能表示的最小、最大时间。其中,time.min = time(0, 0, 0, 0), time.max = time(23, 59, 59, 999999);
time.resolution:时间的最小单位,这里是1微秒;
3、datetime类
datetime相当于date和time结合起来。
datetime.datetime (year, month, day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] )
静态方法和字段:
datetime.today():返回一个表示当前本地时间的datetime对象;
datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;
datetime.utcnow():返回一个当前utc时间的datetime对象;#格林威治时间
datetime.fromtimestamp(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息;
datetime.utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象;
datetime.combine(date, time):根据date和time,创建一个datetime对象;
datetime.strptime(date_string, format):将格式字符串转换为datetime对象;
4.timedelta类,时间加减
使用timedelta可以很方便的在日期上做天days,小时hour,分钟,秒,毫秒,微妙的时间计算,如果要计算月份则需要另外的办法。
- wind boss的Python基础第五课(end)
- Python基础第四课
- Python基础教程,第四讲,字符串详解
- 零基础入门学习Python学习笔记第四讲【列表】
- python基础学习第四课,条件判断语句,数据类型转换
- 零基础入门学习Python学习笔记第四讲【短路逻辑】
- 【七月Python入门】 第四课面向对象基础
- python 网络基础
- python基础教程:类的继承
- (###################基础用法)python使用mysql数据库(######################)
- 【Python基础教程笔记(二)】字典,条件,循环和其他语句
- Python基础——Python连接MySQL
- 超基础的用Python处理文本实例
- python基础一
- 比较草率的Python基础知识笔记
- Python 数据挖掘与机器学习基础-韦玮-专题视频课程
- 第1、2、3章 Python基础
- Python基础1
- python入门基础之用户输入与模块初认识
- Python基础之十二常用內建模块