30天入门Python(基础篇)——第4天:Python中的【输入】+【数据类型】的认识(万字建议点赞收藏)

news2024/11/17 0:07:03

文章目录

  • 专栏导读
  • 上节课回顾
  • Python中的输入
  • Python中的数据类型
    • 1、可变数据类型
    • 2、不可变数据类型
  • 如何查看一个变量(数据)的变量类型
  • 字符串(str不可变)
  • 整数(int不可变)
  • 浮点数(float不可变)
  • 列表(list可变)
    • 列表的定义
    • 列表的特征
    • 列表的增
    • 列表的删
    • 列表的查(切片留下一节课讲)
    • 列表的改
  • 元组(tuple不可变)
    • 元组的定义
    • 元组的特征
    • 元组的查(元组只有查,方法于列表一致)
    • 元组只有一个元素时,需加逗号
  • 字典(dict可变)
    • 字典的定义
    • 🚩字典的特征(重点)
    • 字典的增
    • 字典的删
    • 🚩字典的查(重点)
    • 字典的改
  • 集合(set可变)
    • 集合的定义
    • 集合的特征
    • 集合的增
    • 集合的删

专栏导读

🔥🔥本文已收录于《30天学习Python从入门到精通》

🉑🉑本专栏专门针对于零基础和需要重新复习巩固的同学所准备的一套基础班教学,从0基础到精通Python,轻松掌握Python,欢迎各位同学订阅,专栏订阅地址:点我直达

🤞🤞此外如果您已工作,如需利用Python解决办公中常见的问题,欢迎订阅《Python办公自动化》专栏,订阅地址:点我直达

上节课回顾

    在上一节课中我们 学习了变量的定义、Python中的输出、以及常见的转义符,今天这节课,我们来认识一下Python中的常见的数据类型,以及简单的输出,OK话不多说, 开始上课!

Python中的输入

    首先Python的输入非常简单:【input()】函数,我们一起来看一下如何使用:

    如下代码,当我们只运行【input()】函数时,我们发现
    1、代码处于运行当中,并没有停止;
    2、在控制台界面我们用鼠标点一下,发现【光标】会在不停闪烁,就像我们QQ,微信聊天时一样,正在等待我们输入

在这里插入图片描述

    这时候我们可以在光标闪烁的位置,进行打字输入,如下

请添加图片描述

    这时候我们发现程序并没有暂停,原因是:这时候程序正在等你输入,我们需要按一下回车,程序才会结束!

    ✨✨所以有时候我们会利用,input()函数 的这个功能进行程序暂停✨✨,这是个小知识点,大家可以记一下

在这里插入图片描述

在这里插入图片描述

    那么我们输进去的内容去哪了??其实我们一般会在input()左边写上一个变量,用来接收输进去的内容(字符串),再用上节课所学的print(),对变量进行输出!!的内容,所以我们将上述代码连起来就形成了,下面的代码

name = input()
print(name)

在这里插入图片描述

    上述代码就是一组输入输出程序,但是不是非常完整的,因为在输入的时候,我们应该给用户一点提示,而不是一个光秃秃的闪烁光标,那提示消息写在哪,写在input()括号里,但是提示的内容即文本,需要用英文输入法下的双引号,或者单引号,引起来,如下代码:

name = input("请输入你的名字:")
print("我的名字叫做:",name)

在这里插入图片描述

    这样就形成了一个较标准输入输出,那么我们刚刚在input()括号里—引号里,写的内容就是字符串,那么什么是字符串呢,刚好引申出【字符串】这个数据类型,请各位大爷继续往下看!!

Python中的数据类型

    接下来我们就开始学习Python中的数据类型,Python中的数据类型大体可分为两类:

1、可变数据类型

    即:当该数据类型对应的变量的值发生了变化时,如果它对应的内存地址不发生改变,那么这个数据类型就是 可变数据类型。

    我的解释:大家还记得第三节课(我是个链接)我画的图吗,说白了就是大方框里面的内容能做修改

    可变数据类型有:list(列表)、dict(字典)、set(集合)

在这里插入图片描述

