“非法”操控lambda(python)

能过python解释器关卡即是合法脚本代码,偶尔的“违规”操控也是一种唯美。


(笔记模板由python脚本于2024年11月13日 11:18:21创建,本篇笔记适合熟悉python的lambda操控的coder翻阅)


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


能过解释器关卡即合法代码
“非法”操控lambda
(偶尔违规操控对象也是一种唯美)


本文质量分:

96 96 96

本文地址: https://blog.csdn.net/m0_57158496/

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ “非法”操控lambda
    • 1、我的两个“小工具”
      • 1.1 使用 lambda 的优点
      • 1.2 使用 def 的优点
      • 1.3 针对小工具的具体情况
    • 2、我在“非法”操控lambda
      • 2.1 lambda 作为“一次性”函数
      • 2.2 lambda 的“命名”
      • 2.3 lambda 与 def 的比较
    • 3、我在“非法”操控lambda
      • 3.1 “常量函数”的概念
      • 3.2 在代码中的应用
      • 3.3 我的两个“小工具”
      • 总结
    • 4、我在“非法”操控lambda
      • 4.1 **可读性和可维护性**
      • 4.2 **功能限制**
      • 4.3 **调试困难**
      • 4.4 **代码重用性**
      • 4.5 **命名约定**
      • 结论
    • 5、极尽简单的逻辑处理
    • 6、“违规”与“非法”
    • 7、ai学伴的支持


◆ “非法”操控lambda


1、我的两个“小工具”


  • 两个小工具
    
    # 闰年判定函数 #
    is_leap_year = lambda year: year%400==0 or (year%4==0 and year%100!=0)# 计算从2018年起的闰年总数(不含结束年份)#
    sum_leaps = lambda year: sum(1 for i in range(2018, year) if is_leap_year(i))

  对于我“解题工程”中的这两个小模块(永远不需扩展功能),是不是用匿名函数lambda比用def自定义更为“简洁”?🧐想听听您的解析。🙏


  • ai学伴回应
    在您的“解题工程”小模块中,使用 lambda 匿名函数确实提供了简洁性,特别是在处理简单的操作时。

以下是使用 lambda 与使用 def 定义函数的一些比较点:


1.1 使用 lambda 的优点

  • 简洁性: lambda 允许您在一行代码中定义函数,这对于简单的操作来说非常方便,可以减少代码量。
  • 内联定义: lambda 可以在需要的地方直接定义,无需在代码的其他部分寻找或跳转到函数定义。
  • 无需命名: 对于只使用一次或两次的函数,使用 lambda 可以避免为函数命名,减少命名空间的污染。

1.2 使用 def 的优点

  • 可读性: 对于复杂的函数,使用 def 可以提供更清晰的代码结构,包括文档字符串、参数注解和多行逻辑。
  • 可维护性: def 定义的函数更容易进行调试和扩展,因为它们可以有多个语句和更复杂的逻辑。
  • 可重用性: 通过命名, def 定义的函数可以在代码的多个地方重用。

1.3 针对小工具的具体情况

  is_leap_year 函数非常简单,只包含一个条件表达式,使用 lambda 确实足够且简洁。

  sum_leaps 函数虽然使用了生成器表达式,但它也相对简单,使用 lambda 可以保持代码的紧凑性。

  在这个情况下,使用 lambda 确实比使用 def 更为简洁。然而,这并不意味着 lambda 总是比 def 更好。


  • 以下是一些考虑因素:
    如果函数的逻辑变得复杂,或者需要添加文档字符串来解释其行为,那么使用 def 可能更合适。

    如果函数需要被其他部分的代码重用,或者可能会在未来扩展,那么使用 def 定义会更易于维护。

  总的来说,对于您的这两个小模块,使用 lambda 是合理的,因为它们简单且不需要扩展。只要保持代码的可读性,使用 lambda 可以使得代码更加简洁。👍🏻



回页目录


