二、python基础语法篇(黑马程序猿-python学习记录)

news2024/9/22 11:35:28

黑马程序猿的python学习视频:https://www.bilibili.com/video/BV1qW4y1a7fU/

===============================================================

 

目录

一 、print

1. end'' 

2. \t对齐

二、字面量

1. 字面量的含义

2. 常见的字面量类型 

3. 如何基于print语句完成各类字面量的输出

 三、 注释的分类

1. 单行注释

2. 多行注释

3. 注释的作用是什么

4. 单行注释如何定义

5. 多行注释如何定义

四、 变量  

1. 什么是变量 

2. 变量的格式是 

3. 变量的特征 

4. print语句如何输出多份内容 

5. python中如何做运算

五、 数据分类

    1. 数据类型的分类 

2. type()查看数据类型 

3. 变量有类型吗

六、 数据类型转换

1. 任何类型都可以转换成字符串,对不对 

2. 字符串可以随意转换成数字,对不对 

3. 浮点数转成整数会丢失什么

七、 标识符

八、 运算符

九、 字符串扩展 

1. 字符串的三种定义方式 

2. 字符串的拼接 

3. 常用的字符串格式化 

4. 精度控制语法 

5. 如果m比数字本身宽度小,会发生什么 

6. .n会对小数部分做精度限制,同时? 

7. f{}的拼接语法 

8. input语句的基本使用 

9. 查看索引位置index 

10.字符串的替换 replace 

10. 分割字符串split 

11. 字符串去除前后空格strip() 

12. 字符串去除首尾指定字符串strip(参数 ) 

13. 统计字符串中某个字符串出现的次数count 

14. 统计字符串的长度len 

15. 切片

十、布尔类型

十一、 比较运算符

十二、 if语句

十三、 循环

1. while循环

a. 练习题:求1-100的和

b. 练习题九九乘法表

2. for循环

3. for循环的九九乘法表

4. range

5. continue和break

十四、 函数

1. 函数定义

​​​​​​2. 有返回值的函数

3. 函数的None

4. 函数的多返回值

5. 传参不限个数*args

6. 传参不限个数**kwargs

十五、 数据容器-列表

1. 基础概念

2. 用法总结

​​​​​​​3. index(元素)查看元素索引

​​​​​​​4. 插入元素insert

​​​​​​​5. 追加一个元素append

​​​​​​​6. 追加一批元素extend

​​​​​​​7. 删除列表元素 :del 列表[下标]

​​​​​​​8. 删除列表元素:列表.pop(下标)

9. 删除列表元素:remove

10. 删除列表的所有元素clear()

11. 统计某个元素 在列表中的数量count(元素)

12. 统计列表中全部元素的数量len(列表)

十六、 数据容器-元组

1. 元组定义​​​​​​​

​​​​​​​2. 元组操作

​​​​​​​3. 元组的特点

4. 切片

十七、 数据容器-集合

​​​​​​​1. 集合的概念

2. 定义集合

3. 添加新元素 集合.add(元素)

4. 移除元素 集合.remove(元素)

5. 随机取出一个元素pop

6. 清空集合clear

7. 取出2个集合的差集difference

8. 消除2个集合的差集difference_update

9. 2个集合合并为1个union

10. 统计集合元素数量len

十八、 数据容器-字典

1. 字典的定义

2. 定义重复key的字典

3. 取值

4. 新增元素/更新元素

5. 删除元素pop

6. 清空字典clear

7. 获取全部key 字典.keys()

8. 遍历字典

9. 统计字典内的元素数量 len()

十九、 数据容器分类

二十、 数据容器排序

二十一、 lambda


==================================================================

一 、print

1. end'' 

换行

不换行

print("hello")

print("world")

print("hello",end='')

print("world",end='')

hello

world

进程已结束,退出代码0

helloworld

进程已结束,退出代码0

2. \t对齐

不对齐

对齐

print("world world")

print("worl word")

print("world\tworld")

print("worl\tword")

world world

worl word

进程已结束,退出代码0

world world

worl word

进程已结束,退出代码0

二、字面量

1. 字面量的含义

代码中,被写在代码中的固定的值,称之为字面量。

2. 常见的字面量类型 

我们目前了解:整数、浮点数、字符串这三类即可

3. 如何基于print语句完成各类字面量的输出

print(字面量),如:

print(10),输出10

print(13.14),输出13.14

print("hello");输出 hello

注释:在程序代码中对程序代码进行解释说明的文字。

