Python关键字之旅:一步步掌握Python的奥秘

文章目录

  • 一、前言
  • 二、关键字
    • 1.总表(共35个)
    • 2.拆分
      • 2.1 False None True
      • 2.2 and not or
      • 2.3 as from import
      • 2.4 assert
      • 2.5 async await
      • 2.6 break continue
      • 2.7 class def
      • 2.8 del
      • 2.9 if elif else
      • 2.10 try except finally raise
      • 2.11 for in while
      • 2.12 global nonlocal
      • 2.13 is
      • 2.14 lambda
      • 2.15 pass
      • 2.16 return
      • 2.17 with
      • 2.18 yield
  • 三、总结


一、前言

Python 的保留字,也称为关键字(keywords),是指在编程语言中具有特殊含义并被用于特定目的的单词或标识符。这些保留字在 Python 中有特殊的语法和用途,不能被用作普通的变量名或函数名。

Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:

在这里插入图片描述

这些保留字大致可以分为几类:

控制流语句:如if、for、while等,用于控制程序的执行流程。
循环和条件表达式:如break、continue、pass等,用于控制循环或条件表达式的行为。
异常处理:如try、except、finally等,用于处理程序中的异常情况。
函数定义:如def、return等,用于定义函数和指定函数的返回值。
类定义:如class等,用于定义新的类。
模块和导入:如import、from…import等,用于导入模块或特定的函数或类。
变量和类型声明:如global、nonlocal、assert等,用于声明全局变量、非局部变量、断言等。
其他:如with、yield等,用于实现特定的功能,如上下文管理器、生成器等。


二、关键字

1.总表(共35个)

FalseNoneTrueandas
assertasyncawaitbreakclass
continuedefdelelifelse
exceptfinallyforfromglobal
ifimportinislambda
nonlocalnotorpassraise
returntrywhilewithyield
  1. False:布尔值,表示“假”。在布尔运算中用作False值。
  2. None:表示空值或无值。常用于表示变量没有指向任何对象。
  3. True:布尔值,表示“真”。在布尔运算中用作True值。
  4. and:逻辑运算符,用于将两个条件组合在一起。如果两个条件都为真,则返回True。
  5. as:用于类型别名,通常在导入模块或使用函数时使用。
  6. assert:断言关键字,用于测试代码中的某个条件是否为真。如果条件为假,则会引发AssertionError异常。
  7. async:用于定义异步函数。异步函数允许在等待某些操作(如I/O操作)完成时执行其他代码。
  8. await:用于在异步函数内部等待另一个异步操作完成。通常与asyncio库中的事件循环一起使用。
  9. break:跳出当前循环。
  10. class:定义一个类。
  11. continue:跳过当前循环的剩余部分,进入下一次循环。
  12. def:定义一个函数。
  13. del:删除一个对象或变量。
  14. elif:条件语句的一部分,用于在if语句中添加更多的条件。
  15. else:条件语句的另一部分,用于在if语句中添加一个默认情况。
  16. except:异常处理的一部分,用于捕获和处理异常。
  17. finally:异常处理的一部分,无论是否发生异常都会执行。
  18. for:循环关键字,用于遍历序列或迭代器中的元素。
  19. from:导入模块或从模块中导入特定的函数或变量。
  20. global:声明一个变量为全局变量,即该变量可以在函数外部访问和修改。
  21. if:条件语句的关键字,用于根据条件执行不同的代码块。
  22. import:导入模块或库,以便在代码中使用其函数和类。
  23. in:成员关系测试运算符,用于检查一个元素是否存在于序列中。
  24. is:身份运算符,用于比较两个对象是否引用相同的内存地址。这与使用“==”运算符检查值是否相等不同。
  25. lambda:定义匿名函数的关键字。匿名函数是一种没有名称的简单函数,通常用于一次性的短小操作。
  26. nonlocal:声明一个变量为非局部变量,即该变量可以在函数内部访问和修改,但只能在当前函数内部访问和修改。
  27. not:逻辑运算符,用于将条件取反。
  28. or:逻辑运算符,用于将两个条件组合在一起。如果两个条件中有一个为真,则返回True。
  29. pass:空操作符,用于表示一个无操作的状态。
  30. raise:引发一个异常。
  31. return:从函数中返回一个值或对象。
  32. try:异常处理的一部分,用于捕获和处理异常。
  33. while:循环关键字,用于重复执行一段代码直到条件不再满足。
  34. with:上下文管理关键字,用于确保代码块在执行完毕后正确地清理资源或执行其他操作。
  35. yield:生成器关键字,用于从函数中返回一个生成器对象。

