01A16.Learning Python 5th-函数基础

本笔记是基于《Python学习手册-原书第五版》第十六章 函数基础

函数就是将一些语句集合在一起的组件,从而让它们能够不止一次地在程序中运行。是Python为了达到代码重用最大化而提供的最基本的程序结构。

函数的主要内容为函数调用语句,def声明和lambda声明,global和nonlocal作用域管理,return和yield返回值的方式。

函数在程序中主要扮演两个角色——1.最大化代码重用和最小化代码冗余;2.过程的分解。

函数的一些主要概念

1.def是可执行的代码

Python中的函数是由一条新语句编写的,即def语句。

2.def创建了一个对象并将其赋值给某一变量名

Python运行到def语句时,将生成一个新的函数对象并将其赋值给这个函数名。函数名是一个函数对象的引用。

3.lambda创建了一个对象并将其作为结果返回

lambda表达式创建函数可以让我们在函数定义内联在def语句不能工作的地方。

4.return将一个结果对象传回给调用者

当函数被调用时,其调用者将暂停运行,直到这个函数完成了它的工作,之后函数才将控制权还给调用者。函数通过return语句将计算结果的值传回给调用者。没有返回值的retrun语句将控制权还给调用者。

5.yiled向调用者发回一个结果对象,但是会记住它离开的位置

生成器可以通过yield语句来返回值,并挂起它们的状态以便稍后能恢复。

6.global声明了一个模块级的可被赋值的变量

在默认的情况下,所有在一个函数中被复制的对象都是这个函数的局部变量,并且仅在这个函数运行的过程中存在。为了给一个外层的模块中的变量赋值,函数需要在global语句中声明它。

7.nonlocal声明了一个需要被赋值的外层函数变量。

nonlocal语句允许一个函数对一个在其外层的def语句作用域中已有的名称进行赋值。

8.参数是通过赋值传递给函数的。

在Python中,参数通过赋值传递给函数。

9.除非你显式指明形式参数与实际参数的对应,否则实际参数按位置赋值给形式参数。

传入一个函数调用的值默认按照从左到右的顺序给函数定义时的形式参数。

10.参数,返回值与变量不需要被声明

Python的函数没有类型约束。

def语句

# def语句的一般格式

def name(arg1, arg2, ..., argN)
    statements

return可以在函数体中的任何地方出现。当return被调用的时候,它将结束函数调用并把结果返回至函数调用处。return语句包含了一个对象表达式,这个对象给出函数的结果,默认值为None对象。

def语句是一条可执行的语句:当它运行的时候,会创建一个新的函数对象并将其赋值给一个变量名。因此可以出现在所有语句可以出现的地方,甚至可以嵌套在if语句中。

定义和调用

定义就是创建一个新的函数对象来封装这个函数的代码,并将对象赋值给函数名。

调用就是就是传入相应的参数实际使用这些代码。

# 定义
>>> def my_add(x, y):
	return x+y

#调用
>>> my_add(2, 4)
6

局部变量

所有的局部变量会在函数调用时出现,并在函数退出时消失。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值