2、我在“非法”操控lambda


  • 我的观点
    实际上,匿名的lambda是针对“一次性”直接使用而言,比如list.sort()的“排序规则”参数。但我的理解是,lambda它不仅仅是匿名的,它对于定义极尽简单的逻辑(如我这里的两个“能用”小工具),简单的通过变量命名,也就是对匿名的lambda别名,这就有了def自定义函数一样的效果不是么!😎

    对于定义极尽简单的逻辑,lambda比def更“明白懂事儿”😋😋

  • ai学伴回应
    您的理解是正确的。 lambda 函数虽然通常被称为匿名函数,但它们确实可以通过赋值给变量来“命名”,从而在一定程度上模拟 def 定义的函数。这样的做法确实使得 lambda 函数在处理极简逻辑时,既保持了简洁性,又获得了类似命名函数的效果。

以下是您提到的几个点的详细解释:

2.1 lambda 作为“一次性”函数

  lambda 函数经常用于那些只需要一次计算或作为参数传递给其他函数的情况,比如排序、映射和过滤等操作。


2.2 lambda 的“命名”

  当您将 lambda 函数赋值给一个变量时,这个变量实际上就充当了该 lambda 函数的名称。这样,您可以在代码的其他部分通过这个变量名来重复使用这个 lambda 函数。


2.3 lambda 与 def 的比较


  对于极简逻辑, lambda 确实可以提供一种更直接、更紧凑的方式来定义函数,这使得代码在视觉上更加简洁,易于理解。
使用 lambda 可以让代码在处理简单操作时显得更加“明白懂事儿”,因为它减少了不必要的代码量,让开发者能够快速抓住代码的核心逻辑。


  • 以下是一个简单的例子
    展示了如何使用 lambda 来定义一个简单的函数,并通过变量名来“命名”它:
    
    # 使用lambda定义一个简单的函数
    add = lambda x, y: x + y# 通过变量名add来调用lambda函数
    result = add(5, 3)
    print(result)  # 输出 8

  在这个例子中, lambda 函数通过变量 add 获得了名字,并且可以被多次调用,就像一个普通的命名函数一样。


  总之,您的看法是正确的, lambda 函数在处理简单逻辑时确实可以提供一种既简洁又灵活的解决方案。只要合理使用,它们可以是 P y t h o n Python Python代码中非常有用的工具。😎👍🏻



回页目录


3、我在“非法”操控lambda


  • 我的观点
    lambda的合理操控,它就是一个“常量函数”!😎不需要任何注释,可以一眼望穿,在脚本“头部”像定义“常量”一样设计简单逻辑“通用函数”。就如我的两个关于闰年的两个“小工具”。😋

    我已在我的代码撰写中“受益”久矣……🤗🤗

  • ai学伴回应
    您的描述非常贴切,lambda函数确实可以被视为“常量函数”,它们通常用于封装简单的操作,就像数学中的常量一样,它们在程序中的行为是稳定且可预测的。以下是对您观点的进一步阐述:


3.1 “常量函数”的概念

  • 稳定性lambda函数封装的逻辑通常是固定的,不依赖于外部状态,这使得它们的行为像常量一样稳定。
  • 简洁性:由于lambda函数通常只有一行表达式,它们在代码中占用空间小,易于理解和记忆。

3.2 在代码中的应用

  • 定义简单逻辑:对于简单的操作,如数学计算、条件判断等,lambda函数可以快速定义并使用,无需额外的函数定义。
  • 头部定义:在脚本或模块的头部定义这些“常量函数”,可以使得整个代码的阅读和维护变得更加直观。

3.3 我的两个“小工具”

  • is_leap_yearsum_leaps这两个函数确实非常适合用lambda来定义,它们简单、直接,且逻辑清晰,不需要额外的注释来解释其行为。

以下是如何在代码中应用这些“常量函数”的示例:


# 在脚本头部定义“常量函数”
is_leap_year = lambda year: year % 400 == 0 or (year % 4 == 0 and year % 100 != 0)
sum_leaps = lambda year: sum(1 for i in range(2018, year) if is_leap_year(i))# 使用这些“常量函数”
print(is_leap_year(2020))  # 输出 True
print(sum_leaps(2025))     # 计算从2018年到2024年的闰年总数

  通过这种方式,您的代码不仅保持了简洁性,而且提高了可读性,使得其他开发者能够快速理解这些函数的目的和用法。


