第五周

学习笔记(6)

第七章 函数

函数的概念:函数可以理解为实现某种功能的代码块,这样的程序中需要这个功能时就可以直接调用,而不必每次都编写一次。
在程序中,如果需要多次输入“拼搏到无能为力,坚持到感动自己”则可以将这个功能写成函数,具体示例如下:

def output():
    print('拼搏到无能为力,坚持到感动自己')

python中函数分为内建函数和自定义函数。内建函数是python自带的,既可以直接使用,如print()函数、input()函数等。常见的内建函数如下:
在这里插入图片描述
内建函数的数量有限,想自己设计符合使用需求的函数,则可以定义一个函数,其语法格式如下:

def 函数名 (参数列表):
    函数体

注意以下几点:
1.def(即define,定义)为关键字,表示定义一个函数。
2.函数名是一个标识符,注意不能与关键字重名。
3.小括号之间既可以用定义参数,参数是可以选的,但小括号不可少。
函数体以冒号起始,并且缩进。
4.函数体的第一行语句可以选择性使用文档字符串用来存放函数说明。
5.return[表达式]结束函数,将表达式的值返回给调用者,也可以省略。
自定函数示例:
在这里插入图片描述

位置参数
位置参数是指函数调用是传递实参的顺序与自定义函数的形参顺序一致,示例如下:
在这里插入图片描述关键参数
关键参数是指通过赋值传递的参数。关键参数允许函数调用时传递实参的顺序与定义不一致,因为python解释能够用形参名匹配实参值,使用户不必记住位置实参数的顺序。例:
在这里插入图片描述
默认参数
默认参数可以让函数的调用更加简化,就如同安装pc端软件时,程序会提示用户默认安装路径,当然用户也可以自定义安装路径。
不定长函数
在前面对函数介绍中,一个形参只能接受一个实参。除此之外,函数形参可以接受不定个数的实参,即用户可以给函数提供可变长度的函数,这可以通过在形参前面使用*来实现,如下例:

def mySum (a=0,b=0,*args):
    print(a,b,args)
    sum=a+b
    for n in args:
       sum+=n
    return sum
print(mySum(1,2))
print(mySum(1,2,3))
print(mySum(1,2,3))
print(mySum(1,2,3,4)

传递不可变与可变对象
在python中,数字、字符串与元祖是不可变类型,而列表、字典是可变类型,两者区别如下:
1.不可变类型——该类型的对象所代表的值不能被改变。当改变某个变量时,由于某所指的值不能被改变,相当于把原来的值复制一份后在改变,这会开辟一个新的地址,变量在指向这个新地址。
2.可变类型——该类型的对象所代表的值可以被改变,变量改变后,实际上是其所指的值直接发生,并没有发生复制行为,也没有开辟出新的地址。
例如:调用函数时传递不可变与不可变对象
在这里插入图片描述
当函数具有多个返回值时,如果只用一个变量来接收返回值,函数返回的多个值实际上构成了一个元祖,例:
在这里插入图片描述
变量的作用域
局部变量
在函数内部定义的普通变量只在函数内部起作用,称为局部变量,当函数执行结束后,局部变量自动删除,不可以在使用,例:
在这里插入图片描述
全局变量
如果需要在函数内部给一个定义在函数外的变量赋值,那么这个变量的作用域不能是局部的,而应该是全局的,能够同时作用于函数内外的变量称为全局变量,他通过global关键字声明,例:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值