python基础知识(六):函数+使用lambda、eval书写函数

一、函数

(一)分类

  • 内置函数
  • 标准库函数:通过import语句导入库,然后使用库中定义的函数
  • 第三方函数
  • 用户自定义函数

(二)核心要点

1.语法

def 函数名称([参数列表]})'''文档字符串'''  #函数的注释。调用help(函数名._doc_)可以打印输出函数的文档字符串
	语句/语句块

2.要点

python执行def时,会创建一个函数对象,并绑定到函数名变量上。

3.函数也是对象

def test():
	print("hello")

test()  #调用函数
c=test
c()     #将test的内容赋值给c,此时调用c()的结果和test()一样

(三)参数

1.分类

参数可以划分为形参和实参两种
(1)含义

 形式参数是在定义函数时使用的,不需要定义数据类型。
 实参是在调用函数时,传递过去的。

(2)要点

  • 圆括号内是形式参数列表,多个参数应用逗号隔开
  • 无参数,也需要保留括号
  • 实参列表必须与形参列表一一对应

2.参数的传递

(1)传递可变对象

  • 可变对象有字典、列表和集合
  • 传递可变对象时,原对象和形参指向同一个地址
  • 对“可变对象”进行“写操作”,直接作用于原对象本身

(2)传递不可变对象

  • 不可变对象有int、float、字符串、元组和布尔值
  • 传递不可变对象时,原对象和形参指向同一个地址
  • 在函数内对“不可变对象”进行修改,系统会创建一个新对象,此时原对象和新对象的地址不同
    在这里插入图片描述

3.参数的类型

(1)位置参数
  • 函数传递参数时,默认按照位置进行顺序传递
  • 传递参数时,若个数不匹配,则报错
(2)默认值参数
  • 为某些参数设置默认值
  • 默认值参数通常放在位置参数的后面
def f1(a,b,c=10,d=20):
	print(a,b,c,d)

f1(a=10,b=20)
(3)命名参数

按照形参的名称传递参数

def f2(a=10,b,c):
	print(a,b,c)

f2(c=6,b=5)
(4)可变参数
  • *param(一个星号),将多个参数收集到一个元组中
  • **param(两个星号),将多个参数收集到一个字典中
>>>def f1(a,b,*c):
	print(a,b,c)	
>>>f1(8,9,19,20)  #将19和20放到元组里
8,9,(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值