总结

  合理地使用lambda函数作为“常量函数”确实可以让代码更加优雅和高效。您的实践经验证明了这种方法的实用性和有效性。继续利用lambda的这一特性,可以让您的代码更加精炼和易于管理。🎉👏🏻



回页目录


4、我在“非法”操控lambda


  • 我的观点
    我知道,我对lambda,是在“非法使用”。但我实在难抵它的简略方便,学用python三年多,就偷偷“非法”了两年多,且越来越“魔怔”。😋

    我就想晓得,这“非法”操作,可有负面(对于def常规自定义函数来说)?🧐

    恳请您科普一下。🙏🙏

  • ai学伴回应
    使用lambda函数并不是真正的“非法”操作,但在某些情况下,它可能不是最佳实践。lambda函数在 P y t h o n Python Python中是完全合法的,但是否应该使用它取决于具体情境。


以下是一些使用lambda可能带来的潜在负面效果,尤其是与def定义的常规函数相比:

4.1 可读性和可维护性

  • 代码可读性降低:对于复杂的逻辑,使用lambda可能会降低代码的可读性,因为它通常只能在一行内表达,这可能导致表达式过长或难以理解。
  • 难以维护:如果lambda函数的逻辑变得复杂,它可能会更难维护,特别是当涉及到调试时。

4.2 功能限制

  • 单一表达式限制lambda函数只能包含一个表达式,这意味着你不能在其中使用多个语句或复杂控制流(如循环或多个条件分支)。
  • 缺少文档字符串lambda函数不能包含文档字符串,这对于记录函数的目的、参数和返回值等详细信息是不利的。

4.3 调试困难

  • 调试挑战:由于lambda函数通常是在一行内定义的,调试可能会更加困难,特别是在涉及错误处理或异常捕获时。

4.4 代码重用性

  • 重用性降低:虽然可以将lambda函数赋值给变量,但它们通常不是为重用而设计的。如果需要在代码的多个地方使用相同的逻辑,使用def定义的函数可能更合适。

4.5 命名约定

  • 不符合命名约定:在Python社区中,通常推荐使用def来定义函数,因为它更符合PEP 8等命名和编码规范。

结论

  • 尽管使用lambda函数并不是“非法”的,但在以下情况下,使用def定义的函数可能是更好的选择:

    • 当函数逻辑较为复杂时。
    • 当需要记录详细的文档字符串时。
    • 当函数需要在代码的多个地方重用时。
    • 当需要遵循Python社区的最佳实践和编码规范时。

  总的来说lambda函数是一个强大的工具,尤其是在处理简单的操作时。但是,过度使用或在不适当的情况下使用lambda可能会导致代码的可读性、可维护性和可重用性降低。因此,了解何时使用lambda以及何时使用def定义的函数是成为一名高效Python程序员的关键。🤓📚👍🏻



回页目录


5、极尽简单的逻辑处理


  • 我的观点
    仅用lambda处理极尽简单的逻辑:我就是用其处理“显而易见”的极简逻辑,一般可以一眼望穿,不用注释。即使注释,也是# 一个短句字符串的事儿。

      我担心的不是不合规,偶尔“个性违规”,也算得是一种乐趣。😎😎

      只要在python底层,lambda和def完全一致,我以后仍旧会选择“偶尔违规”。🤗🤗

  • ai学伴
    您的使用场景和对lambda函数的理解是合理的。在处理简单、直观的逻辑时,lambda确实可以提供简洁和方便的优势,尤其是在您已经熟悉其用法并且能够确保代码的可读性时。


  确实,lambdadef P y t h o n Python Python底层都是创建函数对象的方式,只是语法上的差异。


以下是一些关于lambdadef在Python中的等价性的说明:


# 使用def定义的函数
def add(x, y):return x + y# 使用lambda定义的函数
add_lambda = lambda x, y: x + y# 两者在调用方式上是等价的
print(add(1, 2))       # 输出 3
print(add_lambda(1, 2)) # 输出 3

