6.Python函数定义及使用课件.ppt
合集下载
Python程序设计课件第5章 Python函数

函数的参数与值传递
【例】参数**kwargs装包与拆包过程示例。
def run(**kwargs): # 传来的 key = value 类型的实参会 def run1(k, v): # 此处的参数名一定
映射成kwargs里面的键和值 # kwargs是一个字典,将未命名参数以键值对的形
式
要和字典的键的名称一致 print(k, v)
4 默认参数
函数的参数与值传递
【例】定义一个名称为printString的函数,然后为printString函数传递一个字符串类型的 变量作为参数(代表值传递),并在函数调用前后分别输出该字符串变量,再为printString 函数传递列表类型的变量作为参数(代表引用传递),并在函数调用前后分别输出该列表。
Python安装包、标准库中自带的函数统称为内置函数,用户自己编写 的函数称为自定义函数,不管是哪种函数,其定义和调用方式都是一样 的。
1 定义函数
函数的定义和调用
函数要有三个重要元素:函数名,以及函数参数和返回值。 定义函数的基本格式如下:
def 函数名(参数列表): '''函数注释字符串''' 函数体
4 函数的嵌套调用
函数的定义和调用
在一个函数中调用了另外一个函数,这就是函数嵌套调用。其执行流程为如果函数A中,
调用了另外一个函数B,则执行函数B中的任务后再回到上次函数A执行的位置。
【例】函数的嵌套调用示例。
#计算三个数之和 def sum_num(a, b, c):
return a + b + c
第5章 Python函数
• 函数的定义和调用 • 闭包及其应用
Python基础课件(PPT版)

if-else语句
2
了解如何使用if-else语句实现二选一条件
判断。
3
if语句
学习如何使用if语句实现单一条件判断。
if-elif-else语句
掌握如何使用if-elif-else语句实现多选一 条件判断。
11. Python循环语句
for循环
• 学习如何使用for循环遍历可迭代对象。 • 掌握for循环的高级用法,如循环嵌套和循环控制语句。
在这一部分,我们将学习如何安装Python并进行必要的环境配置,以确保您可以顺利进行Python编程。
3. Python语法基础
学习Python的语法是编程的基础。我们将介绍Python的变量、运算符、条件 语句等基本概念,并通过实例加深理解。
4. Python数据类型
整数与浮点数
学习如何使用整数和浮点数来表示和处理数值 数据。
列表
学习如何创建和操作列表,以及常见的列表操 作方法。
字符串
介绍字符串的概念和常见的操作,如拼接、截 取等。
元组
了解元组的特点和使用场景,以及如何操作元 组。
5. Python字符串操作
字符串是Python中常用的数据类型之一。在这一部分,我们将学习如何对字符串进行常见的操作,如截取、拼 接、替换等。
6. Python列表操作
1
访问列表元素
2
了解如何通过索引访问列表中的元素。
3
创建列表
学习如何创建和初始化列表。
列表操作方法
掌握常见的列表操作方法,如添加、删 除、排序等。
7. Python元组操作
创建元组
学习如何创建和初始化元组。
访问元组元素
了解如何通过索引访问元组中的 元素。
Python课件PPT:第6章 函数

6.9.2 利用递归函数解决汉诺塔问题
6.9.3 防止栈溢出
使用递归函数需要注意防止栈溢出。在计算 机中,函数调用是通过栈(stack)这种数 据结构实现的,每当进入一个函数调用,栈 就会加一层栈帧,每当函数返回,栈就会减 一层栈帧。由于栈的大小不是无限的,所以 ,递归调用的次数过多,会导致栈溢出。
6.10 匿名函数
所谓匿名,即不再使用def语句这样标准的形式定义一 个函数。Python使用lambda创建一个匿名函数。
下面举个简单的例子。定义一个返回参数之和的函数。 def f(x,y): return x+y 用户的函数只有一个表达式,就可以使用lambda运算
符来定义这个函数。 f = lambda x, y: x + y
6.6 形参和实参
函数的参数分为形参和实参两种。形参出现 在函数定义中,在整个函数体内都可以使用 ,离开该函数则不能使用;实参再调用函数 时传入。
1. 形参与实参的概念 2. 参数的功能 3. 形参和实参的特点:
6.7 变量作用域
在函数之外定义的变量属于全局变量,用户 可以在函数内使用全局变量。例如:
>>>m = f1(-100,abs)
>>>m()
#需要对m()调用才能得到求绝对值的结果
6.9 递归函数
6.9.1 使用递归函数 6.9.2 利用递归函数解决汉诺塔问题 6.9.3 防止栈溢出
6.9.1 使用递归函数
递归是指在函数的执行过程中再次对自己进 行调用。例如:
def f() { y=f(); return y; }
6.4.2 关键字参数
用户可以直接设置参数的名称与其默认值,这种类型的参数属于 关键字参数。
Python函数介绍课件

