Task4(2day)
1.函数关键字
python中一共含有32个关键字:‘false’, ‘none’, ‘true’, ‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’
2.函数的定义
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。可以自己定义一个函数。
–函数-封装了独立功能,可以直接调用
–函数名(参数)
以下是简单的定义规则:
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
3.函数参数与作用域
在python中,函数的参数有多种类型,有默认参数、可变参数、关键字参数、命名关键字参数等。对于默认参数,其实在功能上就是为了简化函数调用。
函数的参数一般情况下只作用于本函数内,如果参数前加上了关键字global等改变了作用域,可以在函数外调用该参数。
4.函数返回值
函数体中 return 语句有指定返回值时返回的就是其值
函数体中没有 return 语句时,函数运行结束会隐含返回一个 None 作为返回值,类型是 NoneType,与 return 、return None 等效,都是返回 None。
python 函数使用 return 语句返回 “返回值”,可以将其赋给其它变量作其它的用处
所有函数都有返回值,如果没有 return 语句,会隐式地调用 return None 作为返回值
一个函数可以存在多条 return 语句,但只有一条可以被执行,如果没有一条 reutrn 语句被执行,同样会隐式调用 return None 作为返回值
如果有必要,可以显式调用 return None 明确返回一个None(空值对象)作为返回值,可以简写为 return,不过 python 中懒惰即美德,所以一般能不写就不写
如果函数执行了 return 语句,函数会立刻返回,结束调用,return 之后的其它语句都不会被执行了
1.file
a.打开文件方式(读写两种方式)
Python内置的open()函数打开一个文件,创建一个file对象,然后调用相关的方法才可以它进行读写。
格式: file object = open(file_name [, access_mode][, buffering])
各个参数的细节如下:
file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。
access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读®。
buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
读和写的区别在于access_mode的不同,总共有下面几种常用的:
t 文本模式 (默认)。
b 二进制模式。
- 打开一个文件进行更新(可读可写)。
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+
以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
b.文件对象的操作方法
file对象相关的所有属性:
属性 描述
file.closed 返回true如果文件已被关闭,否则返回false。用 close()方法关闭文件是一个很好的习惯。
file.mode 返回被打开文件的访问模式。
file.name 返回文件的名称。
file.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。
write()方法
write()方法可将任何字符串写入一个打开的文件,并且不会在字符串的结尾添加换行符(’\n’)
read()方法
read()方法从一个打开的文件中读取一个字符串。
c.学习对excel及csv文件进行操作
2.os模块
Python os模块包含普遍的操作系统功能
1 #这里列举在os模块中关于文件/目录常用的函数使用方法
2
3 #这里需要注意下,在使用这些方法前记得导入os模块
4 import os #导入os模块
5 “”"
6 os对象方法:
7 os.getcwd() #返回当前工作目录
8 os.chdir(path) #改变工作目录
9 os.listdir(path=".") #列举指定目录中的文件名(".“表示当前目录,“…”表示上一级目录)
10 os.mkdir(path) #创建建单层目录,如果该目录已存在则抛出异常
11 os.makedirs(path) #递归创建多层目录,如该目录已存在抛出异常,
12 os.remove(path) #删除文件
13 os.rmdir(path) #删除单层目录,如该目录非空则抛出异常
14 os.removedirs(path) #递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常
15 os.rename(old,new) #将文件old重命名为new
16 os.system(command) #运行系统shell命令
17 os.walk(top) #遍历top路径以下所有子目录,返回一个三元组:(路径,[包含目录],[包含文件])
18 os.curdir #属性,表示当前目录
19 os.pardir #属性,表示上一级目录
20 os.sep #属性,输出操作系统特定的路径分隔符(win下为’\’,Linux下为’/’)
21 os.linesep #属性,当前平台使用的行终止符(Win下为‘\r\n’,Linux下为’\n’)
22 os.name #属性,指待当前使用的操作系统
23
24 os.path对象方法:
25 os.path.basename(path) #去掉目录路径,单独返回文件名
26 os.path.dirname(path) #去掉文件名,单独返回目录路径
27 os.path.join(path1[,],path2[,…]) #将path1,path2各部分组成一个路径名
28 os.path.split(path) #分割文件名和路径,返回一个(f_path,f_name)元组,如果完全使用目录,它也会将最后一个目录作为文件名分离
29 os.path.splitext(path) #分离文件名和后缀名,返回(f_name,f_extension)元组,如果完全使用目录,它也会将最后一个目录作为文件名分离
30 os.path.getsize(file) #返回指定文件的尺寸,单位是字节
31 os.path.getatime(file) #返回指定文件最近的访问时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
32 os.path.getctime(file) #返回指定文件的创建时间
33 os.path.getmtime(file) #返回指定文件最新的修改时间
34 os.path.exists(path) #判断指定路径是否存在(目录或者文件)
35 os.path.isabs(path) #判断是否为绝对路径
36 os.path.isdir(path) #判断指定路径是否存在且是一个目录
37 os.path.isfile(path) #判断指定路径是否存在且是一个文件
38 os.path.islink(path) #判断指定路径是否存在且是一个符号链接
39 os.path.ismount(path) #判断指定路径是否存在且是一个挂载点
40 os.path.samefile(path1,path2) #判断path1,path2是否指向同一个文件
41
42 “””
3.datetime模块
datetime模块的对象有如下:
timedelta
date
datetime
time
tzinfo
还包含以下两个常量:
datetime.MINYEAR (它返回的是1)
datetime.MAXYEAR(它返回的是9999)
datetime对象
构造方法: class datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])
year, month 和 day 参数是必须的,其他参数可选, 参数tzinfo表示可选的时区信息,一般我们也用不到。
from datetime import datetime as dt
t=dt(2017,6,1,hour=13,minute=17,second=30)
print(type(t))
print(t)
输出:
<type ‘datetime.datetime’>
2017-06-01 13:17:30
如果我们只传参数year, month, day,那么时间会默认变成00:00:00
datetime对象的几个方法:
datetime.today() 返回本地当前的时间
datetime.now([tz]) 返回本地当前的日期和时间。如果可选的参数 tz 为 None 或者没有指定,就如同today()