您的态度——偶尔“个性违规”,选择在适当的时候使用lambda——体现了对工具灵活运用的理解。


  • 以下是一些使用lambda时可以考虑的最佳实践:

    1. 简洁性:确保lambda函数保持简洁,避免复杂的逻辑。
    2. 可读性:即使lambda函数简单,也要确保代码的可读性,必要时添加简短的注释。
    3. 适度使用:对于复杂的逻辑,还是应该使用def来定义函数。

  最终,编程是一种创造性的活动,而Python的灵活性正是其魅力所在。只要您的代码清晰、高效,并且您对可能的风险有所了解,那么偶尔打破规则,使用lambda来处理那些显而易见的逻辑,完全是可以接受的。继续享受 P y t h o n Python Python编程的乐趣吧!🚀🎨🤗



回页目录


6、“违规”与“非法”


  • 我的观点
    我一直在“口吐”违规,并非真的非法。我的认识是:只要能走通 p y t h o n python python解释器的脚本代码,都是“合法”的。😎💪💪💪

      至于 p y t h o n python python的“大众习惯”的规则,并非一成不变,“不要太在意”。😋

      我说lambda的别名替代def自定义函数“非法”,仅指非 p y t h o n python python官方推荐用法。这样子的事例不在少数,如我们前面讨论过的sum([[3, 4, 6], [0], [34, 68], [99]], [])拉平二维数组[3, 4, 6, 0, 34, 68, 99]的“神操作”,也是sum“不务正业”。😎😎

  • sum拉平二维数组

    
    lis = [[3, 4, 6], [0], [34, 68], [99]]
    print(sum(lis, start=[])) # 设定sum可选参数为空列表# 输出 [3, 4, 6, 0, 34, 68, 99]

  • ai学伴的回应
    您的观点很有趣,确实,在编程世界中,特别是像 P y t h o n Python Python这样的动态语言,对于“合法”和“非法”的定义有时是相对的。只要代码能够通过 P y t h o n Python Python解释器执行,并且不会违反 P y t h o n Python Python的语法规则,那么它就可以被认为是“合法”的。


   P y t h o n Python Python社区确实有一些编码规范和最佳实践,比如PEP 8,它们旨在提高代码的可读性和可维护性。

  但是,这些规范并不是法律,而是社区共识的推荐做法。因此,有时为了特定的目的或个人风格,开发者可能会选择偏离这些规范。

  正如我提到的,sum函数用于计算列表中元素的总和,但在某些情况下,它也被用来执行其他类型的操作,比如将二维数组展平。这种用法虽然不是sum函数的主要设计目的,但它确实是一个有效的 P y t h o n Python Python技巧,可以用来解决特定问题。

  在编程中,探索和创新是推动技术进步的关键。只要代码是清晰、可维护的,并且能够解决问题,那么偶尔的“违规”或“不务正业”是可以接受的。重要的是要确保您的代码不会给未来的维护者或团队带来困扰,并且在必要时,可以解释您的选择背后的原因。

  继续探索 P y t h o n Python Python的可能性,可以更好地享受编程带来的乐趣和挑战!🚀💡🤗



回页目录


7、ai学伴的支持


  • 截屏图片
    在这里插入图片描述



回页首


上一篇:  f-string分行魔法(Python隐式字符串连接,小知识大用场。它让我的f-string更易阅读,撰写更加“随心所欲”)
下一篇: 