2.拆分

2.1 False None True

  1. False:布尔值,表示“假”。在布尔运算中用作False值。
  2. None:表示空值或无值。常用于表示变量没有指向任何对象。
  3. True:布尔值,表示“真”。在布尔运算中用作True值。

代码如下(示例):

def analyze_booleans():  # 定义一个布尔变量  False_valid = False  	# 判断并输出结果  if False_valid:  print("False_valid is True")  else:  print("False_valid is False")  # 定义一个可能为None的变量  None_value = None  # 检查变量是否为None  if None_value is None:  print("None_value is None")  else:  print("None_value is not None")  # 定义一个布尔变量  True_valid = True  	# 判断并输出结果  if True_valid:  print("True_valid is True")  else:  print("True_valid is False")  		# 调用函数进行分析  
analyze_booleans()
  1. True 和 False 在这里用作条件判断。在第一个条件中,如果 False_valid 为 True,则输出 “False_valid is True”,否则输出 “False_valid is False”。这里使用了 if-else 语句来根据布尔值进行判断。
  2. None 在这里用于表示一个变量没有指向任何对象。在第二个条件中,我们检查 None_value 是否为 None。如果是,则输出 “None_value is None”,否则输出 “None_value is not None”。这里使用了 is 运算符来检查变量是否为 None。
  3. 第三个条件同第一个条件,如果 True_valid 为 True,则输出 “True_valid is True”,否则输出 “True_valid is False”。

输出结果:
在这里插入图片描述

2.2 and not or

这3个关键字都是逻辑运算符,放在一起讲。

  1. and:逻辑运算符,用于将两个条件组合在一起。如果两个条件都为真,则返回True。
  2. not:逻辑运算符,用于将条件取反。
  3. or:逻辑运算符,用于将两个条件组合在一起。如果两个条件中有一个为真,则返回True。

代码如下(示例):

# 定义两个变量
x = 5
y = 3# 使用 and 进行逻辑与判断
if x > 3 and y > 2:print("x大于3并且y大于2")
else:print("x不大于3或者y不大于2")# 使用 or 进行逻辑或判断
if x > 3 or y > 5:print("x大于3或者y大于5")
else:print("x不大于3并且y不大于5")# 使用 not 进行逻辑非判断
if not x > 5:print("x不大于5")
else:print("x大于5")

在这个例子中,我们定义了两个变量 x 和 y,然后分别使用 and、or 和 not 进行逻辑判断。具体作用如下:

and:当 and 连接两个条件时,只有当两个条件都为真时,整个表达式才为真。
or:当 or 连接两个条件时,只要有一个条件为真,整个表达式就为真。
not:not 用于对一个条件进行取反,如果条件为真,则取反后为假;如果条件为假,则取反后为真。

通过这个例子,我们可以清晰地看到这三个关键字在逻辑判断中的作用。

输出结果:

在这里插入图片描述

2.3 as from import

  1. as:用于类型别名,通常在导入模块或使用函数时使用。
  2. from:导入模块或从模块中导入特定的函数或变量。
  3. import:导入模块或库,以便在代码中使用其函数和类。

代码如下(示例):

import turtle as tu # 导入turtle 模块,并将其命名为 tu
form random import randint,uniform,choice # 从random库中导入randint、uniform、choice 函数

在上面的示例中,import 和 as 在这个例子中的作用是将 turtle 模块导入当前代码中,并将其起一个别名 tu,以便在后续的代码中使用这个别名来代替 turtle 模块的名称。from random import randint, uniform, choice 表示从 Python 标准库中的 random 模块中导入了 randint、uniform 和 choice 这三个函数,因此在后续的代码中,你可以直接使用这三个函数,而不需要输入 random.randint()、random.uniform() 或 random.choice()。

在这里插入图片描述

2.4 assert

assert:断言关键字,用于测试代码中的某个条件是否为真。如果条件为假,则会引发AssertionError异常。

代码如下(示例):

