python基础四

函数初阶与文件数据格式化

函数:

即组织好的,可重复使用的,用于实现单一,或相关联功能的代码段

函数的定义:

正确的定义一个自己想要的功能函数,是需要满足一些限定的规则

1、函数代码块以def关键字开头,后接函数标识符名称和小括号“()”

2、任何传入的参数和自变量必须放在小括号内(括号内可定义参数)

3、函数第一行语句可选择性使用文档字符串(用于存放函数说明)

4、函数内容以冒号’:’起始;并缩进

5、Return[表达式]结束函数,选择性返回一个值给调用方,不带的话返回值为None

函数的参数:

1、必选参数、默认参数、可变参数、关键字参数、命名关键字参数、各参数之间的组合

2、必选参数:也称位置参数,必须以正确顺序传入函数,同时调用函数时参数的数量必须与声明时一样

3、默认参数:调用函数时,若无传递参数,则使用默认参数

4、可变参数:即在定义的函数中传入的参数个数时可变,运用可变参数可方便地进行参数个数位置时的函数调用,可变参数以list或tuple形式传递

5、关键字参数:函数调用使用关键字参数来确定传入的参数值

6、命名关键字参数:使用关键字参数,函数调用者可传入任意不受限制的关键字参数,Python中的命名关键字参数对传入的关键字参数做进一步限制

格式:在关键字参数前增加一个”*”

一次函数调用可传递以上所述任何一种或多种参数的组合

例:

# 数组的最大值,最小值的分别排列至首、末位
def num_cvs(nums):
    num_list=[]
    for i in nums:
        if i == " ": # 设置跳出的条件
            break
        else:
            num_list.append(i)
        max_num = max(num_list) # 利用max、min方法找最大、最小值
        min_num = min(num_list)
        num_list[num_list.index(max_num)] = num_list[0]  # index方法进行索引换位赋值
        num_list[num_list.index(min_num)] = num_list[-1]
        num_list[0] = max_num
        num_list[-1] = min_num
    return num_list
nums=list(map(str,input("任意输入多个数(空格分割):").split(" "))) # 接受多个元素
print("原数组",nums)
late_num=list(num_cvs(nums)) # 调用函数
print('换位后数组:',late_num)

递归函数

即在函数的定义中使用函数自身的方法,在函数内部,可调用其他函数(如果一个函数在内部调用自身,则为递归函数)

特性:

(1).必须有一个明确的结束条件

(2).每次进入更深一层递归时,问题规模相比上次递归都应有所减少

(3).相邻两次重复之间有紧密的联系,前一次要为后一次做准备(通常前一次的输出就作为后一次的输入)

匿名函数

在python中使用lambda来创建匿名函数;匿名的意思即不在使用def语句标志形式定义函数

1、lambda只是一个表达式,函数体比def简单

2、lambda主体是一个表达式,而非代码块

3、lambda函数拥有自己的命名空间,且不能访问自己参数列表外或全局命名空间的参数

4、基本语法:Lambda[arg1[,arg2,……argN]]:expression

文件数据格式化

1.文件概述

意义:找到计算机中唯一确定的文件

组成:文件路径、文件名主干、文件扩展名

2.文件类型

计算机中文件可分:

文本文件、二进制文件

(1).文本文件:专用于存储文本字符数据

(2).二进制文件:不能直接阅读,需解析,才能阅读

3.标准文件

Python的sys模块中定义了3个标准文件:

Stdin(标准输入文件);stdout(标准输出文件);stderr(标准错误文件)

4.文件的打开与关闭

(1).打开文件

内置函数open()用于打开文件;该方法的声明如下:

 with语句也可打开文件,不同的是with语句打开的文件在事后会自动关闭

参数:

File,文件的路径;mode,设置文件的打开模式;buffering,设置访问文件的缓冲方式,取值为0或1

文件打开的模式有:r/rb,只读模式;w/wb,只写模式;a/ab,追加模式;r+/rb+;读取(更新)模式;w+/wb+,写入(更新)模式;a+/ab+,追加(更新)模式

(2).关闭文件

Python中可通过cloae()方法关闭文件,还可使用with语句实现文件的自动关闭

(3).及时关闭文件的好处

减少占用系统的资源;防止在程序因异常关闭时的数据丢失

5.读取文件

(1).read()方法:可从指定文件中读取指定字节的数据,语法格式:

read(n=-1)

(2).readline()方法:可从指定文件中读取一行数据,语法格式:

Readline()

(3).readlines()方法:可一次读取文件中的所有数据,若读取成功,则返回一个列表,文件中的每一行对应列表中的一个元素,语法格式:

Readlines(hint=-1)[参数hint的单位为字节,用于控制要读取的行数]

6.写入文件内容

(1).write()方法:可将指定字符串写入文件,语法格式:

Write(data);若数据写入成功,会返回本次写入文件数据的字节数

(2).writelines()方法:可将行列表写入文件,语法格式:

writelines(lines)

注:文本文件支持多种编码方式,不同编码方式下字符与字节的对应关系不同

例:

# 生成100个mac地址并写入文件;MAC地址前6位(16进制)位:01-AF-3B
import random
import string
def creat_mac():
    # 第一个MAC地址
    mac = '01-AF-3B'
    h_num = string.hexdigits  # 生成16进制数
    for i in range(2):
        n = random.sample(h_num, 2)
        nn = '-' + ''.join(n).upper() + '-' + ''.join(n).upper()  # 全大写
        mac += nn
        return mac
def main():
    # 只写模式打开
    with open('./MAC.txt','w') as f:
        for i in range(100):
            macs = creat_mac()  # 调用creat_mac()函数
            print(macs)
            f.write(macs+'\n')
main()

使用os模块管理文件与目录

删除文件:os.remove(filename)

文件重命名:os.rename(raw filename,new filename)]

创建/删除目录:os.mkdir(dnmae)/os.rmdir(dname)

获取当前目录:os.getcwd()

更改默认目录:os.chdir(路径名)

获取目录列表:os.listdir(dname/path)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值