我的HOT博:

  本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k的有 7 7 7篇。

  • 001
    标题:让QQ群昵称色变的神奇代码
    (浏览阅读 5.9w )
    地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    点赞:25 收藏:86 评论:17
    摘要:让QQ昵称色变的神奇代码。
    首发:2022-01-18 19:15:08
    最后编辑:2022-01-20 07:56:47

  • 002
    标题:Python列表(list)反序(降序)的7种实现方式
    (浏览阅读 1.1w )
    地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    点赞:8 收藏:35 评论:8
    摘要:Python列表(list)反序(降序)的实现方式:原址反序,list.reverse()、list.sort();遍历,全数组遍历、1/2数组遍历;新生成列表,resersed()、sorted()、负步长切片[::-1]。
    首发:2022-12-11 23:54:15
    最后编辑:2023-03-20 18:13:55

  • 003
    标题:pandas 数据类型之 DataFrame
    (浏览阅读 9.7k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    点赞:7 收藏:36 
    摘要:pandas 数据类型之 DataFrame_panda dataframe。
    首发:2022-05-01 13:20:17
    最后编辑:2022-05-08 08:46:13

  • 004
    标题:个人信息提取(字符串)
    (浏览阅读 8.2k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    点赞:2 收藏:15 
    摘要:个人信息提取(字符串)_个人信息提取python。
    首发:2022-04-18 11:07:12
    最后编辑:2022-04-20 13:17:54

  • 005
    标题:Python字符串居中显示
    (浏览阅读 7.6k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    评论:1

  • 006
    标题:罗马数字转换器|罗马数字生成器
    (浏览阅读 7.5k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    摘要:罗马数字转换器|生成器。
    首发:2022-01-19 23:26:42
    最后编辑:2022-01-21 18:37:46

  • 007
    标题:回车符、换行符和回车换行符
    (浏览阅读 6.0k )
    地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    点赞:2 收藏:3 
    摘要:回车符、换行符和回车换行符_命令行回车符。
    首发:2022-02-24 13:10:02
    最后编辑:2022-02-25 20:07:40


推荐条件 阅读量突破6.00k
(更多热博,请点击蓝色文字跳转翻阅)

  • 截屏图片
    在这里插入图片描述
      (此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)



回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/14387.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

[ 网络安全介绍 5 ] 为什么要学习网络安全?

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

java八股笔记-1-java基础

java 特点: 1.平台无关性,java 的字节码文件可以在任何安装了 JVM 的系统上运行 2.面相对象,几乎一切都可以抽象为对象,包括类,对象,继承,封装,多态,抽象 抽象&#xf…

Java入门16——接口

我们今天来学习接口,和继承有点像,话不多说,开始正题~ 一、接口 1.为什么要用接口 接口其实和继承很像,但是继承是 is-a 的关系,接口是 has-a 的关系,而且继承只能是一对一的关系,但是接口可以…

Sigrity SPEED2000 Power Ground Noise Simulation模式如何进行串扰分析操作指导-trace耦合

Sigrity SPEED2000 Power Ground Noise Simulation模式如何进行串扰分析操作指导-trace 耦合 Sigrity Power SI Power Ground Noise Simulation模式可以用来分析信号间的串扰,以下图为例 2D视图

地下水数值模拟软件Visual modflow Flex实践技术应用

专题一 地下水数值软件的操作流程、建模步骤和所需资料处理及相关注意事项 [1] Visual MODFLOW Flex特征 [2] Visual MODFLOW Flex软件界面及模块 [3] 地下水数值模拟的建模步骤及数据需求 专题二 模型建模操作方法 技巧、真实案例演练、特殊问题处理[1] 直接模型建模的操作方法…

保险、银行等金融行业都在做的“双录”是什么?电子签约如何实现

“双录”也就是同步录音、录像,是指在特定的业务场景中通过录音和录像的方式来记录相关业务过程中的关键环节和重要内容,帮助确定业务办理人真实身份和意愿、实现业务过程可回溯管理。 起初,双录主要用于保险销售,后来逐步扩展到…

总结拓展十五:特殊采购业务——寄售采购

1、寄售采购的定义 寄售采购是指供应商提供物料,并将它们存储在你处,在贵公司将这些物料从寄售库存提取(转自有)之前,该供应商一直是这些物料法律上的所有者。只有当这些物料被贵司转自有领用后,供应商才会…

python 同时控制多部手机

在这个智能时代,我们的手机早已成为生活和工作中不可或缺的工具。无论是管理多个社交媒体账号,还是处理多台设备上的事务,如何更高效地控制多个手机成为了每个人的痛点。 今天带来的这个的软件为你提供了一键控制多部手机的强大功能。无论是办公、娱乐,还是社交,你都能通过…

c++:string(一)

文章目录 一string类1C语言中的字符串2C中的string二遍历1[ ]2迭代器3const迭代器4范围for5auto6总结三String的尾插1size和length2max_size,capacity和clear3访问接口4尾插字符和字符串5 append的重载三string的扩容问题(1)怎么扩容(2&#…

如何从数字化迈向智能化的跨越,重塑企业合同管理的未来

随着信息技术的快速发展,越来越多的企业开始认识到合同管理的重要性,并纷纷实施数字化战略以提高管理效率和降低运营成本。然而,仅仅实现合同管理的数字化还远远不够,真正的转型应该是向智能化迈进。本文将通过一个实际案例来探讨…

书生浦语XTuner 微调个人小助手

文章目录 一、环境配置与数据准备1.构建一个xtuner环境2.安装 XTuner3.修改提供的数据四、训练启动1.模型位置2.创建软连接即可3.修改官方的Config4.启动微调4.权重转换4. 模型合并二、进阶任务2.1 上传到 HuggingFace 一、环境配置与数据准备 XTuner 文档链接:XTu…

信捷 XDH PLC C语言 Ethercat 简易绝对运动 BMC_A_DRVA_BODY函数

本文以简易运动为例,描述多轴运动的程序封装。具有一定的参数价值。适用于信捷XDH PLC。 很容易移植到具有Ethercat 总线的PLC,使用ST语言的情况。 1.建立结构体 2.在全局变量表建立全局变量 (1)DRVA_PAR_array是类型为BMC_A_DRVA&#xff…

磐石云黑名单管理系统

黑名单验证平台是一款基于历史高风险号码实时验证的管理平台; 功能特点; 1、支持代理商账户 2、支持对接三方黑名单库进行缓存(俗称扒库),首次获取黑名单后缓存到本地,下次不再付费调用三方接口&#xf…

Objects工具类详解

在 Java 编程中,对象的处理是不可避免的。为了简化对象操作并减少空指针异常(NullPointerException)的风险,Java 7 引入了 java.util.Objects 类。这个类包含了一系列静态方法,旨在帮助开发者更安全、更高效地处理对象…

InnoDB存储引擎

6.1 逻辑存储结构 InnoDB的逻辑存储结构如下图所示: 6.2 架构 6.2.1 概述 MySQL5.5 版本开始,默认使用InnoDB存储引擎,它擅长事务处理,具有崩溃恢复特性,在日常开发中使用非常广泛。下面是InnoDB架构图,左侧为内存结…

如何使用.bat实现快速电脑关机?

1、在电脑桌面新建一个记事本文档,将如下内容写进去: echo off shutdown /s /t 02、然后,保存一下,再把桌面此文件重命名为电脑关机.bat 3、双击此程序,可以立刻关机电脑。 PS:① 此程序会不保存任何当前…

表的设计(MYSQL)

表的设计方法 范式 第一范式 第二范式 第三范式 实现方式 程序实现

【再谈设计模式】抽象工厂模式~对象创建的统筹者

一、引言 在软件开发的世界里,高效、灵活且易于维护的代码结构是每个开发者追求的目标。设计模式就像是建筑蓝图中的经典方案,为我们提供了应对各种常见问题的有效策略。其中,抽象工厂模式在对象创建方面扮演着重要的角色,它如同一…

R语言机器学习与临床预测模型77--机器学习预测常用R语言包

R小盐准备介绍R语言机器学习与预测模型的学习笔记 你想要的R语言学习资料都在这里, 快来收藏关注【科研私家菜】 01 预测模型常用R包 常见回归分析包: rpart 包含有分类回归树的方法; earth 包可以实现多元自适应样条回归; mgev包含广义加性模型回归; Rweka 包中的M…

使用OpenGL ES简单实现一个特效

玩抖音的时候,刷到一个抖音红发GET特效,感觉实现起来应该不太难。 于是小试牛刀。以刷到的一个视频一帧为原图 抖音红发GET特效拍出来的效果为 我实现的效果为: 基于Android平台,以OpenGL ES为工具,开发了一个滤镜…