def divide(x, y):assert y != 0, "除数不能为0"return x / yprint(divide(6, 2))  # 正常情况,输出3.0
print(divide(6, 0))  # 会触发 AssertionError,输出"除数不能为0"

在上面的代码中,assert y != 0, “除数不能为0” 表示断言 y != 0 必须为真,否则会触发 AssertionError 异常,并且异常的描述信息为 “除数不能为0”。在第二次调用 divide 函数时,由于除数为 0,触发了 AssertionError 异常。

输出结果:

在这里插入图片描述

2.5 async await

  1. async:用于定义异步函数。异步函数允许在等待某些操作(如I/O操作)完成时执行其他代码。
  2. await:用于在异步函数内部等待另一个异步操作完成。通常与asyncio库中的事件循环一起使用

代码如下(示例):

import asyncio  async def say_hello():  print("Hello, world!")  await asyncio.sleep(1)  print("One second later...")  # 运行异步函数  
asyncio.run(say_hello())

这段代码定义了一个异步函数 say_hello,该函数首先打印 “Hello, world!”,然后使用 await asyncio.sleep(1) 来等待 1 秒,最后再打印 “One second later…”。在主程序中使用 asyncio.run(say_hello()) 来运行这个异步函数。

  1. async def say_hello(): 中的 async 关键字用来定义这是一个异步函数。这使得函数内部可以包含 await 表达式,并且在函数外部调用时,需要通过异步事件循环来执行。
  2. 在 say_hello 函数内部,await asyncio.sleep(1) 用于暂停当前的异步函数,等待 1 秒后再继续执行。这里的 await 关键字用于等待一个异步操作的完成,而不会阻塞整个事件循环。

输出结果:

在这里插入图片描述

2.6 break continue

  1. break:跳出当前循环。
  2. continue:跳过当前循环的剩余部分,进入下一次循环。
    代码如下(示例):

continue、break主要用在for循环和while循环中,代码如下(示例):

numbers = [1, 2, 3, 4, 5] # 第二种输出结果需更改为numbers = [5, 4, 3, 2, 1]for num in numbers:if num == 3:continue  # 如果数字等于 3,则跳过本次循环,继续下一次循环if num == 5:break  # 如果数字等于 5,则跳出循环print(num)print("Loop ends")
  1. 当 num 的值为 3 时,continue 关键字会使程序跳过当前循环,直接进入下一次循环,因此数字 3 不会被打印出来。
  2. 当 num 的值为 5 时,break 关键字会立即退出循环,整个循环结构终止执行,因此后面的数字也不会被打印出来。

因此,整个程序的功能是遍历列表 numbers 中的元素,并打印出每个数字,但在遇到数字 3 时跳过,遇到数字 5 时终止循环。最后输出 “Loop ends” 表示循环结束。

输出结果:

在这里插入图片描述

2.7 class def

  1. class:定义一个类。
  2. def:定义一个函数。

代码如下(示例):

class Circle:def __init__(self, radius):self.radius = radiusdef calculate_area(self):return 3.14 * self.radius ** 2circle1 = Circle(5)
area = circle1.calculate_area()print("Area:", area)

这个程序的功能是定义一个 Circle 类,用于表示圆形,该类有一个属性 radius 表示圆的半径,并且有calculate_area() 用于计算圆的面积。

输出结果:

在这里插入图片描述

2.8 del

  1. del:删除一个对象或变量。

代码如下(示例):

# 定义一个列表  
my_list = [1, 2, 3, 4, 5]  # 输出原始列表  
print("原始列表:", my_list)  # 使用del关键字删除索引为2的元素(即数字3)  
del my_list[2]  # 输出修改后的列表  
print("修改后的列表:", my_list)

输出结果:

在这里插入图片描述

2.9 if elif else

  1. if:条件语句的关键字,用于根据条件执行不同的代码块。
  2. elif:条件语句的一部分,用于在if语句中添加更多的条件。
  3. else:条件语句的另一部分,用于在if语句中添加一个默认情况。

代码如下(示例):

x = 10  
if x > 5:  print("x 大于 5")  
elif x == 5:  print("x 等于 5")  
else:  print("x 小于 5")

输出结果:

在这里插入图片描述

