python 基础(笔记)

文章目录

      • 1. 环境安装
      • 2. 第一个程序 hello word
      • 3. 注释
      • 4. 变量
        • 4.1 变量声明
        • 4.2 命名规则
        • 4.3 命名规范
      • 5. 运算符
        • 5.1 算术运算符
        • 5.2 赋值运算符
        • 5.3 比较运算符
      • 6. 数据类型
        • 6.1 数据类型
        • 6.2 数据类型的转换
      • 7. 字符串操作
        • 7.1 字符串定义的几种方式
        • 7.2 字符串拼接
        • 7.3 字符串格式化
        • 7.4 字符串精度控制
      • 8. 数据输入
      • 9. 语句
        • 9.1 if 判断语句
        • 9.2 循环语句1
          • 9.2.1 while 循环
          • 9.2.2 for 循环
        • 9.3 循环语句2
          • 9.3.1 range 语句
          • 9.3.2 for 循环临时变量作用域
          • 9.3.3 continue 与 break
      • 10. 函数
        • 10.1 函数的作用
        • 10.2 函数的定义
        • 10.3 函数的描述
        • 10.4 函数的嵌套
        • 10.5 全局变量与局部变量
        • 10.6 函数案例,ATM 机
      • 11. 数据容器
        • 11.1 列表
          • 11.1.1 列表的定义
          • 11.1.2 列表的基本操作
          • 11.1.3 列表的方法
          • 11.1.4 列表的遍历
        • 11.2 元组
          • 11.2.1 元组的定义
          • 11.2.2 元组的基本操作
          • 11.2.3 元组的方法
          • 11.2.4 元组的遍历
        • 11.3 字符串
          • 11.3.1 字符串的基本操作
          • 11.3.2 字符串的方法
          • 11.3.3 字符串的遍历
        • 11.4 序列的切片
          • 11.4.1 序列的定义
          • 11.4.2 序列的操作
        • 11.5 集合
          • 11.5.1 集合的定义
          • 11.5.2 集合的方法

1. 环境安装

  • 需要安装 python 解析器(解析器是吧 python 语言,解析成计算机可以认识的01代码)、代码编辑器(方法编写 python 代码)
  • 解析器下载 exe 直接双击安装即可
  • 编辑器需要去官网下载 PyCharm 面向专业开发者的 Python IDE

2. 第一个程序 hello word

# 以下代码会打印一个 hello word
print("hello word")

3. 注释