作用:注释不是程序,不能呗执行。只是对程序代码进行解释说明。让别人可以看懂程序代码的作用,能够大大增加程序的可读性

            
三、 注释的分类

1. 单行注释

2. 多行注释

“”“

”“”

一对三个双引号引起来的注释

一般写在文件的开头

3. 注释的作用是什么

注释是代码中的解释型语句,用来对代码内容进行注释

注释不是代码,不会被程序执行

4. 单行注释如何定义

通过#定义,在#号的右侧的所有内容均作为注释

建议在#号和注释内容之间,间隔一个空格

单行注释一般用于对一行或小部分代码进行解释

5. 多行注释如何定义

通过一对三个引号来定义("""注释内容"""),引号内容均是注释,可以换行

多行注释一般对:python文件,类和方法进行解释

四、 变量  

1. 什么是变量 

在程序运行时,能储存计算结果或能表示值的抽象概念。

简单的说,变量就是在程序运行时,记录数据用的

2. 变量的格式是 

变量名 = 变量值

3. 变量的特征 

变量的值可以改变

4. print语句如何输出多份内容 

print(内容1,内容2,..........,内容n)

5. python中如何做运算

加减乘除:+ - * /

五、 数据分类

    
1. 数据类型的分类 

在学习字面量的时候,我们了解到:数据是有类型的、

目前在入门阶段,我们主要接触如下三类数据类型:

string int float

2. type()查看数据类型 

3. 变量有类型吗

变量没有类型。但是存储的数据有类型。

我们通过type(变量)可以输出类型,这是查看变量的类型还是数据的类型?

查看的是:变量存储的是数据的类型。因为,变量无类型,但是它存储的数据有。

六、 数据类型转换

print("int转string", type(str(123)),str(123))
print("float转string", type(str(123.123)),str(123.123))
print("int转float", type(float(123)),float(123))
print("float转int", type(int(123.12)),int(123.12))

1. 任何类型都可以转换成字符串,对不对 

正确

2. 字符串可以随意转换成数字,对不对 

不对。字符串内必须只有数字才可以

3. 浮点数转成整数会丢失什么

丢失精度,也就是小数部分

七、 标识符

5b792b2f19cf83f8bca8087cafa0106e.png0ea70023bf98854f979ff8c2f606431e.png6b3a5725def9e152ef002219631620f7.png98422e5ad1c2a424ee1630a2a31bbaca.png 

八、 运算符

九、 字符串扩展 


1. 字符串的三种定义方式 

转义

name = "'张三"

print(name)

name = '"张三'

print(name)

name = "\"张三\""

print(name)

name = "\'张三\'"

print(name)

'张三

"张三

"张三"

'张三'

2. 字符串的拼接 

name="李四"

message="我的名字是%s"%name

print(message)

xinzi=1000

message="我的名字是%s,薪资是%s"%(name,xinzi)

print(message)


3. 常用的字符串格式化 

字符串 %s

整数 %d

浮点数 %f

4. 精度控制语法 

m.n的形式控制,如%5d,%5.2f,%.2f

m和.n均可省略

5. 如果m比数字本身宽度小,会发生什么 

m不生效

6. .n会对小数部分做精度限制,同时? 

会对小数部分做四舍五入

7. f{}的拼接语法 

name="张三"

age=18

xinzi=3000.23

print(f"我的名字是{name},年龄是:{age},薪资是:{xinzi}")

输出结果是:

我的名字是张三,年龄是:18,薪资是:3000.23

8. input语句的基本使用 

name = input("你的名字是:")

print(name)

输出:zhnagsan

9. 查看索引位置index 

value="abc def";

print(value.index("d"))

4

10.字符串的替换 replace 

value="abc def abc";

new_value = value.replace("a","g")

print(new_value)

gbc def gbc

10. 分割字符串split 

value="abc def abc";

new_value = value.split(" ")

print(new_value)

['abc', 'def', 'abc']

11. 字符串去除前后空格strip() 

value=" abc def abc ";

new_value = value.strip()

print(new_value)

abc def abc

12. 字符串去除首尾指定字符串strip(参数 ) 

value="abc def abc";

print(value.strip("ab"))

value="abc def cab";

print(value.strip("ab"))

c def abc

c def c

13. 统计字符串中某个字符串出现的次数count 

value="abc def cab";

print(value.count("ab"))

2

14. 统计字符串的长度len 

value="abc def cab";

print(len(value))

11

15. 切片

             c2084a1d3034e2fd58b31f4797105a6e.png

value="0123456";