2.10 try except finally raise

  1. try:用于尝试执行一段代码,如果出现异常,可以通过后续的代码进行捕获和处理。
  2. except:用于捕获try代码块中抛出的异常。可以指定捕获特定类型的异常,也可以捕获所有类型的异常。
  3. finally:无论try代码块中是否抛出异常,finally代码块中的代码都会被执行。这对于需要清理资源的场景非常有用。
  4. raise:用于手动抛出一个异常。可以在except代码块中使用raise关键字重新抛出捕获到的异常,或者在需要的地方抛出新的异常。

代码如下(示例):

try:  # 尝试执行一段代码  x = 10 / 2  y = x / 0  # 这将触发 ZeroDivisionError 异常  
except ZeroDivisionError:  # 捕获除零错误并打印错误信息  print("捕获到除零错误!")  raise  # 重新抛出捕获到的异常  
finally:  # 无论是否发生异常,都会执行这段代码  print("finally 代码块被执行")

首先,我们通过除法将10除以2,得到5。然后,我们尝试将5除以0,这将触发ZeroDivisionError异常。我们使用except关键字捕获这个异常,并打印出错误信息。在except代码块中,我们还使用raise关键字重新抛出捕获到的异常。最后,我们使用finally关键字确保无论是否发生异常,都会执行一段代码。

输出结果:

在这里插入图片描述

2.11 for in while

  1. for:循环关键字,用于遍历序列或迭代器中的元素。
  2. in:成员关系测试运算符,用于检查一个元素是否存在于序列中。
  3. while:循环关键字,用于重复执行一段代码直到条件不再满足。

代码如下(示例):

for i in range(5):  print(i)i = 0  
while i < 5:  print(i)  i += 1

这段代码的作用就是依次打印出0到4这5个数字,每个数字占一行,打印两次。

输出结果:

在这里插入图片描述

2.12 global nonlocal

  1. global:声明一个变量为全局变量,即该变量可以在函数外部访问和修改。
  2. nonlocal:声明一个变量为非局部变量,即该变量可以在函数内部访问和修改,但只能在当前函数内部访问和修改。

代码如下(示例):

# 定义全局变量
global_variable = "Hello"# 定义函数
def outer():outer_variable = "World"# 定义内部函数def inner():nonlocal outer_variableouter_variable = "Python"print(f"inner: {outer_variable}")  # 输出 inner: Python# 调用内部函数inner()# 调用外部函数
outer()print(f"global: {global_variable}")  # 输出 global: Hello

输出结果:

在这里插入图片描述

2.13 is

is:身份运算符,用于比较两个对象是否引用相同的内存地址。这与使用“==”运算符检查值是否相等不同。

代码如下(示例):

a = [1, 2, 3]  
b = a
print(a is b)  a = [1, 2, 3]  
b = [1, 2, 3]
print(a is b)  

在这个例子中,第一个a和b都引用同一个列表对象,所以a is b返回True。
第二个a和b的内容相同,但它们是不同的对象,所以a is b返回False。
需要注意的是,is运算符比较的是对象的身份(即内存地址),而不是它们的内容。

输出结果:

在这里插入图片描述

2.14 lambda

lambda:定义匿名函数的关键字。匿名函数是一种没有名称的简单函数,通常用于一次性的短小操作。

代码如下(示例):

# 使用 lambda 关键字定义匿名函数
add_numbers = lambda x, y: x + y# 调用匿名函数
result = add_numbers(3, 5)# 输出结果
print(result)  # 输出 8

当涉及到简单的操作或者函数表达式时,可以使用 Python 中的lambda来定义匿名函数。

输出结果:

在这里插入图片描述

2.15 pass

pass:空操作符,用于表示一个无操作的状态。

代码如下(示例):

def my_function():  # 这里没有任何操作,只是一个空操作  pass  # 调用函数  
my_function()

当我们调用这个函数时,实际上没有任何事情发生,因为pass关键字就是一个空操作符。

2.16 return

return:从函数中返回一个值或对象。

代码如下(示例):

def add_numbers(a, b):  # 将两个数字相加,并返回结果  result = a + b  return result  # 调用函数并打印结果  
result = add_numbers(5, 4)  
print(result)  # 输出: 9

输出结果:

在这里插入图片描述

2.17 with

with:上下文管理关键字,用于确保代码块在执行完毕后正确地清理资源或执行其他操作。

代码如下(示例):

with open('text.txt', 'w') as f:f.write('Hello, World!')