# 我是单行注释"""我是多行注释
"""

4. 变量

4.1 变量声明
# 此时 num 就是一个变量,变量可以被修改也可以做运算等
num = 123
4.2 命名规则
  1. 内容限定,限定只能使用:中文、英文、数字、下划线,注意:不能以数字开头
  2. 区分大小写
  3. 不可使用关键字,True、False、None、and、as、if、import、yield… 等
4.3 命名规范
  1. 见名知意
  2. 下划线命名法
  3. 一个单词字母全小写

5. 运算符

5.1 算术运算符
运算符描述示例
+10 + 10 = 20
-10 - 5 = 5
*10 * 10 = 100
/10 / 10 = 1
//取整除9 // 2 = 4
%去余9 % 2 = 1
**指数2 ** 3 = 8
5.2 赋值运算符
运算符描述解释
=赋值运算符直接赋值
+=、-=、*=、/=、%=、**=、//=复合赋值运算符先本身和后面的数值进行计算,在赋值给自己
num += 3 # num = num + 3
5.3 比较运算符
运算符描述实例
==比较左右两边是否相等,返回布尔值3 == 3 为 True
!=比较左右两边是否不相等,返回布尔值3 != 3 为 False
>比较左边是否大于右边,返回布尔值5 > 3 为 True
<比较左边是否小于右边,返回布尔值5 < 3 为 False
>=比较左边是否大于等于右边,返回布尔值4 >= 4 为 True
<=比较左边是否小于等于右边,返回布尔值5 <= 4 为 False

6. 数据类型

6.1 数据类型

type(xxx):可以用于查看数据类型

列:

  • type(123) ==> <class 'int'>
  • type(123.123) ==> <class 'float'>
  • type(True) ==> <class 'bool'>
类型描述说明
数字(Number)支持: 整数(int)、浮点数(float)、复数(complex)、布尔(bool)整数:10、-10,浮点数:13.14、-13.14,复数:4+3j,以 j 结尾表示复数,布尔:既真和假,True 表示为真记作1,False 表示假记作0
字符串(String)描述文本的一种数据类型字符串由任意数量的字符组成
列表(List)有序的可变序列Python 中使用最频繁的数据类型,可有序记录一堆数据
元组(Tuple)有序的不可变序列可有序的记录一堆不可变的 Python 数据集合
集合(Set)无序不重复集合可无序的记录一堆不重复的 Python 数据集合
字典(Dictionary)无序的 Key-Value 集合可无序记录一堆 Key-Value 型的 Python 数据集合
6.2 数据类型的转换
  • int(x):将 x 转换为 int 类型,x 有限制,当 x 为字符时,字符内容只能为纯数字,不然会报错
  • float(x):将 x 转换为 float 类型,x 有限制
  • str(x):将 x 转换为 str 类型,x 没有限制

7. 字符串操作

7.1 字符串定义的几种方式
  • 单引号定义
    'hello word'
    
  • 双引号定义
    "hello word"
    
  • 三引号定义
    # 三引号的方式,如果不用变量接收那么就是多行注释,如果用变量接收就是多行字符串,*三引号定义建议使用双引号
    s = """hello wordhello word
    """
    
  • 引号之间的嵌套
    # \ 为转义字符,把特殊字符当做字符使用
    "'hello word'"
    '"hello word"'
    "\"hello word\""
    '\'hello word\''
    
7.2 字符串拼接
# 字符串拼接都是使用 + 号,可以字符串与字符串拼接,也可以和变量拼接
h = "hello"
w = "word"h + w
h + "word"
"hello" + "word"
7.3 字符串格式化
  • %s 插入字符,“hello %s” % “word”
  • %:表示占位
  • s:表示插入的位置
# 如果为多个 %s,后面则需要一个小括号一一对应
print("大家好我叫%s,今年%s岁了" % ("张三", 18))
格式符号转化
%s将内容转换成字符串,放入占位位置
%d将内容转换成整数,放入占位位置
%f将内容转换成浮点数,放入占位位置
  • f"内容{变量}":第二种插入方式,字符串前面加上一个 f 可以直接使用变量
7.4 字符串精度控制
  • 以下代码将内容转换成浮点数会出现精度丢失的问题
    print("大家好我叫%s,今年%f岁了" % ("张三", 18))
    # 大家好我叫张三,今年18.000000岁了
    
  • 需要对数字做精度控制,我们可以使用辅助符号 “m.n” 来控制数据的宽度和精度
    • m:控制数字整数部分的长度,设置的长度小于数字的长度,不生效,大于则空格补齐
    • n:控制数字小数部分精度,设置的长度小于小数的长度,四舍五入,大于则零补齐`
    • 例:"%7.2f" % 15.146 ==> [空格][空格]15.15(一共有七个字符长度)

8. 数据输入

  • input(“提示内容”)
  • input() 会中断程序的执行,等到键盘按下回车,才会执行后续的代码
  • input() 输入的内容始终为字符串
    name = input("请输入你的名字")print(f"你的名字是:{name}")
    

9. 语句

9.1 if 判断语句
  • if
    """语法(根据 tab 来判断是否属于当前 if 语句,规范为 4 个空格)if 判断条件:满足条件执行结果满足条件执行结果不受 if 的约束
    """# 代码示例,只有最后一个 print 才会打印
    age = 16if age > 18:print("我已经成年了")print("我长大了")print("我不知道我多少岁")
    
  • else
    """
    语法if 判断条件:满足条件执行结果
    else:不满足条件执行结果
    """
    
  • if elif else
    """
    语法注意一个语句中只会执行一个条件,如果多个条件同时满足,执行最先匹配的
    if 判断条件:满足条件执行结果
    elif 判断条件:满足条件执行结果
    ...elif
    else:不满足条件执行结果
    """
    
  • if 嵌套
    # 嵌套也是根据 tab 来判断的
    if True:print("第一层if开始")if True:print("第二层if")print("第一层if结束")print("最外层if")
    
9.2 循环语句1
9.2.1 while 循环
# 如果条件一直满足就会一直执行,嵌套和 if 用法一样,这里就不一一叙述了
while 条件:满足条件执行结果
9.2.2 for 循环
"""
# 嵌套和 while 用法一样
待处理的数据集(序列类型),字符串、列表、元组...for 临时变量 in 待处理的数据集:
"""
name = "abcd"for k in name:print(k)# a
# b
# c
# d
9.3 循环语句2
9.3.1 range 语句
  • 作用:获得一个数字序列
  • 语法:
    • range(num):获取一个从 0 ~ num - 1 的数字序列
    • range(num1, num2):获取一个从 num1 ~ num2 - 1 的数字序列
    • range(num1, num2, step):步长不在是 1 了,比如 (5, 10, 2) ==> 5、7、9
for i in range(5)print(i)# 0
# 1
# 2
# 3
# 4
9.3.2 for 循环临时变量作用域
# 这种情况外层的 print 语句是可以访问到变量 i 的,但是规范上不建议这么做
for i in range(3):print(i)print("我是外层的i", i)# 0
# 1
# 2
# 我是外层的i 2# 最好是在外层在定义一个 i
i = 0
for i in range(3):print(i)print("我是外层的i", i)
9.3.3 continue 与 break
  • continue 与 break 都是对当前层的影响
  • continue 跳过当前循环
    for i in range(3):print("我是前面的", i)continueprint("我是后面的", i)# 我是前面的 0
    # 我是前面的 1
    # 我是前面的 2
    
  • break 结束循环语句
    for i in range(3):print("我是前面的", i)breakprint("我是后面的", i)# 我是前面的 0
    

10. 函数

10.1 函数的作用
  • 将功能封装在函数内,可供随时随地的重复利用
  • 提高代码的复用性,减少重复代码,提高开发效率
10.2 函数的定义
  • 函数调用时传入的实参与形参对应
  • 函数 return 的值,调用时可以接收到,如果不写 return 默认返回 None
  • 在当前作用域中如果 return 后面还有代码,则 return 后面的代码不会执行
  • 函数要先定义才能使用
def 函数名称(形参1, 形参2):# 函数体 code# 函数返回return ""# 函数调用
函数名称(实参1, 实参2)
10.3 函数的描述
# 键盘敲三个 ",然后回车,编辑器直接会出当前参数和返回值的架子,需要自行添加详细描述
def add(a, b):"""两数相加:param a: 参数1:param b: 参数2:return: 返回两个数的和"""return a + b
10.4 函数的嵌套
# 代码从上向下依次执行
def a():print("我第二个执行")def b():print("我第一个执行")a()print("我第三个执行")b()# 我第一个执行
# 我第二个执行
# 我第三个执行
10.5 全局变量与局部变量
# 函数中定义的变量外部无法访问
def a():num = 100
a()
print(num) # name 'num' is not defined# 函数中无法修改全局的变量(但是可以拿到),下面这段代码函数 a 中的 num 相当于又在局部声明了一个
num = 50
def a():num = 100
a()
print(num) # 50# global 关键字,设置内部的变量为全局变量
num = 50
def a():global numnum = 100
a()
print(num) # 100
10.6 函数案例,ATM 机
"""初始账户有 5000重复一下操作直到退出,1:查看余额,2:存款,3:取款,4:退出
"""money = 5000
name = input("请输入您的名称")
flag = Truedef view():"""查看余额:return:"""print(f"{name}的余额为{money}")def save():"""存款:return:"""num = int(input("请输入存款金额"))global moneymoney += numdef take():"""取款:return:"""num = int(input("请输入取款金额"))global moneyif num > money:print("取款失败,账号没有这么多余额")else:money -= numdef main():"""主程序:return:"""i = int(input("请输入您的操作,1:查看余额,2:存款,3:取款,4:退出"))if i == 1:view()elif i == 2:save()elif i == 3:take()else:global flagflag = Falsewhile flag:main()

11. 数据容器

11.1 列表
11.1.1 列表的定义
# 字面量
[元素1, 元素2, 元素3, 元素4, ...]# 定义变量
变量名称 = [元素1, 元素2, 元素3, 元素4, ...]# 定义空列表
变量名称 = []
变量名称 = list()
11.1.2 列表的基本操作
# 定义一个普通列表
arr1 = ["元素1", "元素2", "元素3", "元素4"]# 定义一个嵌套列表
arr2 = ["元素1", ["元素2_1", "元素2_2"], "元素3"]# 通过列表下标获取列表中的数据
# 从左向右 0、1、2、... ,从右向左 -1、-2、-3、...
print(arr1[0]) # 元素1
print(arr1[-1]) # 元素4# 或者嵌套列表中的数据
print(arr2[1][0]) # 元素2_1# 获取超出范围的内容,会报错
print(arr[4]) # IndexError: list index out of range# 修改列表中某个元素的值
arr1[0] = "我是修改的值"# 删除列表中某个元素的值
del arr1[0]# 获取列表的长度
len(arr)
11.1.3 列表的方法
# 注,列表统一使用 arr
arr = [1, 2, 3]
方法名称作用示例返回值原列表
index查找指定元素的下标arr.index(1)列表索引,0[1, 2, 3]
count统计传入元素的数量arr.count(2)统计数量,1[1, 2, 3]
insert在指定位置插入元素arr.insert(1, 666)None[1, 666, 2, 3]
append在列表尾部添加单个元素arr.append(666)None[1, 2, 3, 666]
extend在列表尾部添加多个元素arr.extend([666, 777])None[1, 2, 3, 666, 777]
pop删除指定位置的元素arr.pop(0)删除的元素[2, 3]
remove从左向右搜索并删除第一个指定元素arr.remove(1)None[2, 3]
clear清空列表arr.clear()None[]
11.1.4 列表的遍历
arr = [21, 25, 21, 23]# while 循环遍历
i = 0
while i < len(arr):print(arr[i])i += 1
# 21
# 25
# 21
# 23# for 循环遍历
for i in arr:print(i)
# 结果与 while 循环一致"""区别:while 更灵活for 更简单
"""
11.2 元组
11.2.1 元组的定义
# 元组可以理解为是只读的列表
# 字面量
(元素1, 元素2, 元素3, 元素4, ...)# 定义变量
变量名称 = (元素1, 元素2, 元素3, 元素4, ...)# 定义空元组
变量名称 = ()
变量名称 = tuple()
11.2.2 元组的基本操作
# 定义单个元素的元组,后面一定要加一个逗号
t1 = (元素1, )# 元组的嵌套
t2 = ((元素1_1, 元素1_2, 元素1_3), (元素2_1, 元素2_2, 元素2_3))# 通过下标获取元素
print(t2[0][0]) # 元素1_1# 获取元组的长度
print(len(t2)) # 2# 修改元组中的值会报错
t2[0][0] = "改变的值" # 'tuple' object does not support item assignment# 但是元组中嵌套列表是可以修改的
t = (1, 2, [1, 2])
t[2][0] = 2
t[2][1] = 4
11.2.3 元组的方法
# 注,元组统一使用 t
t = (1, 2, 3)
方法名称作用示例返回值
index查找指定元素的下标t.index(1)列表索引,0
count统计传入元素的数量t.count(2)统计数量,1
11.2.4 元组的遍历
t = (2, 4, 6)# while 循环
i = 0
while i < len(t):print(t[i])i += 1# for 循环
for i in t:print(i)
11.3 字符串
11.3.1 字符串的基本操作
# 字符串也可以像列表一样通过下标去获取,字符串也是一个只读属性
s = "hello word"print(s[0]) # h
print(s[-1]) # d# 返回字符串的长度
print(len(s)) # 10
11.3.2 字符串的方法
# 注,字符串统一使用 s
s = "hello word"
方法名称作用示例返回值
index查找指定元素的下标s.index(“ll”)列表索引,2
replace将字符串进行替换s.replace(“ll”, “hh”)新的字符串,“hehho word”
split将字符串按指定形式进行分割s.split(" ")列表,[“hello”, “word”]
strip将字符串首尾的字符按指定形式清除“12121266666212121”.strip(“12”),
传入的参数是单个识别的,是存在1、2 都清除,而不是12,
如果不传参数默认清除的是首尾的空格
新的字符串,“66666”
count统计字符串出现的次数s.count(“l”)次数,2
11.3.3 字符串的遍历
# 字符串的遍历和列表、元组的遍历是一样的,这里就不演示了
11.4 序列的切片
11.4.1 序列的定义
  • 内容连续、有序、可使用下标索引的一类数据容器
  • 列表、元组、字符串都可以视为序列
11.4.2 序列的操作
  • 语法:序列[起始下标:结束下标:步长]
  • 起始下标
    • 表示从何处开始(包含开始位置),可以为空,为空表示从头开始
  • 结束下标
    • 表示从何处结束(不含结束位置),可以为空,为空表示一直到最后
  • 步长
    • 步长不写默认为 1,为 1 表示一个个的取元素
    • 为 2 表示,每次跳过 1 个元素取
    • 为负数表示反相取,起始下标和结束下标也要反向标记
arr = [1, 2, 3, 4, 5, 6, 7]print(arr[0:3]) # 包含 0,不包含 3,[1, 2, 3]print(arr[::]) # 全部使用默认值,[1, 2, 3, 4, 5, 6, 7] print(arr[::-1]) # 相当于倒序,[7, 6, 5, 4, 3, 2, 1]print(arr[::2]) # 隔一个取,[1, 3, 5, 7]print(arr[4:2:-1]) # 倒着截取,[5, 4]
11.5 集合
11.5.1 集合的定义
# 定义集合
s1 = {元素1, 元素2, 元素3, 元素4, ...}# 定义空集合
s2 = {}
s3 = set()# 获取集合的长度
len(s1)
11.5.2 集合的方法
#  注,集合统一使用 s1、s2
s1 = {1, 2, 3}
s2 = {4, 5, 6}
方法名称作用示例返回值原集合
index查找指定元素的下标arr.index(1)列表索引,0[1, 2, 3]
count统计传入元素的数量arr.count(2)统计数量,1[1, 2, 3]
insert在指定位置插入元素arr.insert(1, 666)None[1, 666, 2, 3]
append在列表尾部添加单个元素arr.append(666)None[1, 2, 3, 666]
extend在列表尾部添加多个元素arr.extend([666, 777])None[1, 2, 3, 666, 777]
pop删除指定位置的元素arr.pop(0)删除的元素[2, 3]
remove从左向右搜索并删除第一个指定元素arr.remove(1)None[2, 3]
clear清空arr.clear()None[]

更新中…

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

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

相关文章

CentOS-Stream-9配置chfs

在/chfs目录下运行&#xff0c;下载出错&#xff0c;所以换个目录&#xff0c;例如/cute。 mkdir /cute cd /cute wget http://iscute.cn/tar/chfs/3.1/chfs-linux-386-3.1.zip unzip chfs-linux-386-3.1.zip firewall-cmd --add-servicehttp --permanent firewall-cmd --reloa…

蓝桥杯国赛每日一题:地牢大师(BFS)

题目描述&#xff1a; 你现在被困在一个三维地牢中&#xff0c;需要找到最快脱离的出路&#xff01; 地牢由若干个单位立方体组成&#xff0c;其中部分不含岩石障碍可以直接通过&#xff0c;部分包含岩石障碍无法通过。 向北&#xff0c;向南&#xff0c;向东&#xff0c;向…

RS485空调系统到BACnet江森楼宇系统的高效整合攻略

智慧城市的每一栋建筑都在追求更高的能效与更佳的居住体验&#xff0c;而这一切的实现离不开强大且灵活的楼宇自动化系统。其中&#xff0c;协议转换网关作为连接不同设备的纽带&#xff0c;扮演着至关重要的角色。本文将以一个典型的商业综合体为例&#xff0c;揭秘BACnet协议…

【案例】使用Vue实现拖拽课表

效果展示 效果说明 点击左侧的课程并进行拖拽&#xff0c;拖拽到要开设本课程的地方然后松手&#xff0c;即可将本节课设置为当前所拖拽的科目并且背景色为当前科目的背景色&#xff0c;当多次拖拽到同一节课的时候将会实现后者覆盖前者的效果。 效果实现代码 第一步&#x…

机器学习模型评估与优化技巧

机器学习模型的评估与优化是确保模型在实际应用中表现良好的关键步骤。以下是一些常用的评估与优化技巧&#xff0c;旨在提高模型的准确性、鲁棒性和效率。 ### 1. 数据预处理 - **数据清洗**&#xff1a;移除或填充缺失值&#xff0c;处理异常值&#xff0c;确保数据质量。 -…

Peter算法小课堂—序列切割

讲序列切割之前&#xff0c;先来个铺垫 高手集训 题目描述&#xff1a; 课程表里有连续的n天可以供你选择&#xff0c;每天都有专题课程。其中第i天的专题趣味程度为h[i]。假设你选择了其中连续的若干天&#xff0c;从第l天到第r天。那么&#xff0c; 训练效果 h[l]*1 h[…

HTML的使用(上)

文章目录 前言一、HTML是什么&#xff1f;二、使用内容 &#xff08;1&#xff09;换行标记<br>&#xff08;2&#xff09;加粗标记<b> </b>&#xff08;3&#xff09;段落标记<p> </p>&#xff08;4&#xff09;标题标记<h1>~<h6> …

Express框架下搭建GraphQL API

需要先下载apollo-server-express&#xff0c;apollo-server-express是Express框架下&#xff0c;用于构建GraphQL服务的中间件&#xff0c;属于Apollo Server的一部分&#xff1a; npm install apollo-server-express 随后在index.js添加 apollo-server-express包&#xff1…

免杀的基本概念

木马的本质就是shellcode&#xff0c;免杀就是反病毒技术&#xff08;杀毒软件&#xff09;&#xff0c;它指的是一种使病毒木马免于被杀软 查杀的技术&#xff0c;由于免杀技术的涉猎范围非常广&#xff0c;其中包含汇编、逆向工程、系统漏洞&#xff08;C/C&#xff09;等和可…

找不到iutils.dll怎么解决,需要如何修复

iutils.dll 是一个系统级的动态链接库&#xff08;Dynamic Link Library&#xff09;文件&#xff0c;通常与Windows操作系统中的应用程序运行密切相关。动态链接库文件如同一个代码库&#xff0c;存储了多个程序可以共享的功能和指令。iutils.dll具体提供了哪些功能可能依据它…

javascript 实现 阻塞/睡眠/耗时 几秒

有时前端想实现 代码停止几秒再执行后续代码&#xff0c;可能会受到异步执行的困扰。 那下面的方法就可以实现同步阻塞的效果&#xff0c;把阻塞的代码放到blockForThreeSeconds().then(()中即可 //阻塞2秒函数function blockForThreeSeconds() {return new Promise(resolv…

嵌入式学习——51单片机——(UART串口通信)day18

1. 单片机中的串口通信—51单片机中串行t通信的波特率发生器由定时器1来产生—&#xff08;&#xff09; 电脑发送USB信号 单片机发送TTL信号 1.1 单片机向电脑发送信息 单片机由P3.1 TxD 向电脑发送TTL电平信号&#xff0c;TTL信号经过CH340转化为USB信号发送到电脑上 1.2 …

LeetCode 每日一题 ---- 【2244.完成所有任务需要的最少轮数】

LeetCode 每日一题 ---- 【2244.完成所有任务需要的最少轮数】 2244.完成所有任务需要的最少轮数方法&#xff1a;哈希表贪心 2244.完成所有任务需要的最少轮数 方法&#xff1a;哈希表贪心 用哈希表统计每个等级出现的次数 每次处理优先消费 3 个&#xff0c;m % 3 后&#…

20240514金融读报:超长期特别国债金融消费者保护服务平台数据资产与AIRPA流程

1、发行超长期特别国债支持“两重”建设&#xff08;国家重大战略实施和重点领域安全能力建设&#xff09; 2、金融消费者保护服务平台上线试运行&#xff0c;开通投诉处理和纠纷调解两项功能 3、万亿元超长期特别国债将呈现小额频发的特点。作用&#xff1a;他通过扩充政府融资…

使用yocto进行linux开发有什么优势? 使用yocto开发linux为什么不用关心硬件?

原文链接&#xff1a;https://blog.csdn.net/weixin_43435675/article/details/131373308 当你拿到一块新的开发板时&#xff0c;你需要先确定这块开发板的型号和芯片类型。可以通过查看开发板上的标识、参考手册或者厂商提供的相关信息来获取。 配置Yocto需要完成以下几个步…

百度文心一言 java 支持流式输出,Springboot+ sse的demo

参考&#xff1a;GitHub - mmciel/wenxin-api-java: 百度文心一言Java库&#xff0c;支持问答和对话&#xff0c;支持流式输出和同步输出。提供SpringBoot调用样例。提供拓展能力。 1、依赖 <dependency> <groupId>com.baidu.aip</groupId> <artifactId…

【Java应用】Java提取B站视频教程详情(完整代码|下载可直接运行|自带页面|可直接复制)

提取B站视频教程详情 背景 B站这个视频列表是真的体验感太差了,有时候想把章节复制下来,再对应的章节下面做笔记,实在是太难搞了,于是就有了这篇文文章 效果图 根据关键字获取视频id public Result videoList(RequestBody VideoDto videoDto) {String keyword videoDto.get…

ArcGIS10.2能用了10.2.2不行了(解决)

前两天我们的推文介绍了 ArcGIS10.2系列许可到期解决方案-CSDN博客文章浏览阅读2次。本文手机码字&#xff0c;不排版了。 昨晚&#xff08;2021\12\17&#xff09;12点后&#xff0c;收到很多学员反馈 ArcGIS10.2系列软件突然崩溃。更有的&#xff0c;今天全单位崩溃。​提示许…

动态代理技术应用场景分析

Mybaits代理Mapper 滑动验证页面 https://juejin.cn/post/6844903841163378701?searchId202405131414243B31C303F8A221DCC2ED

Unity学习笔记---图层

渲染层级 1&#xff0c;调整Sprite Renderer中的Order in Layer可以调整图层层级。 2&#xff0c;在Edit--Project Setting--Graphics中&#xff0c;调整TransParency Sort Mode为Custom Axis&#xff0c; 并将TransParency Sort Axis中的Z值默认的1改为0&#xff0c;将Y改为…