- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
在 Python 中,函数和方法都是代码的基本单元,用于封装和执行特定的任务;它们之间有一些重要的区别,而 lambda 匿名函数则是 Python 提供的一种简洁定义小型函数的方法.
FreakStudio的博客 。
学嵌入式的你,还不会面向对象??! 。
全网最适合入门的面向对象编程教程:00 面向对象设计方法导论 。
全网最适合入门的面向对象编程教程:01 面向对象编程的基本概念 。
全网最适合入门的面向对象编程教程:02 类和对象的 Python 实现-使用 Python 创建类 。
全网最适合入门的面向对象编程教程:03 类和对象的 Python 实现-为自定义类添加属性 。
全网最适合入门的面向对象编程教程:04 类和对象的Python实现-为自定义类添加方法 。
全网最适合入门的面向对象编程教程:05 类和对象的Python实现-PyCharm代码标签 。
全网最适合入门的面向对象编程教程:06 类和对象的Python实现-自定义类的数据封装 。
全网最适合入门的面向对象编程教程:07 类和对象的Python实现-类型注解 。
全网最适合入门的面向对象编程教程:08 类和对象的Python实现-@property装饰器 。
全网最适合入门的面向对象编程教程:09 类和对象的Python实现-类之间的关系 。
全网最适合入门的面向对象编程教程:10 类和对象的Python实现-类的继承和里氏替换原则 。
全网最适合入门的面向对象编程教程:11 类和对象的Python实现-子类调用父类方法 。
全网最适合入门的面向对象编程教程:12 类和对象的Python实现-Python使用logging模块输出程序运行日志 。
全网最适合入门的面向对象编程教程:13 类和对象的Python实现-可视化阅读代码神器Sourcetrail的安装使用 。
全网最适合入门的面向对象编程教程:全网最适合入门的面向对象编程教程:14 类和对象的Python实现-类的静态方法和类方法 。
全网最适合入门的面向对象编程教程:15 类和对象的 Python 实现-__slots__魔法方法 。
全网最适合入门的面向对象编程教程:16 类和对象的Python实现-多态、方法重写与开闭原则 。
全网最适合入门的面向对象编程教程:17 类和对象的Python实现-鸭子类型与“file-like object“ 。
全网最适合入门的面向对象编程教程:18 类和对象的Python实现-多重继承与PyQtGraph串口数据绘制曲线图 。
全网最适合入门的面向对象编程教程:19 类和对象的 Python 实现-使用 PyCharm 自动生成文件注释和函数注释 。
全网最适合入门的面向对象编程教程:20 类和对象的Python实现-组合关系的实现与CSV文件保存 。
全网最适合入门的面向对象编程教程:21 类和对象的Python实现-多文件的组织:模块module和包package 。
全网最适合入门的面向对象编程教程:22 类和对象的Python实现-异常和语法错误 。
全网最适合入门的面向对象编程教程:23 类和对象的Python实现-抛出异常 。
全网最适合入门的面向对象编程教程:24 类和对象的Python实现-异常的捕获与处理 。
全网最适合入门的面向对象编程教程:25 类和对象的Python实现-Python判断输入数据类型 。
全网最适合入门的面向对象编程教程:26 类和对象的Python实现-上下文管理器和with语句 。
全网最适合入门的面向对象编程教程:27 类和对象的Python实现-Python中异常层级与自定义异常类的实现 。
全网最适合入门的面向对象编程教程:28 类和对象的Python实现-Python编程原则、哲学和规范大汇总 。
全网最适合入门的面向对象编程教程:29 类和对象的Python实现-断言与防御性编程和help函数的使用 。
全网最适合入门的面向对象编程教程:30 Python的内置数据类型-object根类 。
全网最适合入门的面向对象编程教程:31 Python的内置数据类型-对象Object和类型Type 。
全网最适合入门的面向对象编程教程:32 Python的内置数据类型-类Class和实例Instance 。
全网最适合入门的面向对象编程教程:33 Python的内置数据类型-对象Object和类型Type的关系 。
全网最适合入门的面向对象编程教程:34 Python的内置数据类型-Python常用复合数据类型:元组和命名元组 。
全网最适合入门的面向对象编程教程:35 Python的内置数据类型-文档字符串和__doc__属性 。
全网最适合入门的面向对象编程教程:36 Python的内置数据类型-字典 。
全网最适合入门的面向对象编程教程:37 Python常用复合数据类型-列表和列表推导式 。
全网最适合入门的面向对象编程教程:38 Python常用复合数据类型-使用列表实现堆栈、队列和双端队列 。
全网最适合入门的面向对象编程教程:39 Python常用复合数据类型-集合 。
全网最适合入门的面向对象编程教程:40 Python常用复合数据类型-枚举和enum模块的使用 。
全网最适合入门的面向对象编程教程:41 Python常用复合数据类型-队列(FIFO、LIFO、优先级队列、双端队列和环形队列) 。
全网最适合入门的面向对象编程教程:42 Python常用复合数据类型-collections容器数据类型 。
全网最适合入门的面向对象编程教程:43 Python常用复合数据类型-扩展内置数据类型 。
全网最适合入门的面向对象编程教程:44 Python内置函数与魔法方法-重写内置类型的魔法方法 。
全网最适合入门的面向对象编程教程:45 Python实现常见数据结构-链表、树、哈希表、图和堆 。
全网最适合入门的面向对象编程教程:46 Python函数方法与接口-函数与事件驱动框架 。
全网最适合入门的面向对象编程教程:47 Python函数方法与接口-回调函数Callback 。
全网最适合入门的面向对象编程教程:48 Python函数方法与接口-位置参数、默认参数、可变参数和关键字参数 。
给你的 Python 加加速:一文速通 Python 并行计算 。
一文搞懂 CM3 单片机调试原理 。
肝了半个月,嵌入式技术栈大汇总出炉 。
电子计算机类比赛的“武林秘籍” 。
一个MicroPython的开源项目集锦:awesome-micropython,包含各个方面的Micropython工具库 。
Avnet ZUBoard 1CG开发板—深度学习新选择 。
SenseCraft 部署模型到Grove Vision AI V2图像处理模块 。
可访问如下链接进行对文档下载:
https://github.com/leezisheng/Doc 。
本文档主要介绍如何使用 Python 进行面向对象编程,需要读者对 Python 语法和单片机开发具有基本了解。相比其他讲解 Python 面向对象编程的博客或书籍而言,本文档更加详细、侧重于嵌入式上位机应用,以上位机和下位机的常见串口数据收发、数据处理、动态图绘制等为应用实例,同时使用 Sourcetrail 代码软件对代码进行可视化阅读便于读者理解.
相关示例代码获取链接如下:https://github.com/leezisheng/Python-OOP-Demo 。
函数是封装了一些独立的功能,可以直接调用,能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。可以直接在模块中进行定义使用。 所有传递给函数的数据都是显式传递的.
方法和函数类似,同样封装了独立的功能,但是方法是只能依靠类或者对象来调用的,表示针对性的操作。方法中的数据 self 和 cls 是隐式传递的,即方法的调用者,同时,方法可以操作类内部的数据。简单的说,函数在 python 中独立存在,可直接使用的,而方法是必须被别人调用才能实现的.
简单来说,与类和实例无绑定关系的 function 都属于函数;与类和实例有绑定关系的 function 都属于方法.
实际上,类的方法并不一定必须在类内实现,也可以在类内先声明而不具体实现,在类外部实现并给属性赋值(实现具体方法)。示例代码如下:
_# 定义Cat类_
class Cat:
def say(self):
print("I' m a cat")
cat1 = Cat()
_# 定义lie方法_
lie = lambda self: print("I' m a dog")
_# 添加lie方法_
Cat.lie = lie
_# 查看Cat类属性_
print(dir(Cat))
cat1.lie()
如下为运行结果,可以看到已经成功给 Cat 类添加了 lie 方法.
lambda 函数是一种小型、匿名的、内联函数,它可以具有任意数量的参数,但只能有一个表达式。匿名函数不需要使用 def 关键字定义完整函数。lambda 函数通常用于编写简单的、单行的函数,通常在需要函数作为参数传递的情况下使用,例如在 map()、filter()、reduce()等函数中.
lambda 语法格式:
lambda arguments: expression
lambda 表达式的参数
以下实例使用 lambda 创建匿名函数,函数参数 a 与 b 相乘,并返回结果:
x = lambda a, b : a * b
print(x(5, 6))
lambda 函数也可以与内置函数如 map()、filter()和 reduce()一起使用,以便在集合上执行操作.
例如与 map()函数配合实现一个列表的平方运算,map()函数的原型是 map(function,iterable,……),它的结果是返回一个列表,这个函数的意义是将 function 应用于 iterable 的每一个元素,结果以列表的形式返回.
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared)
或者与 filter 函数配合,对列表中元素进行筛选。filter()函数能够从可迭代对象(如字典、列表)中筛选某些元素,并生成一个新的迭代器。filter(function, iterable)函数会返回一个可迭代的 filter 对象,可以使用 list()函数将其转化为列表,这个列表包含过滤器对象中返回的所有的项。在下面的例子中,我们将列表中的偶数项筛选了出来:
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)
或是与 reduce()函数进行运算,reduce()函数会对参数序列中元素进行累积。reduce(function, iterable[, initializer])将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果.
from functools import reduce
numbers = [1, 2, 3, 4, 5]
_# 使用 reduce() 和 lambda 函数计算乘积_
product = reduce(lambda x, y: x * y, numbers)
print(product)
最后此篇关于全网最适合入门的面向对象编程教程:49Python函数方法与接口-函数与方法的区别和lamda匿名函数的文章就讲到这里了,如果你想了解更多关于全网最适合入门的面向对象编程教程:49Python函数方法与接口-函数与方法的区别和lamda匿名函数的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我想了解 Ruby 方法 methods() 是如何工作的。 我尝试使用“ruby 方法”在 Google 上搜索,但这不是我需要的。 我也看过 ruby-doc.org,但我没有找到这种方法。
Test 方法 对指定的字符串执行一个正则表达式搜索,并返回一个 Boolean 值指示是否找到匹配的模式。 object.Test(string) 参数 object 必选项。总是一个
Replace 方法 替换在正则表达式查找中找到的文本。 object.Replace(string1, string2) 参数 object 必选项。总是一个 RegExp 对象的名称。
Raise 方法 生成运行时错误 object.Raise(number, source, description, helpfile, helpcontext) 参数 object 应为
Execute 方法 对指定的字符串执行正则表达式搜索。 object.Execute(string) 参数 object 必选项。总是一个 RegExp 对象的名称。 string
Clear 方法 清除 Err 对象的所有属性设置。 object.Clear object 应为 Err 对象的名称。 说明 在错误处理后,使用 Clear 显式地清除 Err 对象。此
CopyFile 方法 将一个或多个文件从某位置复制到另一位置。 object.CopyFile source, destination[, overwrite] 参数 object 必选
Copy 方法 将指定的文件或文件夹从某位置复制到另一位置。 object.Copy destination[, overwrite] 参数 object 必选项。应为 File 或 F
Close 方法 关闭打开的 TextStream 文件。 object.Close object 应为 TextStream 对象的名称。 说明 下面例子举例说明如何使用 Close 方
BuildPath 方法 向现有路径后添加名称。 object.BuildPath(path, name) 参数 object 必选项。应为 FileSystemObject 对象的名称
GetFolder 方法 返回与指定的路径中某文件夹相应的 Folder 对象。 object.GetFolder(folderspec) 参数 object 必选项。应为 FileSy
GetFileName 方法 返回指定路径(不是指定驱动器路径部分)的最后一个文件或文件夹。 object.GetFileName(pathspec) 参数 object 必选项。应为
GetFile 方法 返回与指定路径中某文件相应的 File 对象。 object.GetFile(filespec) 参数 object 必选项。应为 FileSystemObject
GetExtensionName 方法 返回字符串,该字符串包含路径最后一个组成部分的扩展名。 object.GetExtensionName(path) 参数 object 必选项。应
GetDriveName 方法 返回包含指定路径中驱动器名的字符串。 object.GetDriveName(path) 参数 object 必选项。应为 FileSystemObjec
GetDrive 方法 返回与指定的路径中驱动器相对应的 Drive 对象。 object.GetDrive drivespec 参数 object 必选项。应为 FileSystemO
GetBaseName 方法 返回字符串,其中包含文件的基本名 (不带扩展名), 或者提供的路径说明中的文件夹。 object.GetBaseName(path) 参数 object 必
GetAbsolutePathName 方法 从提供的指定路径中返回完整且含义明确的路径。 object.GetAbsolutePathName(pathspec) 参数 object
FolderExists 方法 如果指定的文件夹存在,则返回 True;否则返回 False。 object.FolderExists(folderspec) 参数 object 必选项
FileExists 方法 如果指定的文件存在返回 True;否则返回 False。 object.FileExists(filespec) 参数 object 必选项。应为 FileS
我是一名优秀的程序员,十分优秀!