print(value[1:3])

value="0123456";

print(value[::2])

12

0246

十、布尔类型

布尔类型的值 是True 和 False

十一、 比较运算符

十二、 if语句

if

if(3>2):

print("3>2")

3>2

if else

if(3<2):

print("11111")

else:

print("22222")

222222

if elif else

num=10

if(num==1):

print("num==1")

elif(num==10):

print("num==10")

else:

print("num==7")

num==10

十三、 循环

1. while循环

a. 练习题:求1-100的和

num=1

sum=0

while num<=100:

sum+=num

num+=1

print(sum)

5050

b. 练习题九九乘法表

i=1;

while i<10:

j = 1;

while j<=i:

print(f"{j}*{i}={i*j}\t",end='')

j+=1;

i += 1;

print()

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

1*5=5 2*5=10 3*5=15 4*5=20 5*5=25

1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36

1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49

1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64

1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

2. for循环

data="hello world";

for item in data:

print(item)

h

e

l

l

o

w

o

r

l

d

3. for循环的九九乘法表

end='' 不换行

\t 对齐

print()换行

for i in range(1,10):

for j in range(1,i+1):

print(f"{j}*{i}={j*i}\t",end='')

print()

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

1*5=5 2*5=10 3*5=15 4*5=20 5*5=25

1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36

1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49

1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64

1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

4. range

range(num)

range(num,num)

range(num,num,step)

data = range(5)

for item in data:

print(item)

data = range(5,8)

for item in data:

print(item)

data = range(5,10,2)

for item in data:

print(item)

0

1

2

3

4

5

6

7

5

7

9

5. continue和break

continue:直接进行下次循环

break:结束循环

十四、 函数

1. 函数定义

​​​​​​2. 有返回值的函数

def add(a,b):

return a+b;

result = add(3,30);

print(result)

33

3. 函数的None

​​​​​​​4. 函数的多返回值

def test():

return 1,2,3

x,y,z=test()

print(f"{x},{y},{z}")

1,2,3

​​​​​​​5. 传参不限个数*args

def test(*args):

print(args)

test("1", "2", "3")

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

​​​​​​​6. 传参不限个数**kwargs

def test(**kwargs):

print(kwargs)

test(name="12", age="22", sex="22")

{'name': '12', 'age': '22', 'sex': '22'}

十五、 数据容器-列表

1. 基础概念

列表的正向索引取值方法

列表的反向索引取值方法

​​​​​​​2. 用法总结

​​​​​​​3. index(元素)查看元素索引

元素存在

元素不存在

mylist=[1,2,3]

print(mylist.index(1))

mylist=[1,2,3]

print(mylist.index(5))

0

ValueError: 5 is not in list

​​​​​​​4. 插入元素insert

列表.insert(下标,元素),在指定的位置插入指定的值

mylist=[1,2,3]

mylist.insert(1,"啦啦")

print(f"最新的数据时:{mylist}")

最新的数据时:[1, '啦啦', 2, 3]

​​​​​​​5. 追加一个元素append

列表append(元素),将指定的元素,追加到列表的尾部

mylist=[1,2,3]

mylist.append("lala")

print(f"最新的数据是:{mylist}")

最新的数据是:[1, 2, 3, 'lala']

​​​​​​​6. 追加一批元素extend

列表.extend(其他数据容器),将其他的数据容器的内容取出。依次追加到列表的尾部

mylist=[1,2,3]

mylist.extend([5,6,7])

print(f"最新的数据是:{mylist}")

最新的数据是:[1, 2, 3, 5, 6, 7]

​​​​​​​7. 删除列表元素 :del 列表[下标]

通过下标删除元素

mylist=[1,2,3]

del mylist[1]

print(f"最新的数据是:{mylist}")

最新的数据是:[1, 3]

​​​​​​​8. 删除列表元素:列表.pop(下标)

通过下标删除元素

mylist=[1,2,3]

del_data=mylist.pop(1)

print(f"最新的数据是:{mylist},取出的值是{del_data}")

最新的数据是:[1, 3],取出的值是2

9. 删除列表元素:remove

只会删除第一个匹配的元素

通过元素删除列表元素

mylist=[1,2,3,1]

mylist.remove(1)

print(f"最新的数据是:{mylist}")

最新的数据是:[2, 3, 1]

10. 删除列表的所有元素clear()

mylist=[1,2,3,1]

mylist.clear()

print(f"最新的数据是:{mylist}")

最新的数据是:[]

