多值函数的应用
在调用带有多值参数的函数时,如果希望:
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(字符串)