这个程序的功能是打开一个名为 text.txt 的文件,将字符串 ‘Hello, World!’ 写入文件中,然后自动关闭文件句柄。

2.18 yield

yield:生成器关键字,用于从函数中返回一个生成器对象。

代码如下(示例):

# 定义一个生成器函数
def simple_generator():yield 1yield 2yield 3# 使用生成器
gen = simple_generator()# 通过迭代获取生成器的值
print(next(gen))  # 输出 1
print(next(gen))  # 输出 2
print(next(gen))  # 输出 3

在上述示例中,我们首先定义了一个名为 simple_generator 的生成器函数。在函数体内,我们使用 yield 关键字分别产生了整数 1、2 和 3。当生成器函数被调用时,它并不会立即执行,而是返回一个生成器对象。
接着,我们将生成器对象赋值给变量 gen。通过调用 next() 函数,我们可以逐个获取生成器产生的值。每次调用 next() 函数,生成器函数会从上一次 yield 语句的位置继续执行,直到遇到下一个 yield 或者函数结束。
在示例中,分别调用了 next(gen) 三次,分别输出了生成器产生的值 1、2 和 3。

输出结果:

在这里插入图片描述


三、总结

今天,深入解析python的35个关键字的含义与用法。

感谢你的观看,谢谢!

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue框架引入Axios

首先已经创建好了 Vue 框架&#xff0c;安装好了 node.js。 没有完成的可按照此博客搭建&#xff1a;搭建Vue项目 之后打开终端&#xff0c;使用命令。 1、命令安装 axios 和 vue-axios npm install axios --save npm install vue-axios --save2、package.json 查看版本 在 p…

06. Springboot admin集成Actuator(二)

目录 1、前言 2、快速使用 2.1、服务端集成 2.1.1、添加依赖 2.1.2、配置启动类 2.1.3、配置application.yml 2.1.4、定制security config 2.1.5、启动程序 2.2、客户端集成 2.2.1、添加依赖 2.2.2、配置application.yml 2.2.3、启动程序 2.3、告警通知 2.3.1、邮…

arr.sort((a,b)=>a-b)

当你需要对一个数组进行正排序和逆向排序的时候,选择arr.sort((a,b)>a-b)方法

【K8S 部署】基于kubeadm搭建Kurbernetes集群

目录 一、基本架构 二、环境准备: 三、安装部署 1、所有节点安装docker 2、、所有节点安装kubeadm&#xff0c;kubelet和kubectl 3、配置网络--flannel 4、测试 pod 资源创建 四、安装部署与k8s集群对接的Harbor仓库 五、Dashboard安装部署&#xff1a; 一、基本架构…

软件测试/测试开发丨Pytest 参数化用例

参数化 通过参数的方式传递数据&#xff0c;从而实现数据和脚本分离。并且可以实现用例的重复生成与执行。 参数化应用场景 测试登录场景 测试登录成功&#xff0c;登录失败(账号错误&#xff0c;密码错误)创建多种账号: 中⽂文账号&#xff0c;英⽂文账号 普通测试用例方法 …

纷享销客华为云:如何让企业多一个选择?

纷享销客携手华为云推出多项联合解决方案&#xff0c;为企业的数字化提供了一个新选择。12月12日&#xff0c;纷享销客&华为云联合解决方案发布会在北京举办。本次发布会以“「CRM云」让企业多一个选择”为主题&#xff0c;来自行业头部企业的CEO、CIO、业务负责人等&#…

AGV智能搬运机器人-替代人工工位让物流行业降本增效

在当今快速发展的世界中&#xff0c;物流业面临着巨大的挑战&#xff0c;包括提高效率、降低成本和优化工作流程。为了应对这些挑战&#xff0c;一种新型的自动化设备——智能搬运机器人正在崭露头角。本文将通过一个具体的案例来展示富唯智能转运机器人在实际应用中的价值。 案…

C++:map和set的介绍及使用

目录 1. 关联式容器 2. 键值对 3. 树形结构的关联式容器 3.1 set 3.1.1 set的介绍 3.1.2 set的使用 3.2 map 3.2.1 map的介绍 3.2.2 map的使用 3.3 multiset 3.3.1 multiset的介绍 3.3.2 multiset的使用 3.4 multimap 3.4.1 multimap的介绍 3.4.2 multimap的使用…