11. 统计某个元素 在列表中的数量count(元素)

mylist=[1,2,3,1]

count=mylist.count(1)

print(count)

2

12. 统计列表中全部元素的数量len(列表)

mylist=[1,2,3,1]

count=len(mylist)

print(count)

4

十六、 数据容器-元组

1. 元组定义​​​​​​​

​​​​​​​2. 元组操作

​​​​​​​3. 元组的特点

4. 切片

十七、 数据容器-集合

​​​​​​​1. 集合的概念

集合是无序的,所以集合不支持:下标索引访问

但是集合和列表一样,是允许修改的

2. 定义集合

my_set={"张三","李四","王五","张三"}

print(my_set)

{'张三', '李四', '王五'}

3. 添加新元素 集合.add(元素)

my_set={"张三","李四","王五","张三"}

my_set.add("1")

print(my_set)

{'1', '李四', '张三', '王五'}

4. 移除元素 集合.remove(元素)

my_set={"张三","李四","王五","张三"}

my_set.remove("李四")

print(my_set)

{'张三', '王五'}

5. 随机取出一个元素pop

my_set={"张三","李四","王五","张三"}

my_set.pop()

print(my_set)

{'张三', '李四'} pop随机去掉一个元素

6. 清空集合clear

my_set={"张三","李四","王五","张三"}

my_set.clear()

print(my_set)

set()

7. 取出2个集合的差集difference

集合1.difference(集合2):取出集合1有而集合2没有的。原来的2个集合不变

set1={1,2,3}

set2={1,3,5}

set3=set1.difference(set2)

print(set3)

{2}

8. 消除2个集合的差集difference_update

集合1.difference_update(集合2)

对比集合1和集合2,在集合1中删除和集合2相同的元素

结果:集合1被修改 集合2不变

set1={1,2,3}

set2={1,3,5}

set1.difference_update(set2)

print(set1)

{2}

9. 2个集合合并为1个union

集合1.union(集合2)

将集合1和集合2组合成新的集合

结果:得到新集合 集合1和集合2不变

set1={1,2,3}

set2={1,3,5}

set3 = set1.union(set2)

print(set3)

{1, 2, 3, 5}

10. 统计集合元素数量len

set1={1,2,3}

print(len(set1))

3

十八、 数据容器-字典

1. 字典的定义

my_dict1={"1":"张三","2":"李四","3":"王五"}

my_dict2={}

my_dict3=dict()

print(f"my_dict1的内容是:{my_dict1},类型:{type(my_dict1)}")

print(f"my_dict2的内容是:{my_dict2},类型:{type(my_dict2)}")

print(f"my_dict3的内容是:{my_dict3},类型:{type(my_dict3)}")

my_dict1的内容是:{'1': '张三', '2': '李四', '3': '王五'},类型:<class 'dict'>

my_dict2的内容是:{},类型:<class 'dict'>

my_dict3的内容是:{},类型:<class 'dict'>

2. 定义重复key的字典

my_dict1={"1":"张三","1":"李四","3":"王五"}

print(f"my_dict1的内容是:{my_dict1},类型:{type(my_dict1)}")

my_dict1的内容是:{'1': '李四', '3': '王五'},类型:<class 'dict'>

重复的key :后边的数据会把前边重复的数据给覆盖掉

3. 取值

my_dict1={"1":"张三","2":"李四","3":"王五"}

print(my_dict1["2"])

李四

4. 新增元素/更新元素

字典[key]=value

如果key存在,就是更新

如果key不存在 就是新增

5. 删除元素pop

my_dict1={"1":"张三","2":"李四","3":"王五"}

score = my_dict1.pop("2")

print(my_dict1)

print(score)

{'1': '张三', '3': '王五'}

李四

6. 清空字典clear

my_dict1={"1":"张三","2":"李四","3":"王五"}

my_dict1.clear()

print(my_dict1)

{}

7. 获取全部key 字典.keys()

语法:字典.keys(),结果:得到字典中的全部key

my_dict1={"1":"张三","2":"李四","3":"王五"}

keys = my_dict1.keys()

print(keys)

dict_keys(['1', '2', '3'])

8. 遍历字典

方法1:获取到全部key 循环key实现遍历

方法2:直接对字典for循环,循环的是key,所以能直接循环字典实现遍历

my_dict1={"1":"张三","2":"李四","3":"王五"}

keys = my_dict1.keys()

for element in keys:

print(f"key:{element},value:{my_dict1[element]}")

my_dict1={"1":"张三","2":"李四","3":"王五"}

