python学习(十三)——函数

1 函数是什么?

将代码实现的功能定义为一个模块,当需要使用的时候再次调用此模块即可,此为我所理解的函数定义,函数可以提高我们在编程中的效率,当一个功能需要多次实现时,我们不可能每次都编写相同代码,如果将实现此功能的代码定义为一个函数,当我们需要再次实现此功能时,只需要调用之前写好的函数即可,这样就可以大大的提高我们的编程效率。

定义一个函数:使用关键字def,然后是函数名加括号(括号内指出函数为完成其任务需要什么样的信息,当然括号也可以是空的,但是一定要有括号),最后定义以冒号结束。

def hello():
    print('hello world')

hello()

在这里插入图片描述
函数的调用:要调用函数,可依次指定函数名以及用括号括起的必要信息,如是上面的例子所示

函数里面嵌套函数

def hello():
    print('hello world')
    def westos():
        print('hello westos')
hello()

在这里插入图片描述

def hello():
    print('hello world')
    def westos():
        print('hello westos')
    #嵌套的函数一定要调用,否则在调用hello()函数时,嵌套在其中的westos()不会实现其功能
    westos()
hello()

在这里插入图片描述

2 形参和实参

形参:即定义函数时,函数名后括号内的变量,形参可以任意起名

实参:根据真实的数据信息,调用函数时传递的参数即调用函数时,函数名后括号内的值

def welcome(a):      #这里的a就是形参
    print('hello',a)

welcome('lee')      #这里的lee和lily就是实参
welcome('lily')

在这里插入图片描述

形参的分类

(1)位置参数

调用函数时, python 必须将函数调用中的每个实参都关联到函数定义中的一个形参。形参和实参的位置必须保持一致

def getinfo(name,age):
    print('姓名:',name,'年龄:',age)

getinfo('westos',12)
getinfo(12,'westos')         #一定要注意形参和实参对应的位置必须一致
getinfo(age=12,name='westos')

在这里插入图片描述
(2)默认参数

编写函数时,可给每个形参指定默认值 。在调用函数中给形参提供了实参时, Python 将使用指定的实参值;否则,将使用形参的默认值。

def mypow(x,y=2):   #这里的2就是y的默认值
    print(x ** y)
mypow(2,3)          #这里指定了y的值为3,所以不再使用默认的y值
mypow(2)            #这里未指定y的值,故使用函数定义时的默认值

在这里插入图片描述

3 函数的返回值和作用域

(1)返回值

返回值:函数运算的结果 还需要进一步操作,给函数一个返回值,return用来返回函数执行的结果 如果函数没有返回值 默认返回None,函数一旦遇到return 函数执行结束 后面的代码不会执行,多个返回值的时候 python会帮我们封装成一个元组类型。

def mypow(x,y=2):
    return x**y,x+y
    print('!!!!!')
a = mypow(4)
print(a)

在这里插入图片描述

(2)作用域

函数的作用域:命名空间,变量名被赋值的位置,决定变量名能被访问到的范围。
1) 局部变量:在函数内部定义的变量,只在函数内部其作用,函数执行结束后,变量会自动删除。
2)全局变量:从定义开始到整个文件结束都可以使用。

a = 1
print('outside:',id(a))

def fun():
    global a #声明a为全局变量
    a = 5
    print('inside:',id(a))

fun()
print(a)
print(id(a))

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值