python程序控制结构
文章目录
- 一、python程序控制结构介绍
- 二、顺序结构
- 2.1、print()函数
- 2.2、end参数
- 2.3、input()函数
- 三、选择结构
- 3.1选择结构的用途
- 四、循环结构
- 4.1循环结构的构造
- 4.1.1、循环结构的三个要素
- 4.1.2、循环结构的一个要求
- 4.1.3、循环结构的一个关系
- 4.2、循环语句
- 4.2.1、while语句
- 4.3.1、for语句
- 五、程序异常处理
- 5.1、python中常见的异常类型
一、python程序控制结构介绍
计算机程序由多行代码组成,这些代码是按照一定的结构来组织的,这些结构称为程序控制结构。
python程序的三种结构:
- 顺序结构是最简单的一种结构,计算机在执行顺序结构的程序是,按照书写的代码的先后顺序,自上而下的逐条执行,中间没有跳跃和重复。
- 选择结构也称为分支结构,程序根据条件判断结构来选择不同的执行路径,根据分支路径的完备性选择结构包括单分支结构和双分支结构,双分支结构组合形成多分支结构。
- 循环结构是让计算机重复执行某些语句的结构,在循环结构中,也存在一个条件,计算机执行到循环结构时,会根据条件是否满足来判断是否需要重复执行某些语句,执行一次那些语句后,再对条件进行判断,看是否需要再一次执行那些语句,如果不需要就退出循环结构。
二、顺序结构
输入和输出都是以计算机主机作为主体,从计算机向外部设备输送数据称为输出,从外部设备向计算机输送数据称为输入。
2.1、print()函数
在Python中,print()函数是用于将指定的内容打印到控制台;可以打印文本字符串、数字、变量等。
print()函数的功能:
- 输出常量信息,如果希望输出常量,就将常量写在输出项的位置,直接输出该常量的值。
- 输出变量的值,如果希望输出变量的值,就将变量名写在输出项的位置,输出执行运算后该变量的值。
- 输出表达式的值,如果希望计算并输出表达式的值,就在输出项的位置书写表达式,输出该表达式计算的结果。
- 输出多项内容时需要使用“,”将其隔离,即可输出多项内容。
以下是print()函数的使用:
print("Hello, World!")D:\pythonLED\python.exe E:/pythonProject/1.py
Hello, World!Process finished with exit code 0
name = "Alice"
age = 30
print("My name is", name, "and my age is", age)D:\pythonLED\python.exe E:/pythonProject/1.py
My name is Alice and my age is 30Process finished with exit code 0
2.2、end参数
在 Python 的 print() 函数中,end 参数表示在打印内容后要添加的结尾字符,默认情况下是换行符 “\n”。当使用 print() 函数打印多个内容时,每次调用 print() 函数默认会在内容后自动添加换行符,使得每个内容都单独显示在一行上。
通过指定 end 参数,可以改变默认的结尾字符为其他字符,或者干脆不添加结尾字符。
以下是end参数的使用:
print("Hello", end=" ")
print("World", end="!!!")D:\pythonLED\python.exe E:/pythonProject/1.py
Hello World!!!
Process finished with exit code 0
print("Hello", end="")
print("World")D:\pythonLED\python.exe E:/pythonProject/1.py
HelloWorldProcess finished with exit code 0
2.3、input()函数
input()函数的功能是从键盘获取数据,然后保存到指定的变量中,input()函数获取的数据都以字符串的形式输入,即使通过键盘输入的是数字,input()函数得到的也是字符串,如果希望把键盘输入的数据转为数值类型,可以在使用input()函数时搭配eval()函数,eval()函数的功能是将字符串的引号去掉,然后对引号中的表达式进行解析和计算。
以下是input()函数与eval()函数一起使用的代码:
curname = input('你现有金额是多少:')
print('请输入:',curname,'兑换美元的汇率是:',end="")
rate = eval(input())
amount = eval(input("请输入你需要兑换的美元的数量:"))
print(amount * rate,curname,'可以兑换:',amount,'美元')D:\pythonLED\python.exe E:/pythonProject/1.py
你现有金额是多少:100
请输入: 100 兑换美元的汇率是:7.28
请输入你需要兑换的美元的数量:10
72.8 100 可以兑换: 10 美元Process finished with exit code 0
三、选择结构
3.1选择结构的用途
选择结构通过一个或多个条件的计算结果(True或False)选择性执行备选语句块。
选择结构可以分为单分支结构,双分支结构和多分支结构。
单分支结构:该结构中只有一个条件,功能是当条件成立时执行某行语句块,当条件不成立时直接跳过这个分支。
双分支结构:该结构中只有一个条件,功能是当条件成立时执行语句块1,不成立时执行语句块2。
多分支结构:该结构中有多个条件,每个条件对应一个语句块,其功能是根据给定的条件成立与否,从多个方案中选择某一个方案来执行。
单分支结构代码如下:
s = eval(input("车辆速度为:"))
ls = eval(input("限制速度为:"))
if s > ls:print("车辆超速")D:\pythonLED\python.exe E:/pythonProject/1.py
车辆速度为:50
限制速度为:60Process finished with exit code 0
s = eval(input("车辆速度为:"))
ls = eval(input("限制速度为:"))
if s > ls:print("车辆超速")D:\pythonLED\python.exe E:/pythonProject/1.py
车辆速度为:80
限制速度为:50
车辆超速Process finished with exit code 0
双分支结构代码如下:
s = eval(input("车辆速度为:"))
ls = eval(input("限制速度为:"))
if s < ls:m = '正常通过'
else:m = '超速通过'
print("车辆",m)D:\pythonLED\python.exe E:/pythonProject/1.py
车辆速度为:50
限制速度为:60
车辆 正常通过Process finished with exit code 0
s = eval(input("车辆速度为:"))
ls = eval(input("限制速度为:"))
if s < ls:m = '正常通过'
else:m = '超速通过'
print("车辆",m)D:\pythonLED\python.exe E:/pythonProject/1.py
车辆速度为:80
限制速度为:60
车辆 超速通过Process finished with exit code 0
多分支结构代码如下:
s = int(input("车辆速度为:"))
ls = 50
r = (s-ls) /ls
if r < 0.1:m = '正常通过'
elif 0.1 < r < 0.2:m = '罚款40元'
elif 0.2 < r < 0.3:m = '罚款50元'
elif 0.3 < r < 0.4:m = '罚款60元'
elif 0.4 < r < 0.5:m = '罚款70元'
elif 0.5 < r < 0.6:m = '罚款80元'
else:m = '车辆扣留'
print("车辆",m)D:\pythonLED\python.exe E:/pythonProject/1.py
车辆速度为:100
车辆 车辆扣留Process finished with exit code 0
s = int(input("车辆速度为:"))
ls = 50
r = (s-ls) /ls
if r < 0.1:m = '正常通过'
elif 0.1 < r < 0.2:m = '罚款40元'
elif 0.2 < r < 0.3:m = '罚款50元'
elif 0.3 < r < 0.4:m = '罚款60元'
elif 0.4 < r < 0.5:m = '罚款70元'
elif 0.5 < r < 0.6:m = '罚款80元'
else:m = '车辆扣留'
print("车辆",m)D:\pythonLED\python.exe E:/pythonProject/1.py
车辆速度为:50
车辆 正常通过Process finished with exit code 0
s = int(input("车辆速度为:"))
ls = 50
r = (s-ls) /ls
if r < 0.1:m = '正常通过'
elif 0.1 < r < 0.2:m = '罚款40元'
elif 0.2 < r < 0.3:m = '罚款50元'
elif 0.3 < r < 0.4:m = '罚款60元'
elif 0.4 < r < 0.5:m = '罚款70元'
elif 0.5 < r < 0.6:m = '罚款80元'
else:m = '车辆扣留'
print("车辆",m)
四、循环结构
循环结构是控制程序运行的一类重要结构,与选择结构控制程序执行类似,它的作用是根据某个条件控制一段语句被重复执行的次数。
4.1循环结构的构造
4.1.1、循环结构的三个要素
循环结构可以划分为三个部分:
- 一是重复执行的程序块或语句组,称为循环体。
- 二是循环条件,用于控制程序流程是继续进入循环体还是退出循环体终止循环操作。
- 三是循环体内的变量,这些变量的初值需要在循环开始前设定,这就是循环的初始化。
设计循环体:将需要被重复执行的语句放入循环体。
设置循环条件:采用“计数”或“设置条件”等方法,在这里控制循环的变量称为循环变量。
初始化:对循环中要使用的变量赋初值。
4.1.2、循环结构的一个要求
循环条件中通常有一个变量,这个变量的值一开始是符合条件要求的,但是当循环不断执行时,这个变量的值也在不断变化,最终这个变量的值将不再满足条件要求,这个时候循环结束。这个控制循环执行或结束的变量称为循环变量。为了防止进入无限循环,这里必须对循环变量有“一个要求”:循环变量必须在循环体内变化,只有满足了这个要求,循环变量才能逐渐逼近循环条件的临界点,最终控制循环结束。
4.1.3、循环结构的一个关系
在循环体中可能出现另一些变化的量,我们的解决方法就是去找这些变化的量与循环变量之间的关系,这就是循环结构中的“一个关系”。也就是说,利用循环变量在循环过程中不断变化这个基础,找出变化的量与循环变量之间的演变关系,来确定变化的量。
4.2、循环语句
4.2.1、while语句
while语句是一种控制流语句,用于在给定条件为真时重复执行一段代码块。
基本语法
- 结构:while语句的基本格式是while 判断条件: #执行语句。这里的判断条件是一个布尔表达式,当它评估为True时,循环体内的语句将被执行。
- 循环体:执行语句可以是单个语句或语句块。如果循环体内只有一条语句,可以和while写在同一行,如果有多条语句,需要缩进形成代码块。
判断条件
- 表达式:判断条件通常是比较运算符或逻辑运算符组成的表达式。只要这个表达式的值为True,循环就会继续执行。
- 更新:通常在循环体内部会包含至少一个语句来修改判断条件中的变量,以避免造成无限循环。
流程控制
- break和continue:在while循环中,可以使用break来立即退出循环,使用continue来跳过当前迭代的剩余部分并进入下一次循环。
- else子句:在while循环后可以使用可选的else子句,当循环正常结束(而非由于break)时,会执行else块中的代码。
注意事项
- 避免无限循环:确保循环有一个明确的退出条件,否则可能会造成程序挂起或过高的资源消耗。
- 变量作用域:在循环内部定义的变量将影响循环的行为,应谨慎管理这些变量的作用域和值。
s = 0
b = 1
while b < 10:s = s + bb += 1print("1+2+3+4+5+6+7+8+9=",s)D:\pythonLED\python.exe E:/pythonProject/1.py
1+2+3+4+5+6+7+8+9= 1
1+2+3+4+5+6+7+8+9= 3
1+2+3+4+5+6+7+8+9= 6
1+2+3+4+5+6+7+8+9= 10
1+2+3+4+5+6+7+8+9= 15
1+2+3+4+5+6+7+8+9= 21
1+2+3+4+5+6+7+8+9= 28
1+2+3+4+5+6+7+8+9= 36
1+2+3+4+5+6+7+8+9= 45
capital = 10000
interest = 0.008
t = 1
while capital <= 100000:capital = capital * (1 + interest)t += 1
print(t)D:\pythonLED\python.exe E:/pythonProject/1.py
290
while True:print("当前计数为:", count)count += 1if count == 5:print("计数达到5,跳过本次迭代")continueif count == 10:print("计数达到10,退出循环")breakD:\pythonLED\python.exe E:/pythonProject/1.py
当前计数为: 0
当前计数为: 1
当前计数为: 2
当前计数为: 3
当前计数为: 4
计数达到5,跳过本次迭代
当前计数为: 5
当前计数为: 6
当前计数为: 7
当前计数为: 8
当前计数为: 9
计数达到10,退出循环
4.3.1、for语句
for语句在Python编程中扮演着核心角色,特别是在处理集合数据时,其简洁的语法和强大的功能使得它成为最常用的控制流结构之一。
基本语法与结构:
- for语句的基本语法格式是for 变量 in 序列: #执行的代码块。这里的“变量”会依次从“序列”中取值,每取一个值执行一次代码块中的语句。
- 例如,使用for循环遍历一个包含五个元素的列表,可以按照for i in [0, 1, 2, 3, 4]: print(i)的形式编写代码。
遍历与操作:
- 当序列为字符串时,for循环可以逐个字符地遍历字符串。例如,for char in “Hello”: print(char)将会分别输出字符’H’, ‘e’, ‘l’, ‘l’, ‘o’。
- 如果需要在遍历过程中获取元素的索引,可以使用内置函数enumerate()。例如,for index, value in enumerate([“a”, “b”, “c”]): print(index, value)会输出每个元素的索引和值。
range()与循环次数:
- range()函数常与for循环一起使用,以指定循环的次数。例如,for i in range(5): print(i)将打印数字0到4,适用于需要在确定次数内重复执行代码的场景。
- range()函数还支持设置起始值,结束值以及步长,例如range(1, 10, 2)生成一个从1开始到10(不含)结束的序列,步长为2。
嵌套循环与复杂控制:
- for循环可以嵌套使用,以处理更复杂的任务。例如,打印一个乘法表可以利用两层for循环来实现:for i in range(1, 10): for j in range(1, i+1): print(f"{j}x{i}={j*i}“, end=” ")。
- 类似于while循环,for循环也可以使用break和continue语句来控制循环的流程。break用于完全退出循环,而continue用于跳过当前迭代。
错误与避免无限循环:
- 在使用for循环时,应注意防止因逻辑错误导致的无限循环。尽管for循环由于其明确的迭代次数而较少遇到此类问题,但错误的循环终止条件仍然可能导致程序挂起。
s = 0
for i in range(1,11):s = s + i
print("1+2+3+4+5+6+7+8+9=",s)D:\pythonLED\python.exe E:/pythonProject/1.py
1+2+3+4+5+6+7+8+9= 55
s = 0
i = 1
t = 1
while abs(t) >= 10 ** (-5):t = (1 / (2 * i - 1)) * (-1) ** (i + 1)s += ti = i + 1
pi = s * 4
print("pi=",pi)D:\pythonLED\python.exe E:/pythonProject/1.py
pi= 3.141612653189785
五、程序异常处理
程序中的错误分为语法错误和逻辑错误,语法错误是程序中使用的语句格式存在错误,这些错误必须在程序执行前纠正,纠正程序的语法错误后,剩下的就是逻辑错误;产生逻辑错误的原因有很多种,可能是算法设计时考虑不周,或是输入不当;当python检测到一个错误时,python解释器就会中断程序允行,并在控制台给出错误信息,这种情况称为异常。
为了让程序在运行时具有更强的稳健性,不因异常中断运行,开发人员会在设计程序时加入一些异常处理语句,这种操作就称为异常处理。
5.1、python中常见的异常类型
TypeError
- 描述:当操作或函数应用于不适当类型的对象时引发。例如,将字符串和整数进行加法运算会触发此异常。
- 示例:a = 5 + ‘10’。这里尝试将一个整数和一个字符串相加,由于类型不匹配,Python会抛出TypeError。
ValueError
- 描述:当函数或操作的参数具有正确的类型但是值不合法时引发。例如,尝试将非数字字符串转换为整数会触发此异常。
- 示例:int(‘abc’)。这里尝试将字符串’abc’转换为整数,由于’abc’无法被解析为有效的整数值,因此会抛出ValueError。
NameError
- 描述:当尝试访问一个未定义的变量时,会抛出此异常。
- 示例:print(x),其中x是未定义的变量,Python会因为找不到变量x的定义而抛出NameError。
IndexError
- 描述:当尝试访问列表、元组或字符串中不存在的索引时引发。这通常发生在尝试访问超出序列范围的索引时。
- 示例:a = [1, 2, 3]; print(a[3])。由于列表a只有三个元素,试图访问第四个元素(索引为3)时,将抛出IndexError。
KeyError
- 描述:当尝试访问字典中不存在的键时引发。此异常用于处理字典中的键查找异常情况。
- 示例:d = {‘a’: 1, ‘b’: 2}; print(d[‘c’])。在字典d中尝试访问键’c’,由于该键不存在,因此会抛出KeyError。
ZeroDivisionError
- 描述:当尝试除以零时引发。这是数学中的基本错误,任何数除以0都是未定义的。
- 示例:a = 5 / 0。这里尝试将5除以0,由于除数不能为零,因此会引发ZeroDivisionError。
try:num = eval(input("请输入一个整数:"))print(num + "a")
except NameError:print("输入错误,请输入一个整数:")
except:print("其他错误!")D:\pythonLED\python.exe E:/pythonProject/1.py
请输入一个整数:ss
输入错误,请输入一个整数:
try:num = eval(input("请输入一个整数:"))print(num + "a")
except NameError:print("输入错误,请输入一个整数:")
except:print("其他错误!")D:\pythonLED\python.exe E:/pythonProject/1.py
请输入一个整数:5
其他错误!
try:num = eval(input("请输入一个整数:"))print(num + "a")
except NameError:print("输入错误,请输入一个整数:")
except:print("其他错误!")
else:print("没有异常报错!")
finally:print("程序执行完毕!")D:\pythonLED\python.exe E:/pythonProject/1.py
请输入一个整数:s
输入错误,请输入一个整数:
程序执行完毕!
try:num = eval(input("请输入一个整数:"))print(num + "a")
except NameError:print("输入错误,请输入一个整数:")
except:print("其他错误!")
else:print("没有异常报错!")
finally:print("程序执行完毕!")D:\pythonLED\python.exe E:/pythonProject/1.py
请输入一个整数:5
其他错误!
程序执行完毕!
相关文章:
python程序控制结构
文章目录 一、python程序控制结构介绍二、顺序结构2.1、print()函数2.2、end参数2.3、input()函数 三、选择结构3.1选择结构的用途 四、循环结构4.1循环结构的构造4.1.1、循环结构的三个要素4.1.2、循环结构的一个要求4.1.3、循环结构的一个关系 4.2、循环语句4.2.1、while语句…...
【GD32】04 - Timer定时器
GD32中的定时器 GD32E230中有七个定时器,六种类型,其中通用的L4版本有两个,其他类型的各一个。 那我们就以通用L4这个类型来敲代码,其他流程是通用的。 通用L4 虽然每种类型的定时器都有自己的结构框图,但是其实大差…...
Golang | Leetcode Golang题解之第123题买卖股票的最佳时机III
题目: 题解: func maxProfit(prices []int) int {buy1, sell1 : -prices[0], 0buy2, sell2 : -prices[0], 0for i : 1; i < len(prices); i {buy1 max(buy1, -prices[i])sell1 max(sell1, buy1prices[i])buy2 max(buy2, sell1-prices[i])sell2 m…...
Leetcode2028. 找出缺失的观测数据
Every day a Leetcode 题目来源:2028. 找出缺失的观测数据 解法1:模拟 统计当前 m 个元素的总和 curSum sum(rolls),总共 mn 个元素和为 total (m n) * mean。 排除 2 种情况: total - curSum > 6 * n:n 个…...
如何在CentOS中合理划分磁盘空间以优化系统性能
目录 前言 理想的分区方案 为什么需要单独分区 安全性 性能 管理和维护 稳定性和可靠性 升级和兼容性 结论 前言 在进行CentOS系统的安装和配置时,合理划分磁盘空间是确保系统性能、安全性和易于管理的关键步骤。本文将探讨如何根据系统的硬件配置和预期用途…...
算法(十一)贪婪算法
文章目录 算法简介算法概念算法举例 经典问题 -背包问题 算法简介 算法概念 贪婪算法(Greedy)是一种在每一步都采取当前状态下最好的或者最优的选择,从而希望导致结果也是全局最好或者最优的算法。贪婪算法是当下局部的最优判断,…...
Rust之函数式语言特性:迭代器和闭包(一):概述
开发环境 Windows 11Rust 1.78.0 VS Code 1.89.1 项目工程 这次创建了新的工程minigrep. 函数式语言特性:迭代器和闭包 Rust的设计从许多现有语言和技术中获得了灵感,其中一个重要影响是函数式编程。函数式编程通常包括通过在参数中传递函数、从其他函数返回函数、…...
配置资源管理
一 Secret Secret 是用来保存密码、token、密钥等敏感数据的 k8s 资源,这类数据虽然也可以存放在 Pod 或者镜像中,但是放在 Secret 中是为了更方便的控制如何使用数据,并减少暴露的风险。 1 有三种类型: kubernetes.io/service…...
unity2020打包webGL时卡进程问题
我使用的2020.3.0f1c1,打包发布WEB版的时候会一直卡到asm2wasm.exe这个进程里,而且CPU占用率90%以上。 即使是打包一个新建项目的空场景也是同样的问题,我尝试过一直卡在这里会如何,结果还真打包成功了。只是打包一个空场景需要20…...
云原生架构相关技术_3.无服务器技术
1.技术特点 1.1面向特定领域的后端云服务(BaaS) 随着以Kubernetes为代表的云原生技术成为云计算的容器界面,Kubernetes成为云计算的新一代操作系统。面向特定领域的后端云服务(BaaS)则是这个操作系统上的服务API&…...
Leetcode:Z 字形变换
题目链接:6. Z 字形变换 - 力扣(LeetCode) 普通版本(二维矩阵的直接读写) 解决办法:直接依据题目要求新建并填写一个二维数组,最后再将该二维数组中的有效字符按从左到右、从上到下的顺序读取并…...
Python 3 判断文件是否存在
1 使用os.path模块 import osfile_path hello.txtif os.path.exists(file_path):print(f"文件 {file_path} 存在。") else:print(f"文件 {file_path} 不存在。") 2 使用pathlib模块 from pathlib import Pathfile_path Path(word.txt)if file_path.ex…...
(深度学习记录)第TR3周:Transformer 算法详解
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 文本的输入处理中,transformer会将输入文本序列的每个词转化为一个词向量,我们通常会选择一个合适的长度作为输入…...
谷神前端组件增强:自定义列
初始化 $gp.customColumn {}initColumnPool /*** initColumnPool* 初始化列池* * param prefix 前缀* param length 长度* * return Array 列ID数组* */ function initColumnPool (prefix, length) {return Array.from({length}, (value, index) > prefix index) } self…...
31-ESP32-S3-WIFI篇-02 Event Group (事件标记组)
ESP32-S3-WIFI 事件标记组 介绍 在ESP32-S3的WiFi驱动程序中,事件标记组(Event Group)是一个非常重要的概念。它是FreeRTOS中的一种同步机制,用于在任务之间传递和同步事件。在WiFi驱动程序中,我们使用事件标记组来通…...
构建企业级AI私有知识库
一、引言 在当今竞争激烈的市场环境中,企业为了保持竞争优势,需要高效地管理和利用内部知识资源。构建一个企业级AI私有知识库,不仅可以集中存储和管理企业知识,还能通过人工智能技术实现知识的智能化处理和利用。本文将详细介绍…...
C语言王国——杨氏矩阵
目录 1. 引言 2. 了解杨氏矩阵 3. 思路分析 4. 代码 5. 总结 1. 引言 最近在做二维数组的训练的时候发现了一个很有意思的题: 一看这不是杨氏矩阵嘛,接下来就由姜糖我带大家了解一下这个著名的矩阵。 2. 了解杨氏矩阵 通过查阅百度得知: …...
陪玩小程序都需要怎么做?
开发陪玩小程序需要进行全面的需求分析、功能规划、技术选型、界面设计等一系列步骤。陪玩小程序作为一种新兴的网络服务平台,为用户提供了寻找游戏伙伴、预约陪玩服务等功能,满足了用户在游戏领域的社交互动和技能提升需求。具体分析如下: 需…...
postgressql——子事务可见性判断 性能问题(8)
子事务可见性判断 & 性能 测试SQL BEGIN; PREPARE sel(integer) ASSELECT count(*)FROM contendWHERE id BETWEEN $1 AND $1 + 100; PREPARE upd(integer) ASUPDATE contend SET val = val + 1WHERE id IN ($1, $1 + 10, $1 + 20, $1 + 30);SAVEPOINT a; \set rnd random…...
20240531在飞凌的OK3588-C开发板上跑原厂的Buildroot测试USB摄像头
20240531在飞凌的OK3588-C开发板上跑原厂的Buildroot测试USB摄像头 2024/5/31 20:04 USB摄像头分辨率:1080p(1920x1080) 默认编译Buildroot的SDK即可点亮USB摄像头。v4l2-ctl --list-devices v4l2-ctl --list-formats-ext -d /dev/video74 …...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...
Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