04 可变参数:使用*args或**kwargs来接收任意数量 的参数,可以方便地处理参数个数可变的情况
参数默认值
01
什么是参数默认值:在函数定 义时,为参数指定一个默认值, 当调用函数时,如果没有提供 该参数的值,则使用默认值。
02
默认值的作用:简化函数调 用,提高代码可读性和可维 护性。
03
如何设置参数默认值:在函数 定义时,在参数名后使用等号 (=)为参数指定默认值。
谢谢
4
形参和实参的类型可以不同,但必须兼容
5
形参和实参可以传递任意类型的数据,包括数值、字符串、列表、字典等
参数传递方式
01 值传递:将实参的值传递给形参,形参的改变不影 响实参
02 引用传递:将实参的地址传递给形参,形参的改变 会影响实参
03 默认参数:在定义函数时为参数指定默认值,调用 函数时可以省略该参数
函数的嵌套
01 概念:在一个函数内部定义并 调用另一个函数
02 作用:简化代码,提高代码可 读性和可维护性
03 示例:计算阶乘的函数中嵌套 计算每个数的阶乘
04 注意事项:避免嵌套层次过深, 可能导致代码难以理解和调试
递归函数的定义
01
递归函数是一种函数,它直接或间接 02
递归函数通常用于解决可以分解为更
性
函数的作用
01
02
03
04
简化代码:将重复 代码封装成函数, 提高代码可读性和
可维护性
提高代码重用性: 将可重用的代码封 装成函数,方便在
其他地方调用
提高代码模块化: 将相关功能封装成 函数,便于模块化
编程
提高代码执行效率: 通过函数调用,减 少重复计算,提高
参数默认值
01
什么是参数默认值:在函数定 义时,为参数指定一个默认值, 当调用函数时,如果没有提供 该参数的值,则使用默认值。
02
默认值的作用:简化函数调 用,提高代码可读性和可维 护性。
03
如何设置参数默认值:在函数 定义时,在参数名后使用等号 (=)为参数指定默认值。
谢谢
4
形参和实参的类型可以不同,但必须兼容
5
形参和实参可以传递任意类型的数据,包括数值、字符串、列表、字典等
参数传递方式
01 值传递:将实参的值传递给形参,形参的改变不影 响实参
02 引用传递:将实参的地址传递给形参,形参的改变 会影响实参
03 默认参数:在定义函数时为参数指定默认值,调用 函数时可以省略该参数
函数的嵌套
01 概念:在一个函数内部定义并 调用另一个函数
02 作用:简化代码,提高代码可 读性和可维护性
03 示例:计算阶乘的函数中嵌套 计算每个数的阶乘
04 注意事项:避免嵌套层次过深, 可能导致代码难以理解和调试
递归函数的定义
01
递归函数是一种函数,它直接或间接 02
递归函数通常用于解决可以分解为更
性
函数的作用
01
02
03
04
简化代码:将重复 代码封装成函数, 提高代码可读性和
可维护性
提高代码重用性: 将可重用的代码封 装成函数,方便在
其他地方调用
提高代码模块化: 将相关功能封装成 函数,便于模块化
编程
提高代码执行效率: 通过函数调用,减 少重复计算,提高
Python语言PPT-第6章函数

