您的位置:首页 > 编程语言 > Python开发

wind boss的Python基础第四课

2019-05-17 21:39 74 查看

Task4

  • 5.Os模块
  • 6.Datetime模块
  • 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,分钟,秒,毫秒,微妙的时间计算,如果要计算月份则需要另外的办法。

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: