pyhon学习6------函数

#### 函数 ####


一.定义

• def关键字,依次写出函数名、括号、括号中的参数和冒号 :
• 在缩进块中编写函数体,函数的返回值用 return 语句返回。
示图:函数格式

二.特性

1.调用函数

Python 内置了很多有用的函数,我们可以直接调用:
• abs()        ##绝对值
• cmp()        ##比较大小,1为前者大,-1为后者大,0为相等
• isinstance()    ##判断所给内容是不是给定的类型
• 数据类型转换函数:
int(), float(), str(),unicode(),bool()
练习题:
定义函数,求绝对值


2.函数名

•函数名与变量名类似,其实就是指向一个函数对象的引用;
•给这个函数起了一个“别名”:函数名赋给一个变量

3.空函数

• 定义一个什么事也不做的空函数,可以用 pass 语句;
• pass 可以用来作为占位符,还没想好怎么写函数的代码,就可以先放一个 pass ,让代码能运行起来
def nofunc():
pass

4.参数检查

•调用函数时,如果参数个数不对,Python 解释器会自动检查出来,并抛出 TypeError;
• 如果参数类型不对,Python 解释器就无法帮我们检查。
• 数据类型检查可以用内置函数 isinstance 实现

5.函数返回值

• 函数返回值用return关键字;
• 返回一个 tuple 可以省略括号;
• Python 的函数返回多值其实就是返回一个 tuple
• 函数执行完毕也没有 return 语句时,自动 return None
练习题:
定义一个函数func,传入两个数字,返回两个数字的平均值与最大值

三.函数参数

1.必选参数


2.默认参数

默认参数注意事项:
•有多个参数时,变化大放前面,变化小的放后面;
•必选参数在前,默认参数在后

练习题:
定义一函数,计算x值的n次方,计算x平方时只需要传入x值


3.可变参数

# 可变参数就是传入的参数个数是可变的,可以是 1 个、2 个到任意个,还可以是0 个  (*args);
# 接收的数据类型为元组;
# 如果想将一个列表或者元组传入函数,也可通过*li 或 *t,将参数传入函数里。
练习题:
计算 a^2 + b^2 + c^2 + ......

4.关键字参数

•关键字参数允许你传入 0 个或任意个含参数名的参数;
•这些关键字参数在函数内部自动组装为一个 dict;
•关键字参数用**kwargs

5.参数综合使用

• 必选参数
•默认参数:默认参数一定要用不可变对象
•可变参数:*args 是可变参数,args 接收的是一个 tuple
•关键字参数:**kw 是关键字参数,kw 接收的是一个dict
•对于任意函数,都可以通过类似 func(*args, **kw) 的形式调用它
•参数定义的顺序:必选参数 > 默认参数 > 可变参数 > 关键字参数

练习题:
录入信息,必须由name,age未指定时默认为22,class,gender为可选
录入两人信息:
user1,22,大四,男
user2,20,男

代码:


测试结果:

四.变量

1.局部变量:只能在函数内部使用的变量

2.全局变量:在整个程序中使用的变量

3.global变量:强制将局部变量转换为全局变量

实例:
第一个函数内的b为局部变量,只在函数内生效,不会改变函数外的b,cib为全局变量

第二个函数将函数内的b定义为global变量,会在函数内或函数外都生效



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值