2、不可变数据类型

    即:当该数据类型对应的变量的值发生了变化时,如果它对应的内存地址发生了改变,那么这个数据类型就是 不可变数据类型。

    我的解释:大家还记得第三节课(我是个链接)我画的图吗,说白了就是大方框里面的内容不能做修改,如果你想修改,只能重新创建一个变量

    不可变数据类型有:数值类型(int、float、bool)、str(字符串)、tuple(元组)

在这里插入图片描述

如何查看一个变量(数据)的变量类型

    非常简单,用函数【type()】,在函数【type()】的括号里写上一个变量或者,直接写上数据,然后放在【print()】函数中,即可输入该变量\数据的数据类型!!,如下图:

name = '一晌小贪欢'
print(type(name))

print(type(100))

输出,class 后面引号里的英文就是指的数据类型

<class 'str'>
<class 'int'>

字符串(str不可变)

    所谓字符串,其实说白了,就是英文输入法下,【单引号】或【双引号】里面的内容,,我们就称之为字符串,如下代码:

print('123')
print("你好")
print('你好')
print("  ")
print('(*&^*&%^&$^%$^)(*&^%@_+*(*的😂')

输出

123
你好
你好
  
(*&^*&%^&$^%$^)(*&^%@_+*(*的😂

    没错,空格也是字符串,有些小伙伴肯定会说 三个单引号或者三个双引号也是字符串啊,是的,也是,但是一般我们不会经常作为print()函数里面的字符串进行输出!,我们一般会作为一个类或者一个函数的注释,【注释我会在下一节课讲解

print('''123''')
print("""你好""")

输出

123
你好

    但是三个引号有一个小知识点,就是可以多行输出,如下图:

print('''
1,
2,
3
''')

输出


1,
23

    如果是单引或双引号就,就需要加上换行符,如下图:

print('1\n2\n3')

输出

1
2
3

    在这里我要讲解一个非常基础,且重要的知识点,那就是

    ✨✨我们在用一个变量去接收input()函数的内容时,请记住,输入的一切都是,字!符!串!✨✨

    ✨✨我们在用一个变量去接收input()函数的内容时,请记住,输入的一切都是,字!符!串!✨✨

    ✨✨我们在用一个变量去接收input()函数的内容时,请记住,输入的一切都是,字!符!串!✨✨

    这个知识点非常的简单,但是我在做Python讲师进行教学的时候,学生们还是非常容易遗忘的!

    ✨✨另外字符串的一个小知识,就是在字符串后面加上乘号后面加上数字,就可以进行复制✨✨,如下图:

print('一晌小贪欢 '*10)

在这里插入图片描述

整数(int不可变)

    一句话在Python中整数分成3部分:
    1、正整数;
    2、0;
    3、负整数

    没引号啊,没引号啊,加引号就变成字符串了。

print(100,type(100))
print(-1,type(-1))
print(0,type(0))

输出

100 <class 'int'>
-1 <class 'int'>
0 <class 'int'>

浮点数(float不可变)

    一句话带小数点的数字

print(100.0,type(100.0))
print(-1.0,type(-1.0))
print(0.0,type(0.0))

输出

100.0 <class 'float'>
-1.0 <class 'float'>
0.0 <class 'float'>

    ✨✨小知识点,我们发现100和100.0数据类型虽然不一样,但是大小一样哈✨✨

列表(list可变)

列表的定义

    列表是非常重要的一种容器数据类型,首先列表的定义是一对英文模式下的中括号[ ]即表示一个空列表

list_a = []

列表的特征

    列表内可以存放任何数据类型,包括自己,如下代码:

list_a = ["a",100,3.14,0,True,False,[1,2,3]]

    列表内的每一个数据,都有属于自己的编号,当然是不会显示的哈,自己心里知道,我们把这个编号称之为:【索引】,索引呦两种,即:正着数、倒着数
好接下来,我们就来看一下,关于列表的方法

在这里插入图片描述

列表的增

    列表的增,即:往列表里增加数据,有两种方法:

    方法1、[ ].append("增的数据"),append()方法只能增加在最后,如下代码:

list_a = []
list_a.append("apple")
list_a.append("orange")
print(list_a)

输出

['apple', 'orange']

    方法2、[ ].insert(索引,增的数据),insert()方法就是可以随意插入,在指定索引前,插入元素,记得是:索引前,如下代码:

list_a = ["apple","banana"]
list_a.insert(1,"watermelon")
print(list_a)

输出

['apple', 'watermelon', 'banana']

列表的删

    方法1、[ ].remove(删除的元素),remove()函数括号里写上想要删除的元素:

list_a = ["apple","banana"]
list_a.remove("apple")
print(list_a)

输出

['banana']

    方法2、[ ].pop(索引),pop()函数括号里写上想要删除元素的索引:

list_a = ["apple","banana","watermelon"]
list_a.pop(0)
print(list_a)

输出

['banana', 'watermelon']

    方法3、[ ].pop(不写索引),pop()函数括号里不写索引,则删除最后一个元素

list_a = ["apple","banana","watermelon"]
list_a.pop()
print(list_a)

输出

['apple', 'banana']

列表的查(切片留下一节课讲)

    列表的查,非常简单即:列表变量名[索引值]

list_a = ["apple","banana","watermelon"]
print(list_a[0])
print(list_a[-1])

输出

apple
watermelon

列表的改

    列表的改,非常简单即:列表变量名[索引值] = 新值

list_a = ["apple","banana","watermelon"]
list_a[0] = '你好'
list_a[-2] = '花西币'
print(list_a)

输出

['你好', '花西币', 'watermelon']

元组(tuple不可变)

元组的定义

    元组是非常重要的一种容器数据类型,首先元组的定义是一对英文模式下的小括号 ( ) 即表示一个空元组

元组的特征

    元组内可以存放任何数据类型(这一点和列表相似),包括自己,如下代码:

tuple_a = ("a",100,3.14,0,True,False,(1,2,3),["a","b","c"])

    元组内的每一个数据,都有属于自己的编号,当然是不会显示的哈,自己心里知道,我们把这个编号称之为:【索引】,索引呦两种,即:正着数、倒着数

    元组只有查,方法和列表一致,如果想修改元素信息,只能重新定义一个新元组

    元组只有查,方法和列表一致,如果想修改元素信息,只能重新定义一个新元组

    元组只有查,方法和列表一致,如果想修改元素信息,只能重新定义一个新元组

在这里插入图片描述

元组的查(元组只有查,方法于列表一致)

    元组的查,非常简单即:元组变量名[索引值]

tuple_a  = ("a",100,3.14,0,True,False,(1,2,3),["a","b","c"])
print(tuple_a[0])
print(tuple_a[-1])

输出

a
['a', 'b', 'c']

元组只有一个元素时,需加逗号

    1、不加逗号就是一个变量

tuple_a  = ("a")
print(tuple_a,type(tuple_a))

输出

a <class 'str'>

    2、加逗号就是元组类型

tuple_a  = ("a",)
print(tuple_a,type(tuple_a))

输出

('a',) <class 'tuple'>

字典(dict可变)

    字典这个数据类型也是非常重要的,尤其是我在办公的时候经常用到,而且考试的时候必定会有关于字典的一道大题

字典的定义

    字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值 key(键)=>value(值) 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:

在这里插入图片描述

a_dict = {"小红":"跳舞","小明":"唱歌","小蓝":"编程","坤坤":"唱跳rap"}

🚩字典的特征(重点)

    1、字典的键,只能用不可变量类型!,如下
b_dict = {1:'kunkun'} ✅
b_dict = {"1":'kunkun'} ✅
b_dict = {(1,2):'kunkun'} ✅
b_dict = {[1]:'kunkun'} ❌

    2、字典的值,可以时任何数据类型

    3、字典的键不可重复,如有重复,取值为最后一条,如下:

b_dict = {'name':'kunkun','name':'坤坤','name':'爱困',}
print(b_dict)

输出

{'name': '爱困'}

字典的增

    1、如何增加一个键值对,其实非常简单,形式:d[新键] = 新值,代码如下:

a_dict = {"小红": "跳舞", "小明": "唱歌", "小蓝": "编程", "坤坤": "唱跳rap"}
a_dict['花西子'] = 79
print(a_dict)

输出

{'小红': '跳舞', '小明': '唱歌', '小蓝': '编程', '坤坤': '唱跳rap', '花西子': 79}

    2、如何增加一个键值对,其实非常简单,形式:a_dict .update({"a":"b"}),代码如下:

a_dict = {"小红": "跳舞", "小明": "唱歌", "小蓝": "编程", "坤坤": "唱跳rap"}
a_dict .update({"a":"b"})
print(a_dict)

输出

{'小红': '跳舞', '小明': '唱歌', '小蓝': '编程', '坤坤': '唱跳rap', 'a': 'b'}

字典的删

    字典的删除,其表现形式如下:del 字典变量名[ 键 ],这样,这个键值对就会被删除掉,代码如下

a_dict = {"小红": "跳舞", "小明": "唱歌", "小蓝": "编程", "坤坤": "唱跳rap"}
del a_dict['小红']
print(a_dict)

输出

{'小明': '唱歌', '小蓝': '编程', '坤坤': '唱跳rap'}

🚩字典的查(重点)

    1、字典的查,形式:字典变量名[ 键 ],如果键不存在报错!!,代码如下:

a_dict = {"小红": "跳舞", "小明": "唱歌", "小蓝": "编程", "坤坤": "唱跳rap"}
print(a_dict['坤坤'])

输出

唱跳rap

    如果键不存在会报错!! KeyError: 'xx'

a_dict = {"小红": "跳舞", "小明": "唱歌", "小蓝": "编程", "坤坤": "唱跳rap"}
print(a_dict['xx'])

输出

E:\py\python.exe F:\随笔\测试\读取Excel.py 
Traceback (most recent call last):
  File "F:\随笔\测试\读取Excel.py", line 13, in <module>
    print(a_dict['xx'])
KeyError: 'xx'

Process finished with exit code 1

    2、字典的查,形式:字典变量名.get(键),如果键不存在:不会报错!!,默认返回 None,代码如下:

a_dict = {"小红": "跳舞", "小明": "唱歌", "小蓝": "编程", "坤坤": "唱跳rap"}
print(a_dict.get('xx'))

输出

None

    2-1、字典变量名.get(键,'可自定义返回值'),代码如下:

a_dict = {"小红": "跳舞", "小明": "唱歌", "小蓝": "编程", "坤坤": "唱跳rap"}
print(a_dict.get('xx','键错误'))

输出

键错误

字典的改

    字典的改和增几乎一致,形式:d[键] = 新值,代码如下:

a_dict = {"小红": "跳舞", "小明": "唱歌", "小蓝": "编程", "坤坤": "唱跳rap"}
a_dict["坤坤"] = '活珠子'

print(a_dict)

输出

{'小红': '跳舞', '小明': '唱歌', '小蓝': '编程', '坤坤': '活珠子'}

集合(set可变)

集合的定义

    集合(set)在日常工作中使用到的频率相对于上面列表、字典,还是比较少的,一般我们会利用集合的set()函数,对元组\列表里面的元素进行去重!

    集合(set)是一个无序的不重复元素序列。

    集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。

    可以使用大括号 { } 创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数创建集合。

🚩 知识点(重要):无序不重复元素序列

🚩 知识点(重要):无序不重复元素序列

🚩 知识点(重要):无序不重复元素序列

a_set = {1,2,3,4}
print(a_set,type(a_set))

输出

{1, 2, 3, 4} <class 'set'>

集合的特征

🚩 知识点(重要):无序不重复元素序列

集合的增

    1、集合的增加元素(将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。),形式:a_set .add( x ),代码如下:

a_set = {1,2,3,4}
a_set.add('kunkun')
print(a_set)

输出

{1, 'kunkun', 2, 3, 4}

    2、也可以添加元素,列表,元组,字典等,语法格式如下:形式:a_set .update( x ),x 可以有多个,用逗号分开。代码如下:

a_set = {1,2,3,4}
a_set.update([1,5])
a_set.update({100,200},["爱困",79])
print(a_set)

输出

{1, 2, 3, 4, 5, 100, '爱困', 200, 79}

集合的删

    1、集合的删于列表一致,形式:a_set .remove( x ),将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。

a_set = {1,2,3,4,'南极','鲶鱼','亚运会'}
a_set.remove('鲶鱼')
print(a_set)

输出

{1, 2, 3, 4, '南极', '亚运会'}

    2、集合的删,形式:a_set .discard( x ),将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。

a_set = {1,2,3,4,'南极','鲶鱼','亚运会'}
a_set.discard('南极')
print(a_set)

输出

{1, 2, 3, 4, '亚运会', '鲶鱼'}

    3、集合的随机 随机 随机删,形式:a_set .pop( ) ,多次执行测试结果都不一样。pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。

a_set = {1,2,3,4,'南极','鲶鱼','亚运会'}
a_set.pop()
print(a_set)

输出

{1, 2, 3, 4, '亚运会', '南极'}

今天的知识点稍微有点多,大家可以好好做做笔记,代码多敲几遍

尤其是关于🚩列表和字典的增删查改🚩

希望大家,多多关注,多多收藏!!

你的关注+收藏才是我保姆级教学的动力!!

下一节课我们来讲一下关于字符串以及列表的切片等知识点!!欢迎大家订阅

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

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

相关文章

```,```中间添加 # + 空格 + 空行后遇到的底部空行出错,书接上回,处理空行

【python查找替换&#xff1a;查找空行&#xff0c;空行前后添加&#xff0c;中间添加 # 空格 空行后遇到的第1行文字&#xff1f; - CSDN App】http://t.csdnimg.cn/QiKCV def is_blank(line):return len(line.strip()) 0txt 时间戳&#xff1a; ("%Y-%m-%d %H:%M:…

软件设计师考试知识点大全思维导图

软件设计师考试知识点大全思维导图 欢迎交流学习

BDJ-A02-32、BRJ-A02-50比例减压阀放大板

BDJ-A02-210、BDJ-A02-100、BDJ-A02-32、BRJ-A02-50、BRJ-A02-100、BRJ-A02-210、BRJ-A02-315、BCJ-A03-315、BCJ-A06-100、BCJ-A08-50、BYJ-A02-20、BYJ-A02-40是比例减压阀&#xff0c;阀的二次压力与输入电信号成正比。此类阀工作时是通过电子放大器提供比例电磁铁的驱动电流…

技术干货:解密最受欢迎的开源 Serverless 框架弹性技术实现

作者&#xff1a;元毅 Knative 是一款基于 Kubernetes 的开源 Serverless 应用编排框架&#xff0c;其目标是制定云原生、跨平台的 Serverless 应用编排标准。Knative 主要功能包括基于请求的自动弹性、缩容到 0、多版本管理、基于流量的灰度发布以及事件驱动等。 弹性是 Ser…

kali linux安装redis

官网&#xff1a;Install Redis from Source | Redis wget https://download.redis.io/redis-stable.tar.gztar -xzvf redis-stable.tar.gz cd redis-stable make显示如下即可进入下一步 sudo make installredis-server 可以看到已经可以使用了。 但是由于第一次使用导致了re…

微信支付v2

文档&#xff1a; https://pay.weixin.qq.com/wiki/doc/api/index.html 微信小程序&#xff1a;https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter11_1 需要一个微信认证后的小程序&#xff0c;&#xff0c;还需要一个&#xff0c;在微信商户平台&#xff0c;&…

matlab实现对极地投影数据的投影转换

图片摘要 前段时间&#xff0c;我写了一个专栏《联合matlab和Arcgis进行netcdf格式的雪覆盖数据的重新投影栅格》&#xff0c;介绍了如何利用Arcgis实现极地投影的转换。今天&#xff0c;我提供一个matlab重采样的方法实现投影转换。 我们这次使用的数据是北冰洋逐日的海平面高…

【每日一题】1094. 拼车

1094. 拼车 - 力扣&#xff08;LeetCode&#xff09; 车上最初有 capacity 个空座位。车 只能 向一个方向行驶&#xff08;也就是说&#xff0c;不允许掉头或改变方向&#xff09; 给定整数 capacity 和一个数组 trips , trip[i] [numPassengersi, fromi, toi] 表示第 i 次旅…

相机坐标系之间的转换

一、坐标系之间的转换 一个有4个坐标系&#xff1a;图像坐标系、像素坐标系、相机坐标系、世界坐标系。 1.图像坐标系和像素坐标系之间的转换 图像坐标系和像素坐标系在同一个平面&#xff0c;利用平面坐标系之间的转换关系可以之知道两个坐标系变换的公式&#xff0c;并且该…

Log4j2的JNDI注入漏洞(CVE-2021-44228)原理分析与思考

目录 前言 一、 前置知识 1.1 Log4j2 1.2 Log4j2 Lookup 1.3 JNDI 1.4 JNDI注入 二、 漏洞复现 三、 漏洞原理 3.1 MessagePatternConverter.format() 3.2 StrSubstitutor.resolveVariable() 3.3 Interpolator.lookup() 3.4 JndiLookup.lookup() 3.5 JndiManager.l…

cos文件上传demo (精简版通用)

1. 依赖 <!--腾讯云cos依赖--> <dependency><groupId>com.qcloud</groupId><artifactId>cos_api</artifactId><version>5.6.54</version> </dependency> 2. FileController import com.ruoyi.common.core.domain.AjaxRe…

网络层协议—IP协议

网络层协议—IP协议 文章目录 网络层协议—IP协议网络层简介IP协议简介IP协议文格式IP协议报头实现网络互联的使用设备 网段划分IP地址划分子网掩码IP地址的特点特殊的IP地址IP地址的数量限制私有IP地址和公网IP地址NAT技术 路由报文的分片与组装IP地址和硬件地址 网络层简介 …

2023.10.8 基本 Thread 线程详解

目录 Thread 常见构造方法 Thread 常见属性 创建一个 Thread 线程 使用 jconsole 命令观察线程 中断一个 Thread 线程 等待一个 Thread 线程 休眠当前 Thread 线程 让出当前 Thread 线程的 CPU 资源 线程的状态 Thread 常见构造方法 方法说明Thread()创建线程对…

Nginx 重新编译添加新的模块

编译安装Nginx的时候&#xff0c;有些模块默认并不会安装&#xff0c;比如http_ssl_module&#xff0c;那么为了让Nginx支持HTTPS&#xff0c;必须添加这个模块。 下面讲解如何在已经安装过后再次添加新的模块。 1、找到安装nginx的源码根目录(即安装包存放目录)&#xff0c;…

2023年【G1工业锅炉司炉】考试题及G1工业锅炉司炉模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年G1工业锅炉司炉考试题为正在备考G1工业锅炉司炉操作证的学员准备的理论考试专题&#xff0c;每个月更新的G1工业锅炉司炉模拟考试祝您顺利通过G1工业锅炉司炉考试。 1、【多选题】TSGG0001-2012《锅炉安全技术监…

Potplayer结合cpolar内网穿透实现公网访问群晖WebDAV

把potplayer变成netflix需要几步&#xff1f; ​ 国内流媒体平台的内容让人一言难尽&#xff0c;就算是购买了国外的优秀作品&#xff0c;也总是在关键剧情上删删减减&#xff0c;就算是充了会员&#xff0c;效果如何&#xff1f; 广大网友不得不选择自己找资源下到本地&#x…

剪切板中,经常用到的gpt编程提问

/data/user/0/org.qpython.qpy/files/bin/qpy thon3.sh "/storage/emulated/0/qpython/评论 截图问题1.矩阵2.1.2.1空行问题1.4.5.py" && exit .1.2.1空行问题1.4.5.py" && exit < 时间戳&#xff1a; 时间戳&#xff1a; ("…

springboot 捕获特点异常信息并处理

前端获取效果图 springboot 捕获特点异常信息并处理 import com.one.utils.JSONResult; //JSONResult定义处理结果对象 import org.springframework.web.bind.annotation.ExceptionHandler

Flink开发环境搭建与提交运行Flink应用程序

Flink开发环境搭建与提交运行Flink应用程序 Flink概述环境 Flink程序开发项目构建添加依赖安装Netcat实现经典的词频统计批处理示例流处理示例 Flink Web UI 命令行提交作业编写Flink程序打包上传Jar提交作业查看任务测试 Web UI提交作业提交作业测试 Flink 概述 Apache Flink…

解决Opencv dnn模块无法使用onnx模型的问题(将onnx的动态输入改成静态)

一、问题来源 最近做人脸识别项目&#xff0c;想只用OpenCV自带的人脸检测和识别模块实现&#xff0c;使用OpenCV传统方法&#xff1a;Haar级联分类器人脸检测LBPH算法人脸识别的教程已经有了&#xff0c;于是想着用OpenCV中的dnn模块来实现&#xff0c;dnn实现人脸检测也有&a…