如何安装T4显卡的驱动

文章目录 一、没有驱动的报错现象二、cuda版本与驱动的版本对应关系三、安装驱动方法1&#xff1a;方法2&#xff1a; 一、没有驱动的报错现象 ERROR: Unable to find the kernel source tree for the currently running kernel. Please make sure you have installed the ker…

数字时代跨境电商营销大变革:海外网红营销的力量与影响

随着全球化的推进和数字技术的不断发展&#xff0c;跨境电商行业迎来了一场营销变革的浪潮。在这个过程中&#xff0c;一种新的营销方式崭露头角&#xff0c;那就是海外网红营销。海外网红以其独特的个人魅力和影响力&#xff0c;成为跨境电商推广的重要力量&#xff0c;为品牌…

Flink1.17实战教程(第五篇:状态管理)

系列文章目录 Flink1.17实战教程&#xff08;第一篇&#xff1a;概念、部署、架构&#xff09; Flink1.17实战教程&#xff08;第二篇&#xff1a;DataStream API&#xff09; Flink1.17实战教程&#xff08;第三篇&#xff1a;时间和窗口&#xff09; Flink1.17实战教程&…

设计模式(4)--对象行为(7)--观察者

1. 意图 定义对象间的一种一对多的依赖关系&#xff0c; 当一个对象的状态改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。 2. 四种角色 抽象目标(Subject)、具体目标(Concrete Subject)、抽象观察者(Observer)、 具体观察者(Concrete Observer) 3. 优点 3.1 …

模型量化 | Pytorch的模型量化基础

官方网站&#xff1a;Quantization — PyTorch 2.1 documentation Practical Quantization in PyTorch | PyTorch 量化简介 量化是指执行计算和存储的技术 位宽低于浮点精度的张量。量化模型 在张量上执行部分或全部操作&#xff0c;精度降低&#xff0c;而不是 全精度&#xf…

HTML+CSS制作动漫绿巨人

🎀效果展示 🎀代码展示 <!DOCTYPE html> <html lang="en" > <head>

Apollo自动驾驶概述:引领智能交通的未来(文末赠送apollo周边)

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 粉丝福利活动 ✅参与方式&#xff1a;通过连接报名观看课程&#xff0c;即可免费获取精美周边 ⛳️活动链接&#xf…

算法基础之最短编辑距离

最短编辑距离 核心思想 &#xff1a; 线性dp 集合定义 &#xff1a; f[i][j]为操作方式的最小值 集合计算 : 三种操作 取最小 ① 删除 : 将a[i]删掉 使ab相同 –> f[i-1][j] 1 f[i][j]② 增添 : 在a[i]后加上一个数 使ab相同 –> f[i][j-1] 1 f[i][j]③ 替换 : 将a[…

聚观早报 |一加Ace 3外观细节;小米14 Ultra电池曝光

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 12月28日消息 一加Ace 3外观细节 小米14 Ultra电池曝光 Lucid正开发电动汽车 英特尔获以色列32亿美元补贴 新能…

用编程解决习题【计算机图像处理】

用编程解决习题【计算机图像处理】 前言版权第三章 03采样量化与像素间关系三种距离计算编程 第六章 06图像的直方图变换均衡化直方图编程规定化直方图编程 第七章 07图像的噪声抑制均值滤波 中值滤波计算编程knn滤波计算编程 第十章 10二值图像的分析贴标签 膨胀 腐蚀编程 最后…

Hadoop安装笔记_单机/伪分布式配置_Hadoop3.1.3——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理

将下发的ds_db01.sql数据库文件放置mysql中 12、编写Scala代码&#xff0c;使用Spark将MySQL的ds_db01库中表user_info的全量数据抽取到Hive的ods库中表user_info。字段名称、类型不变&#xff0c;同时添加静态分区&#xff0c;分区字段为etl_date&#xff0c;类型为String&am…

代码审计必要性探讨

1、背景 为了保证代码的质量&#xff0c;需要一系列的流程来进行保证&#xff1a; 今天要探讨的是代码审计的必要性。 2、代码审计 代码审计的做法多种多样&#xff0c;我理解必须解决以下问题 &#xff0c;才可能有效&#xff1a; 核心&#xff1a;审计的本质是对比&#…