函数

  • 结构化编程与非结构化编程
    非结构化编程:一组逻辑在同一代码实现
    结构话编程:一组逻辑在不同代码实现,通过相互调用配合使用
  • 函数的一般形式
def 函数名(形式参数):
函数的使用: 函数名(实际参数)
1.def define
2.符合函数名命名规范(第一个单词首字母小写,以后的单词首字母大写)
3.(参数) 	形参,形式参数,形参列表,参数列表
4.函数名(实际参数)
  • 函数的运行机制
    当函数调用的时候,虚拟机会找到函数定义的位置,跳转到函数内部,依次执行,执行完之后返回函数的调用处.

  • 函数的特点

  1. 避免代码冗余
  2. 提高了程序的可重用性
  3. 提高了程序的可维护性
  4. 提高了程序的灵活性
  • 函数的定义
  1. 函数要先定义后使用 (定义后加载到内存中)
  2. 函数可以定义到另一个函数的内部
  3. 函数的作用域:从函数定义时开始,到其所包含的代码块结束
  • 函数的返回值
  1. 没有返回值的时候,系统自动返回 return None.
  2. 需要返回值,return 返回值
  3. return后面的代码不执行,return返回函数的调用处
  4. 当需要返回多个返回值时,用逗号隔开,以元组的形式返回
  • 参数
  1. 一个参数
  2. 多个参数 :用逗号隔开
  • 传参的方式
  1. 位置传参
  2. 默认参数
  3. 收集参数
  4. 关键字参数
  5. 关键字收集参数
def fun(a,b):
	print(a,b)
fun(1,2)
>1 2
  1. 关键字传参
def fun(a,b):
  print(a,b)
fun(b=1,a=2)
>2 1
  1. 同一参数重复赋值会报错
def fun(a,b):
   print(a,b)
fun(1,a=2) 
>TypeError: fun() got multiple values for argument 'a'
  1. 函数的变量
    全局变量:定义在文件的最外层,作用范围:整个文件都可以使用
    局部变量:定义在函数内部, 作用范围:从开始,到其所执行的代码块结束
    当冲突的时候,在局部的作用范围时,以局部为准
  • global和nonlocal
  1. global影响全局变量
a=10
def fun():
   global a
   a=1
   print(a)
fun()
>1
  1. nonlocal影响的是外层函数的局部变量
a=10
def fun():
    a=5
    def fun1():
        nonlocal a
        a=1
    fun1()
    print(a)
fun()
>1

  • 内嵌函数
    定义:一个函数内部定义另一个函数
def fun():
   def fun1():
       print("this is in fun1")
   fun1()
   print("this is in fun")
fun()
>this is in fun1
this is in fun
  • 函数的嵌套
    定义:一个函数中调用另一个函数
    注意:可以先使用后定义
def fun():
    print("this is in fun")
    fun1()
def fun1():
    print("this is in fun1")

fun()
>this is in fun
this is in fun1
  • lambda函数

意义:当函数使用一次的时候,又不想写函数
使用:如果有多个变量,用逗号隔开

l=lambda a,b:a+b
print(l(1,2))
>3

  • map函数
    使用:map(函数,*iterable)

list(map(lambda a:a+2,[1,2,3]))
[3,4,5]
可以使用多个iterable,不过操作的时候需要用括号括起来

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值