学习python之day06:05函数定义及调用,函数参数,函数作用域及匿名函数笔记

(一)函数的定义和调用

1、【为什么要创建一个新的函数】

python中已存在了一些内置函数(built-in functions),但当这些内置函数不够用时,需要创建新的函数,以方便调用。
如之前判断输入的号码是不是一个手机号的代码:

number = input("请输入一个电话号码:")  
if number.isdigit() and len(number) == 11:
    print("这是一个电话号码")
else:
    print("这不是一个电话号码")

如果以后需要反复用到这部分代码块,总不可能每次都把代码写一遍,而且一个大程序也不可能只有判断电话号码这一个功能,也不能为了这一个功能中断运行。因此,有必要简化代码,方便以后反复调用,让逻辑思维更清晰,及方便维护
【创建新函数的好处】:
①简化代码;
②方便以后反复调用;
③逻辑思维更清晰;
④方便今后程序的维护

2、【定义函数】

如上面判断是否手机号的代码,为了方便调用,现定义这部分代码的函数名(function)为num_mobile.

def num_mobile():   #第一行
    number = input("请输入一个电话号码:")  #第二行
    if number.isdigit() and len(number) == 11:
        print("这是一个电话号码")
    else:
        print("这不是一个电话号码")    

【注意】函数名(此处为num_mobile) 要符合变量的命名规则(详见第一课)
如何定义一个函数
定义一个函数有以下简单规则:
1)函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
2)任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
3)函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
4)函数内容以冒号起始,并且缩进。
5)return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

3、【调用函数

函数定义决定了函数如何调用

上例中,由于定义函数时()内没有参数,而是在函数内部用input方式输入参数,所以调用时括号无参数。

>>> num_mobile()  #调用上例中的函数num_mobile
请输入一个电话号码:123456  #这是input要求输入内容
这不是一个电话号码   #这是函数调用运行的结果

如果上例中第一、二行代码修改如下:

def num_mobile(number):  #此时上面第二行代码不必要了
    if number.isdigit() and len(number) == 11:
        return '这是一个电话号码' #比较上面print时的不同
    else:
        return '这不是一个电话号码'

则 num_mobile函数的调用方式变为:

>>> num_mobile("13312312334") #这里括号内必须输入参数
这是一个电话号码  #运行结果

此时函数num_mobile括号内就必须输入参数number(变量),因为前面def num_mobile(number)定义函数时括号有形参,因此调用时就要输入实际参数(实参)。

这样以后再需要判断电话号码时,只需要调用 函数num_mobile就可以了,而不需要重复输入代码。

print和return的区别

return是关键字,其结果可以赋值给一个变量,有返回值和退出函数的功能;而print是函数没有返回的功能,其打印的结果不可以赋值给变量。
上例中的代码再修改如下:

def num_mobile(number):  #此时上面第二行代码不必要了
    if number.isdigit(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值