for key in my_dict1:

print(f"key:{key},value:{my_dict1[key]}")

key:1,value:张三

key:2,value:李四

key:3,value:王五

key:1,value:张三

key:2,value:李四

key:3,value:王五

9. 统计字典内的元素数量 len()

my_dict1={"1":"张三","2":"李四","3":"王五"}

print(len(my_dict1))

3

十九、 数据容器分类

二十、 数据容器排序

sorted(容器) 正序

sort(容器,reverse=True) 倒序

data=[3,1,2,4,5]

print(sorted(data))

print(sorted(data,reverse=True))

[1, 2, 3, 4, 5]

[5, 4, 3, 2, 1]

二十一、 lambda

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

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

相关文章

MXNet的Faster R-CNN(基于区域提议网络的实时目标检测)《9》

MXNet的Faster R-CNN(基于区域提议网络的实时目标检测)《1》&#xff1a;论文源地址&#xff0c;克隆MXNet版本的源码&#xff0c;安装环境与测试&#xff0c;以及对下载的源码的每个目录做什么用的&#xff0c;做个解释。 MXNet的Faster R-CNN(基于区域提议网络的实时目标检测…

【手写 Vue2.x 源码】第四十一篇 - 组件部分 - 生成组件的真实节点

一&#xff0c;前言 上篇&#xff0c;介绍了组件部分-组件的生命周期&#xff0c;主要涉及以下几部分&#xff1a; 本篇&#xff0c;组件部分-生成组件的真实节点&#xff1b; 二&#xff0c;生成组件的真实节点 1&#xff0c;前文回顾 前篇&#xff0c;在 createElement 方…

【剧前爆米花--爪哇岛寻宝】Java中有关异常类的详细讲解

作者&#xff1a;困了电视剧 专栏&#xff1a;《JavaSE语法与底层详解》 文章分布&#xff1a;这是一篇关于Java中异常类的文章&#xff0c;在本篇文章中详细讲解了异常的使用逻辑和底层的执行过程&#xff0c;如有疏漏&#xff0c;欢迎大佬指正&#xff01; 目录 异常的体系结…

<C++>哈希

文章目录1. unordered系列容器1.1 unordered_map1.1.1 unordered_map的文档介绍1.1.2 unordered_map的接口说明1.2 unordered_set2. 哈希概念3. 哈希冲突4. 哈希函数5. 哈希冲突解决5.1 闭散列5.1.1 线性探测5.1.2 二次探测5.2 开散列5.3 开散列与闭散列比较6. 模拟实现1. unor…

配置野火霸道V2环境

配置野火霸道V2环境野火霸道开发板学习笔记信息说明下载安装Keil5配置Keil以使用DAP下载器DAP下载器的使用使用串口下载程序安装USB转串口驱动CH340检查是否安装成功配置MCUISP软件野火霸道开发板学习笔记 信息说明 日期 : 2023-01-23开发板: 野火霸道V2芯片型号: STM32F103Z…

[Paper Reading] Towards Conversational Recommendation over Multi-Type Dialogs

[Paper Reading] Towards Conversational Recommendation over Multi-Type Dialogs 文章目录[Paper Reading] Towards Conversational Recommendation over Multi-Type Dialogs论文简介快速回顾论文&#xff08;借助scispace&#xff09;梳理一下文章内容&#xff08;参考百度N…

自动化将Gitee的仓库导入Github

自动化将Gitee的仓库导入Github准备工作获取方式gitee的授权码github授权码工具源码用法下载gitee所有仓库到本地下载并更新到github&#xff08;自动创建仓库&#xff09;写在最后本方法能实现自动创建仓库 脚本及用法放在文章最后了&#xff0c;需要的自取 转跳到结尾 准备工…

高性能 Java 框架。Solon v1.12.3 发布(春节前兮的最后更)

一个更现代感的 Java "生态型"应用开发框架&#xff1a;更快、更小、更自由。不是 Spring&#xff0c;没有 Servlet&#xff0c;也无关 JavaEE&#xff1b;新兴独立的开放生态 &#xff08;已有150来个生态插件&#xff09; 。主框架仅 0.1 MB。 相对于 Spring Boot…

计算正整数的阶乘math.factorial()