*** 函数的参数和返回值
第六章 函数
函数的参数就是使得函数个性化的一个实例。代码如下所示:
>>> def MyFirstFunction(name_city): print(‘我喜欢的城市:’ + name_city)
运行结果如下:
>>> MyFirstFunction('南京') 我喜欢的城市:南京
PER_PRICE_1 = float(input('请输入单价:')) NUMBER_1 = float(input('请输入斤数:')) SUM_PRICE_1 = foodsprice(PER_PRICE_1,NUMBER_1) print('蔬菜的价格是:',SUM_PRICE_1) print('局部变量sum_price的值:',sum_price)
*** 函数的概述
第六章 函数
代码运行结果如下:
请输入单价:12 请输入斤数:1.56 蔬菜的价格是: 18.72 Traceback (most recent call last): File "G:/6_1_3.py", line 9, in <module> print('局部变量sum_price的值: ',sum_price) NameError: name 'sum_price' is not defined
*** 函数的参数和返回值
第六章 函数
*** 可变参数
可变参数又称收集参数,是将一个元组赋值给可变参数。如果可变参数后 面还有其它参数,在参数传递时要把可变参数后的参数作为关键字参数来 赋值,或者在定义函数参数时要给它赋默认值,否则会出错。
精品课件 - Python的函数精讲

