Python每日一记35>>>函数基础知识

前段时间开始忙碌,因此均没有进行记录,但是依然每天有相关学习,主要将python函数的相关知识进行了复习,下面进行一些知识的记录。
1、形参和实参
定义以下求最大值得函数,其中形参就是括号中的a,b,实参就是9,10
在这里插入图片描述
在这里插入图片描述
2、参数的类型
参数的类型包括位置参数,默认值参数,命名参数,可变参数,强制命名参数
#位置参数
def printmax(a,b,c):
if max(a,b,c)==a:
print(‘最大值为{}’.format(a))
elif(a,b,c)==b:
print(‘最大值为{}’.format(b))
else:
print(‘最大值为{}’.format©)
printmax(10,100,1000)
#printmax(10,100)参数个数不匹配会报错

#默认值参数
def printmax(a,b,c=10000):
if max(a,b,c)==a:
print(‘最大值为{}’.format(a))
elif(a,b,c)==b:
print(‘最大值为{}’.format(b))
else:
print(‘最大值为{}’.format©)
printmax(10,100)#不指定c的值就会使用默认值

#命名参数
def printmax(a,b,c):
if max(a,b,c)==a:
print(‘最大值为{}’.format(a))
elif(a,b,c)==b:
print(‘最大值为{}’.format(b))
else:
print(‘最大值为{}’.format©)
printmax(a=10,b=100,c=1000)

#可变数量参数,*元组
def printmax(a,b,*c):
print(a,b,c)
printmax(10,100,1000,10000)#*c代表的是1000,10000

#可变数量参数,**字典
def prit(a,b,**c):
print(a,b,c)

prit(‘h’,‘j’,name=‘hao’,age=10)#**c代表的是name=‘hao’,age=10

#强制命名参数,可变参数后面,还要家参数,必须强制命名
def prit(a,b,*c,d):
print(a,b,c,d)

prit(‘h’,‘j’,10,10,d=100)
3、函数返回值
我们发现return除了返回值外,另一个作用是结束函数过程,也就是说,return后的语句不会被执行。
在这里插入图片描述
在这里插入图片描述
4、全局变量和局部变量
全局变量不能再函数内被修改,只有当加了globle后才能被修改
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5、参数传递-可变参数传递
我们发现传递可变对象,实际上是传递的地址,地址指向同一个对象,在函数内对于参数的改变,都会反应在传递的可变参数上。
在这里插入图片描述
6、参数传递-不可变参数传递
我们发现传递不可变对象,对其进行更改后,其地址改变了,也就是在新建了一个对象,而且原对象是不改变的。
在这里插入图片描述
7、深拷贝、浅拷贝
我们发现浅拷贝和深拷贝的确有所不同,浅拷贝是只拷贝对象自己,而不会对子对象进行拷贝,也就是说其第一层进行拷贝,子层只是地址的指向,因此在对拷贝的对象的子对象进行修改时,可改变原对象的子对象,但深拷贝会完全宝贝对象,因此其自己会对子对象操作,而不会改变原对象的子对象
在这里插入图片描述
在这里插入图片描述
8、lambda函数
定义简单的函数,直接返回值,只能包含一个表达式。
在这里插入图片描述
9、eval()函数
此函数的厉害之处是将字符串string对象转化为有效的表达式参与求值运算返回计算结果

在这里插入图片描述
在这里插入图片描述
另外还可以用作字符串对象和list、dictinoary、tuple对象之间的转换,如下:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值