【小白从小学Python、C、Java】【计算机等级考试500强双证书】【Python-数据分析】计算正整数的阶乘math.factorial()[太阳]选择题请问math.factorial(3)的输出结果是?import mathprint("【执行】math.factorial(3):",math.factorial(3))print("【执行】math.f…

带你玩转Jetson之Deepstream简明教程(二)Deepstream是什么?干什么?有什么优势?

1.Deepstream是什么&#xff1f; Deepstream是Nvidia公司推出的一套基于开源视频流框架Gstreamer的一套库。其本身由多个.lib.so和.h构成&#xff0c;其支持语言包括了Python和Cpp两种主流语言。你可以在任何Python或者Cpp编译器、开发环境中引用库的API构建属于你自己的推理流…

【c++之于c的优化】

目录&#xff1a;前言关键字一、命名空间1.什么是命名空间2.如何使用命名空间3.如何自己创建命名空间4.为什么要使用命名空间5.命名空间起别名6.匿名命名空间二、缺省参数定义缺省参数类型注意事项三、函数重载定义函数重载的三种方式操作系统的区分方式四、引用定义引用特性使…

【4-网络八股扩展】北京大学TensorFlow2.0

课程地址&#xff1a;【北京大学】Tensorflow2.0_哔哩哔哩_bilibiliPython3.7和TensorFlow2.1六讲&#xff1a;神经网络计算&#xff1a;神经网络的计算过程&#xff0c;搭建第一个神经网络模型神经网络优化&#xff1a;神经网络的优化方法&#xff0c;掌握学习率、激活函数、损…

【LeetCode每日一题】【2023/1/24】1828. 统计一个圆中点的数目

文章目录1828. 统计一个圆中点的数目方法1&#xff1a;枚举1828. 统计一个圆中点的数目 LeetCode: 1828. 统计一个圆中点的数目 中等\color{#FFB800}{中等}中等 给你一个数组 points &#xff0c;其中 points[i] [x_i, y_i] &#xff0c;表示第 i 个点在二维平面上的坐标。多…

【算法面试】队列算法笔试面试全解(金三银四面试专栏启动)

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;专注于研究 Java/ Liunx内核/ C及汇编/计算机底层原理/源码&#xff0c;就职于大型金融公司后端高级工程师&#xff0c;擅长交易领域的高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。 &#x1…

02_gpio子系统

总结 驱动程序还想控制gpio 可以不用读写寄存器 直觉用gpio子系统开发的接口就能用了 轻松做输入输出 获取当前值 详细介绍 用设备树里的节点 gpio1 介绍 imx6ull.dtsi gpio1 记录了控制器相关的寄存器基地址 gpio1: gpio209c000 {compatible "fsl,imx6ul-gpio"…

三、利用迁移学习进行模型微调(Datawhale组队学习)

文章目录安装配置环境准备图像分类数据集迁移学习微调训练图像分类模型导入环境图像预处理载入图像分类数据集建立类别和索引号之间映射关系定义数据加载器查看一个batch的图像和标注可视化一个batch的图像和标注模型的构建与测试可视化常见的迁移学习训练方式训练配置模型训练…

过完2022,依然记得仰望星空

&#x1f57a;作者&#xff1a;一名普普通通的双非大二学生迷茫的启明星&#x1f383;专栏&#xff1a;《数据库》《C语言从0到1专栏》《数据结构》《C语言杂谈》目录 ​编辑 一.2022之初 二.2022年中 三.2022年末 四.展望2023 一.2022之初 想起一年前这个时候&#xff0c…

07_plantform平台总线

总结 /sys/bus/plantform 平台总线其实就是继承 06_自己创建xbus总线 有了更多的玩法 和自己创建的xbus总线一样 平台总线也有dev和drv 需要这两个进行匹配之后 进行porbe调用 plantform_device 结构体中直觉继承了 struc device lantform_driver 继承了driver 详细介绍 plan…

树(基础部分)

章节目录&#xff1a;一、二叉树1.1 为什么要使用树&#xff1f;1.2 树的常用术语1.3 二叉树概念1.4 二叉树应用二、顺序存储二叉树2.1 概述2.2 基本应用三、线索化二叉树3.1 问题引出3.2 概述3.3 基本应用四、结束语一、二叉树 1.1 为什么要使用树&#xff1f; 数组存储方式&…

MP-2平面烟雾气体传感器介绍

MP-2平面烟雾气体传感器简介MP-2烟雾检测气体传感器采用多层厚膜制造工艺&#xff0c;在微型Al2O3陶瓷基片的两面分别制作加热器和金属氧化物半导体气敏层&#xff0c;封装在金属壳体内。当环境空气中有被检测气体存在时传感器电导率发生变化&#xff0c;该气体的浓度越高&…