add2num(11, 22)
函数的返回值
参 数 调 用 过 程
默认参数
调用函数时,如果没有传递参数,则会使用默认参数。
def printinfo( name, age = 35 ): print(“Name:”, name) print(“Age:”, age) printinfo(name="miki" ) printinfo(age=9,name="miki" )
print(' 生命苦短,我用Python
')
print('------------------------------------')
函数的定义和调用
定义了函数之后,想要让这些代码能够执行,需要调 用函数。通过“函数名()” 即可完成调用。
# 调用刚才定义的函数 printInfo()
函数的返回值 先看一段代码:
匿名函数
注意:
使用Lambda声明的匿名函数能接收任何数量的参数, 但只能返回一个表达式的值。匿名函数不能直接调 用print,因为lambda需要一个表达式。
时间函数
在Python中,通常有如下几种方式表示时间: (1)时间戳; (2)格式化的时间字符串; (3)时间元组(struct_time)。
def add2num(): c = 11+22 print(c)
这个函数计算的只是固定 的两个数,没有什么意义。
函数的返回值
如果希望定义的函数,可以计算任何两个数和,我们在 定义函数的时候,让函数接收数据,这就是函数的参数。
def add2num(a, b): c = a+b print(c)
a和b就是函数的参数,调用的 时候,可以传入任何两个数。
函数的返回值
参 数 调 用 过 程
默认参数
调用函数时,如果没有传递参数,则会使用默认参数。
def printinfo( name, age = 35 ): print(“Name:”, name) print(“Age:”, age) printinfo(name="miki" ) printinfo(age=9,name="miki" )
print(' 生命苦短,我用Python
')
print('------------------------------------')
函数的定义和调用
定义了函数之后,想要让这些代码能够执行,需要调 用函数。通过“函数名()” 即可完成调用。
# 调用刚才定义的函数 printInfo()
函数的返回值 先看一段代码:
匿名函数
注意:
使用Lambda声明的匿名函数能接收任何数量的参数, 但只能返回一个表达式的值。匿名函数不能直接调 用print,因为lambda需要一个表达式。
时间函数
在Python中,通常有如下几种方式表示时间: (1)时间戳; (2)格式化的时间字符串; (3)时间元组(struct_time)。
def add2num(): c = 11+22 print(c)
这个函数计算的只是固定 的两个数,没有什么意义。
函数的返回值
如果希望定义的函数,可以计算任何两个数和,我们在 定义函数的时候,让函数接收数据,这就是函数的参数。
def add2num(a, b): c = a+b print(c)
a和b就是函数的参数,调用的 时候,可以传入任何两个数。
Python入门教程PPT课件:第6章 函数_PPT

局部 变量
1
全局 变量
2
匿名函数(lambda)
函数
[ 概念]
简单理解:函数就是可以完 成某项工作的代码块。
返回值 参数传递 函数的创建和调用
变量的作用域 匿名函数(lambda)
函数的创建和调用
1 创建函数 2 调用函数
不写()
def functionname([parameterlist]): ['''comments'''] [functionbody]
放在所有参数的最后
def functionname(…,[parameter1 = defaultvalue1]): [fuห้องสมุดไป่ตู้ctionbody]
返回值
None
return [value]
变量的作用域
[ 概念]
变量的作用域是指程序代码能够 访问该变量的区域,如果超出该区域, 再访问时就会出现错误。
return
()
functionname([parametersvalue])
参数传递
了解形 式参数 和实际
参数
1
关键 字参
数
3
位置 参数
2
为参数 设置默
认值
4
可变 参数
5
[ 概念]
位置参数是必须按照定义时
的个数和顺序进行参数传递,也
称必备参数。
[ 概念]
关键字参数是指使用形式参 数的名字来确定输入的参数值。
Python函数介绍课件

自定义函数
01
自定义函数是一种用户根据需要创建的函数
02
自定义函数可以完成特定的功能,提高代码的可读性和可维护性
03
自定义函数可以接受参数,返回结果
自定义函数可以封装复杂的逻辑,降低代码的复杂性
匿名函数
04
常用于快速定义简单的函
数,如排序、过滤等操作
03
可以在需要函数对象的
地方使用
02
通常使用lambda关键
函数的调试与优 化
调试方法
01
使用print()函数输出 中间结果,检查数据流
02
使用断点调试,逐步执 行代码,观察变量变化
03
使用日志记录,记录关 键信息,方便定位问题
04
使用代码审查工具,自 动检查代码质量,提供 优化建议
优化技巧
使用Python内置函数:如 map、filter、reduce等,
可以简化代码,提高效率
减少循环次数:通过优化算 法,减少循环次数,提高程
序运行速度
使用生成器:生成器可以节 省内存,提高程序运行速度
使用装饰器:装饰器可以简 化代码,提高程序可读性和
可维护性
使用缓存:对于重复计算的 结果,可以使用缓存来提高
程序运行速度
使用多线程:对于可以并行 计算的任务,可以使用多线
函数的调用
调用方式:通过 函数名和括号来
调用函数
参数传递:在调 用函数时,可以 将参数传递给函
数
返回值:函数可 以返回一个值, 该值可以作为另 一个函数的参数
嵌套调用:函数 可以嵌套调用, 即在一个函数内 部调用另一个函
数
函数的参数
形参:函数定义时使 用的参数,用于接收
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
函数的定义
Python定义一个函数使用def保留字,语法形式如下:
def <函数名>(<参数列表>): <函数体> return <返回值列表>
精品
函数的理解与定义
函数的定义
函数名
参数
def fibs(nums): fibs = [0, 1] for i in range(num - 2): fibs.append(fibs[-2]+fibs[-1]) return fibs
函数的调用
nums = 8
精品
Python程序设计
6.1 函数的理解与定义 6.2 参数传递与返回值 6.3 作用域 6.4 递归
精品
Python程序设计
参数传递与返回值
参数传递 返回值
精品
参数传递与返回值
参数传递
形参与实参 在def语句中,位于函数名后面的变量通常称为形参。 调用函数时提供的值称为实参
精品
作用域
局部变量和全局变量
规则2: 局部变量为组合数据类型且未创建新变量,等同于全局变量
精品
作用域
局部变量和全局变量
规则2: 局部变量为组合数据类型且未创建新变量,等同于全局变量
精品
作用域
局部变量和全局变量
总结: - 基本数据类型,无论是否重名,局部变量与全局变量不同 - 可以通过global保留字在函数内部声明全局变量 - 组合数据类型,如果局部变量未真实创建,则是全局变量
精品
lambda
lambda函数
python 使用 lambda 来创建匿名函数,不再使用 def 语句这样标 准的形式定义一个函数。 - lambda 只是一个表达式,函数体比 def 简单很多。
- lambda的主体是一个表达式,而不是一个代码块。仅仅能在 lambda表达式中封装有限的逻辑进去。
精品
Python程序设计
递归
函数递归的理解 函数递归的调用过程 函数递归实例解析
print(‘’.join(map(lambda x: chr((ord(x) + 3 - ord(‘A’)) % 26 + ord(‘A’)) if ‘A’ <= x <= ‘Z’ else x, input("please input str1: "))))
精品
Python程序设计
6.1 函数的理解与定义 6.2 参数传递与返回值 6.3 作用域 6.4 递归
返回值
精品
函数的理解与定义
给函数编写文档
函数的定义
精品
函数的理解与定义
函数的调用
程序调用一个函数需要执行以下四个步骤:
(1)调用程序在调用处暂停执行;
(2)在调用时将实参复制给函数的形参;
(3)执行函数体语句;
(4)函数调用结束给出返回值,程序回到调用前的暂停处继 续执行。
精品
函数的理解与定义
- lambda 函数拥有自己的命名空间,且不能访问自己参数列表之 外或全局命名空间里的参数。
精品
lambda
lambda函数
精品
lambda
lambda函数
>>> f = lambda x, y : x + y >>> f(10, 15) 25 >>> f = lambda : "lambda函数" >>> print(f()) lambda函数
精品
Python程序设计
第6章 Python函数定义与使用
精品
Python程序设计
6.1 函数的理解与定义 6.2 参数传递与返回值 6.3 作用域 6.4 递归
精品
Python程序设计
函数的理解与定义
函数定义 函数调用
精品
函数的理解与定义
函数的定义
求取包含10个斐波那契数
精品
函数的理解与定义
精品
参数传递与返回值
返回值
精品
Python程序设计
6.1 函数的理解与定义 6.2 参数传递与返回值 6.3 作用域 6.4 递归
精品
作用域
局部变量和全局变量
一个程序中的变量包括两类:全局变量和局部变量。 •全局变量指在函数之外定义的变量,一般没有缩进,在 程序执行全过程有效。 •局部变量指在函数内部使用的变量,仅在函数内部有效, 当函数退出时变量将不存在。
精品
lambda
lambda函数
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda [1, 4, 9, 16, 25]
# 提供了两个列表,对相同位置的列表数据进行相加 >>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]) [3, 7, 11, 15, 19]
函数的定义
如何让代码按照用户指定的最终要求取得序列的长度?
或许还可以让程序更加抽数是一段具有特定功能的、可重用的语句组,用函数名来 表示并通过函数名进行完成功能调用。 函数是一种功能的抽象,一般函数表达特定功能 两个作用:降低编程难度 和 代码复用
精品
函数的理解与定义
精品
参数传递与返回值
参数传递
函数定义时可以设计可变数量参数,既不确定参数总数量 def printParams(*params):
print(params)
def printParams2(**params): print(params)
精品
参数传递与返回值
返回值
函数可以返回0个或多个结果 - return保留字用来传递返回值 - 函数可以有返回值,也可以没有 - 可以有return,也可以没有 - return可以传递0个返回值,也可以传递任意多个返回值
精品
参数传递与返回值
参数传递
函数可以有参数,也可以没有,但必须保留括号
精品
参数传递与返回值
参数传递
函数定义时可以为某些参数指定默认值,构成可选参数
精品
参数传递与返回值
参数传递
位置参数 和 关键字参数
在结合使用位置参数和关键字参数时,必须先指定所有位置参数
精品
参数传递与返回值
参数传递
函数定义时可以设计可变数量参数,既不确定参数总数量
精品
作用域
局部变量和全局变量
规则1: 局部变量和全局变量是不同变量
当函数执行完退出后,其内部变量将被释放。
精品
作用域
局部变量和全局变量
函数func()内部使用了变量n,并且将变量参数b赋值给变量n
精品
作用域
局部变量和全局变量
如果希望让func()函数将n当作全局变量,需要在变量n使用前显式 声明该变量为全局变量,代码如下。
Python定义一个函数使用def保留字,语法形式如下:
def <函数名>(<参数列表>): <函数体> return <返回值列表>
精品
函数的理解与定义
函数的定义
函数名
参数
def fibs(nums): fibs = [0, 1] for i in range(num - 2): fibs.append(fibs[-2]+fibs[-1]) return fibs
函数的调用
nums = 8
精品
Python程序设计
6.1 函数的理解与定义 6.2 参数传递与返回值 6.3 作用域 6.4 递归
精品
Python程序设计
参数传递与返回值
参数传递 返回值
精品
参数传递与返回值
参数传递
形参与实参 在def语句中,位于函数名后面的变量通常称为形参。 调用函数时提供的值称为实参
精品
作用域
局部变量和全局变量
规则2: 局部变量为组合数据类型且未创建新变量,等同于全局变量
精品
作用域
局部变量和全局变量
规则2: 局部变量为组合数据类型且未创建新变量,等同于全局变量
精品
作用域
局部变量和全局变量
总结: - 基本数据类型,无论是否重名,局部变量与全局变量不同 - 可以通过global保留字在函数内部声明全局变量 - 组合数据类型,如果局部变量未真实创建,则是全局变量
精品
lambda
lambda函数
python 使用 lambda 来创建匿名函数,不再使用 def 语句这样标 准的形式定义一个函数。 - lambda 只是一个表达式,函数体比 def 简单很多。
- lambda的主体是一个表达式,而不是一个代码块。仅仅能在 lambda表达式中封装有限的逻辑进去。
精品
Python程序设计
递归
函数递归的理解 函数递归的调用过程 函数递归实例解析
print(‘’.join(map(lambda x: chr((ord(x) + 3 - ord(‘A’)) % 26 + ord(‘A’)) if ‘A’ <= x <= ‘Z’ else x, input("please input str1: "))))
精品
Python程序设计
6.1 函数的理解与定义 6.2 参数传递与返回值 6.3 作用域 6.4 递归
返回值
精品
函数的理解与定义
给函数编写文档
函数的定义
精品
函数的理解与定义
函数的调用
程序调用一个函数需要执行以下四个步骤:
(1)调用程序在调用处暂停执行;
(2)在调用时将实参复制给函数的形参;
(3)执行函数体语句;
(4)函数调用结束给出返回值,程序回到调用前的暂停处继 续执行。
精品
函数的理解与定义
- lambda 函数拥有自己的命名空间,且不能访问自己参数列表之 外或全局命名空间里的参数。
精品
lambda
lambda函数
精品
lambda
lambda函数
>>> f = lambda x, y : x + y >>> f(10, 15) 25 >>> f = lambda : "lambda函数" >>> print(f()) lambda函数
精品
Python程序设计
第6章 Python函数定义与使用
精品
Python程序设计
6.1 函数的理解与定义 6.2 参数传递与返回值 6.3 作用域 6.4 递归
精品
Python程序设计
函数的理解与定义
函数定义 函数调用
精品
函数的理解与定义
函数的定义
求取包含10个斐波那契数
精品
函数的理解与定义
精品
参数传递与返回值
返回值
精品
Python程序设计
6.1 函数的理解与定义 6.2 参数传递与返回值 6.3 作用域 6.4 递归
精品
作用域
局部变量和全局变量
一个程序中的变量包括两类:全局变量和局部变量。 •全局变量指在函数之外定义的变量,一般没有缩进,在 程序执行全过程有效。 •局部变量指在函数内部使用的变量,仅在函数内部有效, 当函数退出时变量将不存在。
精品
lambda
lambda函数
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda [1, 4, 9, 16, 25]
# 提供了两个列表,对相同位置的列表数据进行相加 >>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]) [3, 7, 11, 15, 19]
函数的定义
如何让代码按照用户指定的最终要求取得序列的长度?
或许还可以让程序更加抽数是一段具有特定功能的、可重用的语句组,用函数名来 表示并通过函数名进行完成功能调用。 函数是一种功能的抽象,一般函数表达特定功能 两个作用:降低编程难度 和 代码复用
精品
函数的理解与定义
精品
参数传递与返回值
参数传递
函数定义时可以设计可变数量参数,既不确定参数总数量 def printParams(*params):
print(params)
def printParams2(**params): print(params)
精品
参数传递与返回值
返回值
函数可以返回0个或多个结果 - return保留字用来传递返回值 - 函数可以有返回值,也可以没有 - 可以有return,也可以没有 - return可以传递0个返回值,也可以传递任意多个返回值
精品
参数传递与返回值
参数传递
函数可以有参数,也可以没有,但必须保留括号
精品
参数传递与返回值
参数传递
函数定义时可以为某些参数指定默认值,构成可选参数
精品
参数传递与返回值
参数传递
位置参数 和 关键字参数
在结合使用位置参数和关键字参数时,必须先指定所有位置参数
精品
参数传递与返回值
参数传递
函数定义时可以设计可变数量参数,既不确定参数总数量
精品
作用域
局部变量和全局变量
规则1: 局部变量和全局变量是不同变量
当函数执行完退出后,其内部变量将被释放。
精品
作用域
局部变量和全局变量
函数func()内部使用了变量n,并且将变量参数b赋值给变量n
精品
作用域
局部变量和全局变量
如果希望让func()函数将n当作全局变量,需要在变量n使用前显式 声明该变量为全局变量,代码如下。