day--14 函数的进阶文件读写

多值函数的应用
在调用带有多值参数的函数时,如果希望:
1.将一个元组变量,直接传递到实参
2.将一个字典变量,直接传递到实参
就可以使用拆包,简化参数的传递,拆包的方式是:
1,在元组变量前,增加一个
2.在字典变量前,增加两个

t = (1, 2, 3, 4)

def number(*args):
    summ = 0
    for i in args:
        summ = summ + i
    print(summ)

number(*t)

# *号表示多个数据,实参加入星号同样表示多个数据

def demo(*args, **kwargs):

    print(args)
    print(kwargs)

# 需要将一个元组的变量/字典变量传递给函数对应的参数
g1_nums = (1, 2, 3)
gi_xiaoming = {"name": "小明", "age": 18}

# 会把num_tuple和xiaoming 作为元组传递个args
# demp(g1_nums,g1_xiaoming)
demo(*g1_nums, **gi_xiaoming)
小结:就是说提前定义好的字典,元组数据在函数中可以使用变量名直接传递实参,不需要我们一个一个去输入

递归函数的特点
一个函数内部调用自己,函数内部可以调用其他函数,当然在内舒内部也可以调用自己
代码特点:
1.函数内部的代码是相同的,只是针对参数不同,处理的结果不同.
2.当参数满足一个条件是,函数不再执行.这个通常称为递归的出后,否则会出现死循环

  def sum_numbers(num):

    print(num)
    
    # 递归的出口很重要,否则会出现死循环
    if num == 1:
        return

    sum_numbers(num - 1)
    
sum_numbers(3)


def sum_numbers(num):

    if num == 1:
        return 1
    
    # 假设 sum_numbers 能够完成 num - 1 的累加
    temp = sum_numbers(num - 1)

    # 函数内部的核心算法就是 两个数字的相加
    return num + temp

print(sum_numbers(2))

文件的读写:
找到文件,指定文件的路径就可

如果文件存在,就直接写入,他会取代原料来的数据

如果文件不存在,python帮我们自动创建
open()方法,用于指向一个文件,找到或者是锁定一个文件
第一个参数,是文件的路径
第二个参数,是文件要做什么操作, ‘w’ write,写。 ‘r’ read,读
第三个参数,指定编码的方式,缺省参数,默认值是None,encoding=编码方式
常用的编码方式主要两种情况,1,utf-8(最常用,最广落使用) 2.gbk
注意,编码方式那里要填入字符串类型

open方法返回的是一个文件对象,是一个文件的指向
我们可以使用这个文件对象的方法进行相关操作

文件的读操作

找到文件

读取文件

关闭文件
f = open(路径,‘r’, encoding=‘utf8’)
c=f.read()
m=eval©
f.close()

文件的编码格式

主要了解两种

1,gbk,主要是针对中文的编码和解码,windows操作系统默认是gbk的

2,utf-8 或者 utf8 , 是一种功能很全的编码,支持各国语言

编码

159+1024

解码

-1024

把数据变为字符串的方法小结

有两种方法可以把数据转换为字符串

可以通过连接的方式,把一个列表转为一个字典

连接符的字符串.join(列表)

res = '_'.join(['1','2','3'])
res的效果是
'1_2_3'

直接强转

str()

强制转换

可以把常见的数据类型转为字符串类型

如果希望把数据存储到文件中

使用str()函数来转换数据

返回值就是一个字符串类型的数据

eval函数

功能是让字符串中包裹的内容恢复活性

eval(字符串)

猜你喜欢

转载自blog.csdn.net/weixin_44737646/article/details/88828790
今日推荐