Python入门教程PPT课件:第6章 函数_PPT
合集下载
python学习课件(共73张PPT)
![python学习课件(共73张PPT)](https://img.taocdn.com/s3/m/a7e2ae0a777f5acfa1c7aa00b52acfc788eb9f68.png)
• ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非 常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功, 究其原因,Guido 认为是非开放造成的。Guido 决心在 Python 中避免这一错 误(的确如此,Python 与其它的语言如C、C++和Java结合的非常好)。同 时,他还想实现在 ABC 中闪现过但未曾实现的东西。就这样,Python在 Guido手中诞生了。
Python语言特点-可扩展、动态性
可扩展性
• Python是采用C开发的语言,因此可以使用C扩展Python ,可以给Python添加新的模块、新的类。同时Python 可以嵌入C、C++语言开发项目中,使程序具备脚本 语言的特性。
动态性 • Python与JavaScript、PHP、Perl等语言类似,它不需要
• Python语言具有很强的面向对象特性,而且简化了面向 对象的实现,它消除了保护类型、抽象类、接口等面向 对象的元素,使得面向对象的概念更容易理解。
Python语言特点-内置数据结构
• Python提供了一些内置的数据结构,这些数据结构实现 了类似Java中集合类的功能。内置数据结构的出现简化了 程序设计。
• 工具2to3( • )几乎能将任何Python 2程序自动转换为等价的Python 3程序。
2.Python 基本语法
Python的编码规范
1、命名规则
• Python语言有一套自己的命名规则。命名规则并不 是语法规定,只是一种习惯用法。
(1) 变量名、模块名、包名
• 通常采用小写,可使用下划线。 • 例如:
rulemodule.py #模块名,即文件名 _rule=’rule information’ #_rule变量名,通常前缀有一个
Python语言特点-可扩展、动态性
可扩展性
• Python是采用C开发的语言,因此可以使用C扩展Python ,可以给Python添加新的模块、新的类。同时Python 可以嵌入C、C++语言开发项目中,使程序具备脚本 语言的特性。
动态性 • Python与JavaScript、PHP、Perl等语言类似,它不需要
• Python语言具有很强的面向对象特性,而且简化了面向 对象的实现,它消除了保护类型、抽象类、接口等面向 对象的元素,使得面向对象的概念更容易理解。
Python语言特点-内置数据结构
• Python提供了一些内置的数据结构,这些数据结构实现 了类似Java中集合类的功能。内置数据结构的出现简化了 程序设计。
• 工具2to3( • )几乎能将任何Python 2程序自动转换为等价的Python 3程序。
2.Python 基本语法
Python的编码规范
1、命名规则
• Python语言有一套自己的命名规则。命名规则并不 是语法规定,只是一种习惯用法。
(1) 变量名、模块名、包名
• 通常采用小写,可使用下划线。 • 例如:
rulemodule.py #模块名,即文件名 _rule=’rule information’ #_rule变量名,通常前缀有一个
Python程序设计第6章函数的设计和使用(第8次课)ppt课件
![Python程序设计第6章函数的设计和使用(第8次课)ppt课件](https://img.taocdn.com/s3/m/f52bfd7c90c69ec3d4bb750a.png)
函数定义格式如下:
def 函数名([参数]): ……(函数体)
【例6-1】 定义一个输出函数,打印出Hello World!。
框图:
开始 调用函数sayHello()
结束
程序:
#Exp6_1.py def sayHello( ): #函数定义
print 'Hello World! ' #函数体
#主程序 sayHello( ) #函数调用
程序运行结果: x is 50 changed local x to 2
print 'value of x is', x
# Ea=3.14*r*r perimeter=2*3.14*r print '半径为',r,'的圆面积为:', area print '半径为',r,'的圆周长为:', perimeter #主程序 circle(2) #函数调用 circle(3) #函数调用 circle(4) #函数调用
计算机编程导论
课程建设组 编著 2014.10
第6章 函数的设计和使用
1.问题的引入 2. 函数基础知识
6.1 问题的引入
【问题6-1】计算三个圆的面积和周长,这三个圆的半 径分别为2,3,4。 分析:按照已学过的知识,解决该问题的程序如下:
#Ques6_1.py a=2 area_a=3.14*a*a perimeter_a=3.14*2*a print '半径为2的圆的面积为:', area_a print '半径为2的圆的周长为:', perimeter_a b=3 area_b=3.14*b*b perimeter_b=3.14*2*b print '半径为3的圆的面积为:', area_b print '半径为3的圆的周长为:', perimeter_b
def 函数名([参数]): ……(函数体)
【例6-1】 定义一个输出函数,打印出Hello World!。
框图:
开始 调用函数sayHello()
结束
程序:
#Exp6_1.py def sayHello( ): #函数定义
print 'Hello World! ' #函数体
#主程序 sayHello( ) #函数调用
程序运行结果: x is 50 changed local x to 2
print 'value of x is', x
# Ea=3.14*r*r perimeter=2*3.14*r print '半径为',r,'的圆面积为:', area print '半径为',r,'的圆周长为:', perimeter #主程序 circle(2) #函数调用 circle(3) #函数调用 circle(4) #函数调用
计算机编程导论
课程建设组 编著 2014.10
第6章 函数的设计和使用
1.问题的引入 2. 函数基础知识
6.1 问题的引入
【问题6-1】计算三个圆的面积和周长,这三个圆的半 径分别为2,3,4。 分析:按照已学过的知识,解决该问题的程序如下:
#Ques6_1.py a=2 area_a=3.14*a*a perimeter_a=3.14*2*a print '半径为2的圆的面积为:', area_a print '半径为2的圆的周长为:', perimeter_a b=3 area_b=3.14*b*b perimeter_b=3.14*2*b print '半径为3的圆的面积为:', area_b print '半径为3的圆的周长为:', perimeter_b
最新Python基础6ppt课件
![最新Python基础6ppt课件](https://img.taocdn.com/s3/m/bad48d952b160b4e777fcf66.png)
边框
所有的widget都有一个边框。 边框包括3D的relief(浮雕)效果和Focus
Highlight(焦点高亮)区域。 Relief option用来表示如何绘制一个widget
的边框,可以是SUNKEN RAISED, GROOVE RIDGE和FLAT borderwidth或 者bd option表示widget边框的大小,一般 为2或1。太大不好看。
Tkinter
对于较大程序,一般写到一个类中。
Widget配置
Tk中的每一个widget都有很多option,通过 改变这些option可以改变widget的外观。典 型的option有控制显示的内容,颜色,大小, 事件处理函数等等,Tkinter提供了统一界 面用于处理所有的option。
Highlightthickness 表示Focus Highlight Region的宽度,一般为1或2.
边框
from Tkinter import * bd = range(1,9,3) t = [ "border = " + str(k) for k in bd ] relief= [ RAISED,
Pack管理器
Cavity(空间):master widget上的空间, 表示分配空间一部分slave widget之后, master widget还剩下的空间,用于分配给 其它还没有摆好的slave widget。
Parcel(包裹):从cavity中分配出一个空 间,用于摆放一个slave widget。
Tkinter
Option?所有的Widget都有很多options,包 括fg(前景色),bg(背景色),font(字 体),command(事件处理函数),text (内容)等等。
Python课件PPT:第6章 函数
![Python课件PPT:第6章 函数](https://img.taocdn.com/s3/m/12dbef66e009581b6ad9eb2c.png)
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语言》电子课件 第六章
![《Python语言》电子课件 第六章](https://img.taocdn.com/s3/m/74e26021a1c7aa00b42acb8e.png)
good数则按照给定格式输出,输出使用格式化操作,使输出
更加方便。
1 for i in range(1000, 10000):
2
a = i / 1000
3
b = i / 100 % 10
4
c = i % 100 / 10
5
d = i % 10
6
if a ** 4 + b ** 4 + c ** 4 + d ** 4 == i:
17
6.1.3 字符串模板
字符串格式化操作符是Python处理这类问题的主要手段。然 而它也不是完美的,其中的一个缺点是不够直观,即使是现 在使用字典形式转换的程序员也会偶尔出现遗漏转换类型符 号的错误,而字符串模板的优势是不用去记住所有的相关细 节,就可以完成对原有参数的直接替换。
新式的字符串Template对象存在string模块中,新式的字符 串Template对象使用美元符号“$”定义待替换的参数,使用 substitute()方法和safe_substitute()方法进行参数替换。 substitute()方法更为严谨,在substitute()缺少的情况下 它会报一个KeyError的异常出来;而safe_substitute()在缺 少key时,直接原封不动的把参数字符串显示出来。
re模块正则表达式方法 正则表达式特殊符号
4
6.1 字符串操作
字符串操作是编程语言中的一项基本操作,比如通过切片操 作得到字符串的子序列,再比如字符串在输出时需要格式输 出。 Python语言所提供的字符串操作方法将大大简化编程复杂度 ,缩短开发周期。
5
6.1.1 切片操作
字符串的切片操作就是在字符串中按规则地提取一段字符串 ,达到简化字符串的目的。Python语言中切片操作主要有两 种形式:
Python函数介绍课件
![Python函数介绍课件](https://img.taocdn.com/s3/m/bfa950e6ac51f01dc281e53a580216fc710a535f.png)
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
简化代码:将重复 代码封装成函数, 提高代码可读性和
可维护性
提高代码重用性: 将可重用的代码封 装成函数,方便在
其他地方调用
提高代码模块化: 将相关功能封装成 函数,便于模块化
编程
提高代码执行效率: 通过函数调用,减 少重复计算,提高
第6章__Python函数
![第6章__Python函数](https://img.taocdn.com/s3/m/38de7d32a45177232e60a255.png)
如果想使用函数返回值,则有两种用法
用变量接收返回值,如 x = f(3) print 2 + x * 4 直接用在表达式中,如 print 2 + f(3) * 4
函数中定义的变量是局部的:即作用域是函 数体.
函数的形参可视为局部变量,只不过是在调用 时 才赋值.
24
局部变量和全局变量
在一个函数中定义的变量一般只能在该函 数内部使用,这些只能在程序的特定部分 使用的变量我们称之为局部变量;
在一个文件顶部定义的变量可以供该文件 中的任何函数调用,这些可以为整个程序 所使用的变量称为全局变量。
def treetop(ch): print " %s" % (ch) print " %s" % (3*ch) print " %s" % (5*ch) print "%s" % (7*ch)
def star_treetop(): treetop('*') treetop('*')
def caret_treetop(): treetop('^') treetop('^‘)
x =0 f() g()
30
提纲
函数的定义 函数的命名规则 函数的作用域 函数的参数 函数的返回值 常用函数
31
函数的参数
在一个函数中对参数名赋值不影响调用者 在一个函数中改变一个可变的对象参数会影
响调用者,如列表,字典,元组等。 参数是对象指针,无需定义传递的对象类型
def test(a,b): return (a+b)
def treetop(): print " *" print " ***" print " *****" print "*******"
用变量接收返回值,如 x = f(3) print 2 + x * 4 直接用在表达式中,如 print 2 + f(3) * 4
函数中定义的变量是局部的:即作用域是函 数体.
函数的形参可视为局部变量,只不过是在调用 时 才赋值.
24
局部变量和全局变量
在一个函数中定义的变量一般只能在该函 数内部使用,这些只能在程序的特定部分 使用的变量我们称之为局部变量;
在一个文件顶部定义的变量可以供该文件 中的任何函数调用,这些可以为整个程序 所使用的变量称为全局变量。
def treetop(ch): print " %s" % (ch) print " %s" % (3*ch) print " %s" % (5*ch) print "%s" % (7*ch)
def star_treetop(): treetop('*') treetop('*')
def caret_treetop(): treetop('^') treetop('^‘)
x =0 f() g()
30
提纲
函数的定义 函数的命名规则 函数的作用域 函数的参数 函数的返回值 常用函数
31
函数的参数
在一个函数中对参数名赋值不影响调用者 在一个函数中改变一个可变的对象参数会影
响调用者,如列表,字典,元组等。 参数是对象指针,无需定义传递的对象类型
def test(a,b): return (a+b)
def treetop(): print " *" print " ***" print " *****" print "*******"
Python语言PPT-第6章函数
![Python语言PPT-第6章函数](https://img.taocdn.com/s3/m/0b630d8d360cba1aa811da6e.png)
*** 函数的参数和返回值
第六章 函数
函数的参数就是使得函数个性化的一个实例。代码如下所示:
>>> 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课程第三阶段第6课:Python的引用原理——Python+课件(共17张PPT)
![Python课程第三阶段第6课:Python的引用原理——Python+课件(共17张PPT)](https://img.taocdn.com/s3/m/5b25387f3069a45177232f60ddccda38376be19f.png)
01 课前回顾
01 课前回顾
• Python 内置函数定义;
自行设置函数很简单,但用户不可能将所有常用的功能都设置成函数。 Python很贴心地将一些常用的功能设置成了内置函数。这些函数无须 从模块中导入,也无须定义就可以在任意位置直接调用
02 课堂知识
02 课堂知识
引用的概念
在 `Python` 中 * 变量 和 数据 是分开存储的 * 数据 保存在内存中的一个位置 * 变量 中保存着数据在内存中的地址 * 变量 中 记录数据的地址,就叫做 引用 * 使用 `id()` 函数可以查看变量中保存数据所在的 内存地址
这样会改变b的内存地址嘛?
02 课堂知识
变量引用 的示例
在 `Python` 中,变量的名字类似于 便签纸 贴在 数据上 * 定义一个整数变量 `a`,并且赋值为 `1`
将变量 `a` 赋值为 `2`
将变量 `a` 赋值为 `2`
02 课堂知识
代码验证
02 课堂知识
可变和不可变类型
不可变类型,内存中的数据不允许被修改: 数字类型 `int`, `bool`, `float`, `complex`, `long(2.x)` 字符串 `str` 元组 `tuple`
可变类型,内存中的数据可以被修改: 列表 `list` 字典 `dict`
02 课堂知识
程序展示
a=1 print(id(a)) a=2 print(id(a)) b=a print(id(b)) c=1 print(id(c))
a = [1,2] print(id(a)) a.append(3) print(id(a))
03 基础任务
03 基础任务
• 使用id()方法验证其他可变类型
Python函数介绍课件
![Python函数介绍课件](https://img.taocdn.com/s3/m/7a98bbb0cd22bcd126fff705cc17552707225ee0.png)
自定义函数
01
自定义函数是一种用户根据需要创建的函数
02
自定义函数可以完成特定的功能,提高代码的可读性和可维护性
03
自定义函数可以接受参数,返回结果
自定义函数可以封装复杂的逻辑,降低代码的复杂性
匿名函数
04
常用于快速定义简单的函
数,如排序、过滤等操作
03
可以在需要函数对象的
地方使用
02
通常使用lambda关键
函数的调试与优 化
调试方法
01
使用print()函数输出 中间结果,检查数据流
02
使用断点调试,逐步执 行代码,观察变量变化
03
使用日志记录,记录关 键信息,方便定位问题
04
使用代码审查工具,自 动检查代码质量,提供 优化建议
优化技巧
使用Python内置函数:如 map、filter、reduce等,
可以简化代码,提高效率
减少循环次数:通过优化算 法,减少循环次数,提高程
序运行速度
使用生成器:生成器可以节 省内存,提高程序运行速度
使用装饰器:装饰器可以简 化代码,提高程序可读性和
可维护性
使用缓存:对于重复计算的 结果,可以使用缓存来提高
程序运行速度
使用多线程:对于可以并行 计算的任务,可以使用多线
函数的调用
调用方式:通过 函数名和括号来
调用函数
参数传递:在调 用函数时,可以 将参数传递给函
数
返回值:函数可 以返回一个值, 该值可以作为另 一个函数的参数
嵌套调用:函数 可以嵌套调用, 即在一个函数内 部调用另一个函
数
函数的参数
形参:函数定义时使 用的参数,用于接收
python的函数完整版课件
![python的函数完整版课件](https://img.taocdn.com/s3/m/e74a272102d8ce2f0066f5335a8102d276a261b7.png)
2.运行结果
Name:miki Age:50 Name:miki Age: 50 >>>
自定义函数perimeter,功能为根据半径返回圆周长(112)
#定义perimeter函数 def perimeter(r) :
pi=3.14 l=2*pi*r return l
#调用perimeter函数 perimeter(5)
内建函数len() 的应用——YYOJ平台111题
#利用函数,输出字符串st的长度和列表lst的项目个数 st="Python" lst=["HUAWEI","OPPO","VIVO"] #请不要修改以上代码,在下方写代码
len(st)
print(len(st))
自定义函数
用户根据需要创建的函数。
1.定义函数(语法格式)
def<函数名>([参数列表] ) : <函数体> [return<返回值>]
自定义函数一般由函数名、参数和函数体组成。 函数名可以是任何有效的Python标识符; 参数(可以有零个、一个或多个) 称为形式参数, 简称为“形参”; 当需要返回值时, 使用return语句, 否则函数可以没有return语句, 这样 的函数返回None值。
编写程序求第20个数
编写程序求30个数 编写程序求40个数 编写程序求50个数
函数应用的程序实例——输出 斐波那契数列
#定义fib函数, n为形参 def fib(n) :
a,b=1,1 for i in range(3, n+1) :
a,b=b,a+b return b #输入月数 n=int(input('请输入第n个月:') ) #调用fib函数, i值为实参 for i in range(1, n+1) :
06 Python 编程函数(29张PPT)
![06 Python 编程函数(29张PPT)](https://img.taocdn.com/s3/m/4a950cb6d4d8d15abe234ecb.png)
函数的参数
定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者 来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被 封装起来,调用者无需了解。 Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、 可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代 码。 默认参数 我们仍以具体的例子来说明如何定义函数的默认参数。先写一个计算x2的函数: def power(x):
返回多个值 函数可以返回多个值吗?答案是肯定的。
比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可 以计算出新的新的坐标: import math def move(x, y, step, angle=0):
nx = x + step * math.cos(angle) ny = y - step * math.sin(angle) return nx, ny 这样我们就可以同时获得返回值:
参数检查
调用函数时,如果参数个数不对,Python解释器会自 动检查出来,并抛出TypeError:
>>> my_abs(1, 2) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: my_abs() takes exactly 1 argument (2 given) 但是如果参数类型不对,Python解释器就无法帮我们 检查。试试my_abs和内置函数abs的差别:
print 'name:', name print 'gender:', gender 这样,调用enroll()函数只需要传入两个参数:
Python快速编程 第6章 函数 教学PPT
![Python快速编程 第6章 函数 教学PPT](https://img.taocdn.com/s3/m/4fe4a248453610661fd9f428.png)
✎
6.3.2 关键字参数的传递
无论实参采用位置参数的方式传递,还是 关键字参数的方式传递,每个形参都是有名称 的,怎么区分用哪种方式传递呢?
符号“/”
✎
6.3.2 关键字参数的传递
Python在3.8版本中新增了仅限位置形参的语法,
使用符号“/”来限定部分形参只接收采用位置传递方
式的实参。
例如:
✎
6.3.4 参数的打包与解包
1.打包——“*”
def test(*args): print(args)
test(11, 22, 33, 44, 55)
(11, 22, 33, 44, 55)
定义 调用 结果
✎
6.3.4 参数的打包与解包
1.打包——“**”
def test(**kwargs): print(kwargs)
例如 add() add_modify(10, 20)
调用过程
1. 程序在调用函数的位置暂停执行。 2. 将数据传递给函数参数。 3. 执行函数体中的语句。 4. 程序回到暂停处继续执行。
✎
6.2.2 调用函数
函数内部也可以调用其他函数,这被称为函数的嵌套调用。
例如
def add_modify(a, b): result = a + b add() print(result)
之后。
✎
6.3.5 混合传递
def test(a, b, c=33, *args, **kwargs): print(a, b, c, args, kwargs)
定义
test(1, 2) test(1, 2, 3) test(1, 2, 3, 4) test(1, 2, 3, 4, e=5)
Python基础案例教程课件:函数
![Python基础案例教程课件:函数](https://img.taocdn.com/s3/m/929bae1a3a3567ec102de2bd960590c69fc3d846.png)
print('a =',a) print('b =',b) print('c =',c)
# 所有的位置参数都给a,b和c必须使用关键字参数 def fn2(*a,b,c):
print('a =',a) print('b =',b) print('c =',c)
函数的参数-不定长参数四
# 如果在形参的开头直接定一个*,则要求所有的参数必须以参数名称的形 式传递
print(hui_wen('12321'))
高阶函数
# 高阶函数 # 接收函数作为参数,或者将函数作为返回值的函数是高阶函数 # 当我们使用一个函数作为参数时实际上是将指定的代码传递进了目标函数
高阶函数案例
# 需求 取出列表中所有的偶数并返回 # 定义一个函数,判断一个任意的数字是否是偶数 def fn2(i):
# return 'Hello' # return 'dd' return [1,2,3]
文档字符串
# help()是python中的内置函数 # 通过help()函数可以查询Python中的函数用法 # 语法 help(函数对象) 如 help(print) # help(print)
def fn(a:int,b:bool,c:str='hello') ->int: ''' 这是函数说明
# 定义一个变量,来保存结果 result = 0 # 遍历元组,并将元组中的数进行累加 for n in nums :
result += n print(result)
函数的参数-不定长参数二
# 所有的位置参数都给a,b和c必须使用关键字参数 def fn2(*a,b,c):
print('a =',a) print('b =',b) print('c =',c)
函数的参数-不定长参数四
# 如果在形参的开头直接定一个*,则要求所有的参数必须以参数名称的形 式传递
print(hui_wen('12321'))
高阶函数
# 高阶函数 # 接收函数作为参数,或者将函数作为返回值的函数是高阶函数 # 当我们使用一个函数作为参数时实际上是将指定的代码传递进了目标函数
高阶函数案例
# 需求 取出列表中所有的偶数并返回 # 定义一个函数,判断一个任意的数字是否是偶数 def fn2(i):
# return 'Hello' # return 'dd' return [1,2,3]
文档字符串
# help()是python中的内置函数 # 通过help()函数可以查询Python中的函数用法 # 语法 help(函数对象) 如 help(print) # help(print)
def fn(a:int,b:bool,c:str='hello') ->int: ''' 这是函数说明
# 定义一个变量,来保存结果 result = 0 # 遍历元组,并将元组中的数进行累加 for n in nums :
result += n print(result)
函数的参数-不定长参数二
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
局部 变量
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
[ 概念]
位置参数是必须按照定义时
的个数和顺序进行参数传递,也
称必备参数。
[ 概念]
关键字参数是指使用形式参 数的名字来确定输入的参数值。