程序设计语言—Python几种语言区别的总结

程序设计语言篇—Python&几种语言区别的总结

文章目录

    • 程序设计语言篇—Python&几种语言区别的总结
    • 一、Python介绍&理解
      • 1.1 Python基础
      • 1.2 Python规范
    • 二、标识符&变量&常量
    • 三、数据类型&运算符和表达式
      • 3.1 数据类型
      • 3.2 运算符&表达式
    • 四、常用的函数&内部函数
      • 4.1 输入输出函数
      • 4.2 常用的内部函数
      • 4.3 自定义函数&调用
    • 五、选择与循环结构
      • 5.1 条件语句
      • 5.2 循环语句
    • 六、最后总结区别&注意点(Java/Python/C/VB)


在线编辑器
在线编辑器
Python教程:Python教程
Python菜鸟教程

一、Python介绍&理解

1.1 Python基础

1、Python定义:面向对象的解释型语言,结合了跨平台性和互动性的高级通用脚本语言。保留了编译器的部分功能,随着程序的运行,解释器也会生成一个完整的目标代码。
2、Python的特点:

  • 易于学习:关键字少,结构简单(没有分号、begin、end等标记→对缩进要求高),有一个明确定义的语法,仅有35个保留字,
  • 易于阅读/维护:结构清晰、源代码易于维护
  • 广泛的标准:有丰富的库,可以跨平台使用,在UNIX和Windows 兼容很好。
  • 互动模式:可以从终端输入执行代码并获得结果的语言、互动的测试和调试代码片断。
  • 可移植:开放源代码,因此Python已经被移植到许多平台。
  • 可扩展:可以结合其他语言,比如使用C或C++完成一段运行很快的关键代码,然后从 Python 程序中调用。
  • 可嵌入:可以将Python 嵌人到 CC++程序,让程序获得“脚本化”的能力。
  • 数据库:Python 提供所有主要的数据库的接口。
  • CUI编程:支持GUI可以创建和移植到许多系统调用。

3、Python的应用领域

  • Web 和Internet 开发:Python 有大量成熟的 Web框架,如 Django、Flask、Bottle、Tornado 等。
  • 科学计算和统计:Python 有像 NumPy、Pandas 这样的科学计算库,完全可以代替R语言和 MATLAB。
  • 人工智能:通用机器学习可以使用sklearm,深度学习有谷歌的TensorFlow和脸书的PyTorch,这些都是业界最流行的 Python机器学习框架。就连著名的阿尔法围棋(AlphaGo)也是使用Python编写的。
  • 桌面界面开发:GUI
  • 软件开发:App
  • 网络爬虫:Python+Matlab

1.2 Python规范

1、行与缩进:严格遵守缩进规则

  • 缩进方式:①单个制表符;②两个空格;③四个空格,不能混用。
  • 缩进定义:每行语句开始前的空白区域,用来表示Python程序间的包含和层次关系。
  • Python中:顶行编写且不留空白,Python不使用{},采用缩进的方式来控制函数、逻辑判断、代码组,同一层次必须使用相同数目的缩进空格数,否则就会报错"unindent does not match any outer indentation level"表示"文本没有对齐"。

2、代码组
定义:对于像if、def、while、class这样的复合语句,第一行以关键字开始,行的末尾以":"结束,在这之后的一行或多行所构成的代码片段叫做代码组,也成为子句。
在代码组中的每一行代码都要遵循相同的缩进规则。

3、注释
定义:代码中辅助性文字,会被编译器或解释器忽略,不会被计算机执行,用于对代码的说明。
注意:注释不能嵌套使用

#单行注释
'''
多行注释
'''
"""
多行注释
"""

4、源代码文件类型
以下这些都可以直接运行,不需要编译或者连接

  • 源代码文件:.py,由Python负责解释
  • 字节代码文件:.pyc,源文件经过编译后生成的文件,不能直接用文本编译器修改,与平台无关,可以在大部分操作系统上运行。(跨平台性)
  • 优化后的字节码文件:.pyo,更像编译型语言里的中间文件。

5、“”>>>":Python语言环境的提示符,表示此符号后可以输入Python语句,没有的是Python语句的执行结果。

二、标识符&变量&常量

标识符命名规则:变量、方法、类等要素命名时使用的字符序列。即凡是自己可以起名字的地方都叫标识符

  • 大小写字母、数字、下划线、汉字,首字符不能是数字(不建议采用中文开头)
  • 变量名之间不能出现空格
  • 区分大小写字母
  • 不能与保留字相同

1、变量:都不需要声明变量,直接使用。
(1)变量的分类:

  • 全局变量:函数之外定义的变量,访问权限:被文件内部的任何函数和外部文件访问【没有Java中的封装性之说】
    建议:全局变量定在文件的开头,或者放到一个专门的文件中,用import引用。
  • 局部变量:在函数之内定义的变量

【与Java区别】java是面向对象的,因此Java中的变量分为成员变量(类的成员之一)、局部变量
(2)变量的赋值方式:赋值操作就是变量声明和定义的过程。一次新的赋值将创建一个新的变量,如果没有赋值,Python认为该变量不存在。

  • Python可以同时为多个变量赋值,如:a,b=1,2
  • 一个变量可以通过赋值指向不同类型的对象。【指向什么类型就是什么类型的变量】
  • 同步赋值语句:a,b=1,2;应用:同时给多个变量赋值,简化互换变量的值

2、常量
Python中没有提供定义常量的保留字,可以自定义一个常量类来实现常量的功能

class_const:
	class ConstError(TypeError): pass
		def _setattr_(self,name,value):
			if self._dict_.has_key(name):
				raise self.ConstError, "Can't rebind const const(%s)"%name
				self._dict_[name]=value
import sys
sys.modules[_name_]=_const()

三、数据类型&运算符和表达式

3.1 数据类型

Python中标准的六个数据类型:【不可变】Number(数字)、String(字符串型)、Tuple(元组)、【可变】List(列表)、Set(集合)、Dictionary(字典)
理解:str()、tuple()、list、set()、dict():可以理解为数据类型的转换
使用它们创建相关类型的数据时(只接受一个参数,或者0):需传入一个可迭代的对象作为参数(列表、元组、集合、字典的键、字符串、文件对象、生成器、迭代器),无论可不可变,可以理解为数据类型的转换!

1、number(数字):可以进行数值运算

  • Python中支持:int、float、bool、complex(复数),强类型语言【如Java】的每种一个代表
  • 整数数值可以表示为十进制(默认)、二进制(0b)、八进制(0o)、十六进制(0x)
  • 在混合计算的时候会自动将整形转换为浮点数【自动转换】
  • /结果是多少就是多少,提供了int()来向0取整,//表示向下取整

2、String(字符串)
形式:‘’、“”,两种效果一样,注意Python中没有单独的字符类型,一个字符就是长度为1的字符串,字符串不能被改变【如果str[0]=‘a’会报错!】
定义空字符串:“”、’‘、str()
转义字符:\表示:换行\n、反斜杠\、单引号’、双引号"、制表符\t,当路径中有\,可以用\表示\,或者r"路径"
常用的操作:

  • 截取/切片、索引,返回一个新的字符串。从0开始,-1表示末尾,尾下标取不到,如果是[0,-1],只能取到倒数第二个,[0:]取到尾。单双引号是不会输出的
    • 变量[索引/下表]:从前往后从0开始越来越大,从后往前从负数-1开始越来越小
    • 变量[头下标 : 尾下标]:同样尾下标取不到。
    • 变量[头下标 : 尾下标]:步长正数:从前往后;步长负数:从后往前
  • 连接操作+:表示连接字符串
  • 复制操作*n:表示复制当前字符串n次,前后都行(注意复制后的字符串没有空格)
str = 'jiaoyu'
print(str)#字符串输出是没有引号的
print(str[0:-1])#jiaoy,不包含尾下标
print(str[0])#第一个字符:j
print(str[-3])#从后往前,从-1开始,即倒数第三个:o
print(str[str*2])#复制:jiaoyujiaoyu,注意中间是没有空格的
print(str+"TEST")#jiaoyuTEST
print(str[0:])
print(str[0:6])#这两个都能截取到全部字符串,超出索引也没事

3、tuple(元组)
定义:()之间元素之间用逗号分隔,元素类型任意,不变性,有序性,可重复性。字符串可以看成是一种特殊的元组。
定义空元组:()、tuple();1个元素的元组:[1,],注意要有逗号!
元组的不可变性性质:安全性(不希望被修改的数据)、性能(无需额外的内存来处理可能的修改)、哈希(可以作为字典的键/集合的成员)
常用的操作:索引、切片/截取、+连接操作,注意不能复制*n,否则元组的元素就重复了。操作和字符串一样

  • 截取/切片、索引,返回一个新的元组/元组元素
    • 变量[索引/下表]:得到是某个元组元素。从前往后从0开始越来越大,从后往前从负数-1开始越来越小
    • 变量[头下标 : 尾下标]:得到的是某个子元组。同样尾下标取不到。list1[2:2]得到的是空列表
    • 变量[头下标 : 尾下标 : 步长]:得到的是某个子元组。步长正数:从前往后;步长负数:从后往前
  • 连接操作+:表示连接列表得到一个新的元组

4、list(列表)
定义:[]之间以逗号分隔开的元素列表,元素类型任意,可重复性,有序性,不变性
定义空列表:[]、list()
常用的操作:

  • 截取/切片、索引,返回一个新的列表
    • 变量[索引/下表]:得到是某个列表元素。从前往后从0开始越来越大,从后往前从负数-1开始越来越小
    • 变量[头下标 : 尾下标]:得到的是某个子列表。同样尾下标取不到。list1[2:2]得到的是空列表
    • 变量[头下标 : 尾下标 : 步长]:得到的是某个子列表。步长正数:从前往后;步长负数:从后往前
  • 连接操作+:表示连接列表得到一个新的列表
  • 复制操作*n: 表示复制列表得到一个新的列表
  • 改变List元素:通过切片和索引得到列表的一个/多个元素,通过列表赋值来改变
    • 改变某个元素值:得到某个索引位置的元素str[0],可以为其赋值各种类型的变量改变该位置的元素值
    • 改变子列表(可以起插入作用或者替换1/多个元素):使用新的列表替换得到的子列表,特殊情况:list1[2:2]得到的是空列表,那么将新的列表放在索引为2这个列表元素的前面。
      原则:列表元素可以是列表类型,列表不能不能替换列表某个元素(特殊情况该元素是列表类型)
#所有的操作都是基于原列表list1进行的
list1=['abcd',786,2.23,'Jiaoyu',70.2]
list1[2:2]#得到的是空列表

list1[0]=3#索引为0的元素值改变了[3,786,2.23,'Jiaoyu',70.2]
list1[1]=[3]#索引为1的元素值改变了['abcd',[3],2.23,'Jiaoyu',70.2],即用列表替换元素,本质还是一样的
#改变子列表
#list[0:1]=0#这种写法是错误的,因为0属于数值型,list[0:1]是子列表,不能赋值。特殊情况:该索引位置的元素是列表类型可以
list1[2:2]=[9,10]#得到的是空列表,将新列表[9,10]放在索引为2这个元素的前面,结果['abcd',786,9,10,2.23,'Jiaoyu',70.2]

列表提供的一些操作方法:
以ls=[1,2,3,4,5,6]为例,所有的都是基于原列表操作得到的结果

方法描述举例
ls.append(x)在列表ls最后增加一个元素x[1,2,3,4,5,6,x]
ls.insert(i,x)在列表第i位置增加元素x,理解在索引位置元素的前面插入i等于2时[1,2,x,3,4,5,6];i等于-2时[1,2,3,4,x,5,6]
ls.clear()删除列表中所有元素[]空列表
ls.pop(i)将列表ls中第i项取出,并从ls中删除该元素i=2时[1,2,4,5,6];i=-2时[1,2,3,4,6]
ls.remove(x)将列表中出现的第一个元素x删除如果不存在的话会报错
ls.reverse()将列表ls中的元素反转[6,5,4,3,2,1]
ls.copy()生成一个新列表,复制ls列表所有元素注意原列表是不变的

总结:字符串、列表、元组

  • 截取如果超出索引也没事,会完整的输出全部。因为如果str=“123”,那么截取全部可以str[0:]或者str[0:3]或者大于3都行。
  • 步长为负数还有点疑问
  • 因为尾下标取不到,如果头下标和尾下标一样,那么得到的是空字符串/列表/元组
  • -1表示倒数第一个,-2倒数第二个,以此类推;0第一个,1第二个,以此类推。

5、集合set
定义:由一个或多个形态各异的大小整体组成,构成集合的事务/对象称作元素/成员。
形式:{}的元素以逗号隔开。可变性,唯一性(不可重复,如果定义了重复的那么会自动检测并删除),无序性,因此没有索引和位置的概念,可以动态地增加/删除,元素类型只能是不可变的数据类型(数值、字符串、元组)
定义空集合:set(),只能用这个,并且输出空集合的表示也是set()。而{}表示空字典。
基本功能:测试成员关系、删除重复元素

6、dictionary(字典)
定义:一种映射类型,{}标识,无序性,元素是键(key) : 值(value)对的集合。通过键取值,与列表通过偏移取值不一样!
键的特点:唯一性,元素类型时不可变类型(数值、字符串、元组)
定义空字典:{}、map()。注意创建字典的方式map1=map()
常用的操作方法:

  • 取键、取值:字典.keys()、字典.values(),得到的类型分别是dict_keys、dict_values类型
  • 以键取值:字典[键名]
  • 连接+操作
dict={}
dict=dict()
tinydict={'name':'Jiaoyu','code':1,'site':'www.Jiaoyu.com'}
print(tinydict['one'])
print(tinydict[2])#得到键为2的值
print(tinydict)#得到完整的字典
print(tinydict.keys())
print(tinydict.values())

字典提供的一些操作方法:<字典变量>.<方法名称>(<方法参数>)
一般键值对都是以元组的形式(键,值),多个键值对组成列表,该列表又放在元组中。多个单独的键/值,组成列表,放在元组中
以d={‘张三’:100,‘李四’:99,‘王二’:66}为例,所有的都是基于原字典操作得到的结果

方法描述举例
d.keys()返回所有键的信息([‘张三’,‘李四’,‘王二’])类型时dict_keys
d.values()返回所有值的信息([100,99,66])类型时dict_values
d.items()返回所有的键值对([(‘张三’,100),(‘李四’,99),(‘王二’,66)])
d.get(key,default)键存在返回相应值,否则返回默认值default由键取值
d.clear()删除所有的键值对{}空字典
d.pop(key,default)键存在就返回相应的值,否则返回默认值default以键删值
d.popitem()随机从字典中取出一个键值对,以元组(key,value)形式返回,同时将该键值对从字典中删除(键,值)类型元组tuple

3.2 运算符&表达式

1、算术运算符
加减乘除取余:+、-、* 、/、%,除是向0取整,使用int也是向0取整
向下取整://,而在VB中则表示向0取整,这点要注意,java/c中都没有这个运算符
幂: * *,表示x的y次方
2、比较(关系)运算符:运算结果是true、false,编译运行存储在计算机中是1,0。这一点与二进制符号位0正1负做一个区分
等于、不等于:==、!=(<>也可以,VB中就是这个)
大于、小于、大于等于、小于等于:>、<、>=、<=
3、赋值运算符
简单的赋值:=
与算术运算符结合=,举例:a += b表示a=a+b
4、逻辑运算符

逻辑运算符逻辑表达式描述boolean false、true变量
andx and y布尔"与",同真为真,短路性质同true为true,但是如果第一个是false,第二个就不会再去判断了同非0为非0,但是如果第一个是0,第二个就不会执行
orx or y布尔"或",同假为假,短路性质同false为false,但是如果第一个是true,第二个就不会执行同0为0,但是如果第一个是非0,那么第二个就不会去执行
notx not y布尔"非",取反true取反为false,false取反为true0取反为true,非0取反为false
i=2
print(0 and i+1)#因为短路性质,i+1不会执行
print(i)#i还是2

5、运算符的优先级

运算符描述
**指数
* / % //乘除取余和取整数(向下)
+ -加法、减法
<= < > >=比较运算符
<> == !=等于(比较)运算符
= %= /= //= -= += *= **=赋值运算符
not and or逻辑运算符

四、常用的函数&内部函数

4.1 输入输出函数

1、input()函数:无论用户输入的是数字还是字符,统一以字符串类型返回结果
语法:<变量>= input(<提示性文字>)
2、eval(s):去掉字符串s最外侧的符号,并按照python语句方式\去掉引号后的字符内容
语法:<变量>=eval(<字符串>)
两者搭配使用:获取用户输入的数字
语法:<变量>=eval(input(<提示性文字>))

3、print()函数:对于字符串,去掉两侧的引号,输出结果是可打印字符。对于其他类型,直接输出表示,作为打印字符。
特点:可以接收多个参数,默认换行
不换行:print(<待输出内容>,end=“<增加至输出结尾>”)

a=eval(input("请输入整数:"))
print("输出的整数是:",a,end="\t")
print("!")

4.2 常用的内部函数

1、数值运算函数
绝对值:abs(x):求x得绝对值
除余:divmod(x,y):计算除//余%,输出为元组类型(x//y,x%y),其中//向下取整
幂运算:pow(x,y):幂运算,等价于x**y
幂运算:pow(x,y,z):幂运算,等价于x ** y%z
四舍五入:round(x)或round(x,d):对x四舍五入,保留d位小数,如果没有d则返回四舍五入得整数值
最大值:max(x,y,…)
最小值:min(x,y,…)
2、字符串处理函数
长度/个数:len(x),也可以返回其他组和类型得元素个数
转为字符串型:str(x),x可以是任意类型,相当于数据类型转换
ASCII码与字符:chr(x)、ord(x)。如chr(65)表示’A’,ord(‘a’)表示97
十六进制的小写字符串形式:hex(x)。比如hex(45)表示0x2d
八进制的小写字符串形式:oct(x)。比如oct(45)表示0x55
3、类型判断和类型间转换函数
查看类型:type(x)
int()、float()、str()、list()、dict()、tuple()
eval()是针对去除外面两侧的引号的。

int(-1.2)#向0取整
print(-3/2)#结果为-1,向0取整
print(-3//2)结果为-2,向下取整
int('1.2')#1.2
int('-1.2')#报错
int('-2')#-2
float('-1.2')#1.2

4.3 自定义函数&调用

1、定义函数规则:

  • def 函数名()
  • 传入的参数/自变量必须在()中,即形参
  • 函数第一行,可以选择性的使用文档字符串——用于存放函数说明
  • 缩进和 : 配合是方法体
  • return [表达式]结束函数,选择性地返回一个值给调用方,省略return,相当于返回None
def functionName(parameters):
	"函数_文档字符串"
	方法体
	return [repression]#return可以省略,就是返回None
	

2、调用函数
函数名(参数),即可调用

#定义函数
#!/usr/bin/python3
def max(a,b):ifa>b:
	return a
else:
	return b

8=4
b-5
#调用函数
print(max(a,b))

五、选择与循环结构

Python中没有switch…case语句

5.1 条件语句

if…else条件语句

if(表达式):
	语句1
else:
	语句2

if…elif条件语句

if (表达式1):
	语句组1
elif(表达式2):
	语句组2
......
elif(表达式n):
	语句组n
else:
	语句组m

5.2 循环语句

结束循环方式:break、满足条件,continue表示结束本次循环。

while循环
一般初始值在while前面的语句中赋值

while(表达式):
	循环体
#while循环举例
counter=1
while(counter<4):
	#逻辑语句
	counter++
	

for循环语句
起始值、步长可以省略。终止值和逗号不能省【java中是分号不能省】
变量范围[起始值,终止值),终止值取不到,VB中是可以的,这是由循环顺序决定的

for 循环变量 in (<起始值0>,终止值,<步长1>):
	循环体

六、最后总结区别&注意点(Java/Python/C/VB)

1、关于0、1表示正负数,true、false
在计算机存储的二进制中,符号位:0表示正数、1表示负数
布尔类型:0表示False,1表示True,只有VB中的-1表示True

VB语言索引从1开始,其它语言都是从0开始。

2、关于向下、向0(也叫只保留整数)取整:

  • 在位运算符中a右移>>4可以理解为a除以2的4次方,结果是向下取整
  • 在java/c/c++中:
    • int a = -16/3,结果是-5,向0取整。功能和int()强转是一样的功能。
    • float/double b = -16/3,在精度范围内就是小数,超出的小数位四舍五入
  • 在python中,/表示除,int(x)向0取整,//表示向下整除
  • 在VB中,
    • Dim a As Integer; a = -16/3,向下取整;Int(-1.2)向下取整
    • Dim a As Single/Double; a= -16/3,小数位可以四舍五入
    • Dim a As Integer; a = -16\3,表示向0取整,Fix(-1.2),向0取整。

理解:VB对于int()的底层实现与其他语言是不一样的,其他语言相当于强转

3、运算符的一些区别

  • 只有VB是"=“即表示逻辑运算符又表示赋值,其他的都用”=="做一个区分
  • 取余/模:VB中Mod,其他%
  • 字符运算:VB中+、&(+有数值/数值型字符串/字符型表示数值运算,但是如果一边数值一边字符串就会报错,要么就全是字 符串型就表示连接;&不管是什么都表示连接)
  • 逻辑运算符:VB/python中not、and、or;C中&&、||、!,java中&、&&、|、||、!、~(异或)
  • 不等于:VB中<>,C/java中!=,python中两种都行
  • 幂值:VB中Exp(x),表示e的x次方,C中pow(a,b),python中pow(a,b),或者a**b
  • 自然对数值:VB中Log(x)表示lnx,C中log(x)
  • python里面没有++、–运算符、switch…case结构,其他的语言都有

4、关于标识符的命名规则:变量、方法、类等要素命名时使用的字符序列。即凡是自己可以起名字的地方都叫标识符

  • C中:大小写字母、数字、下划线,第一个字符不能是数字,区分大小写
  • Python:大小写字母、数字、下划线、汉字,第一个字符不能是数字,区分大小写
  • Java:大小写字母、数字、下划线、$,第一个字符不能是数字,区分大小写
  • VB:字母、数字、下划线、汉字,第一个字符不能是数字、汉字,必须以字符、下划线开头

总结:除了VB不能是数字、汉字,其他的是不能是数字,python、VB可以包含汉字,其他都没有

5、容易搞错的写法:Java:true、false、String

6、为多个变量同时赋值

  • Java/C/C++中:①int a = 10, b = 10, c = 10;②int a, b, c; a = b = c = 10;
  • Python中:同步赋值语句的特点(作用:同时给多个变量赋值,简化互换变量的值)
    • a,b=1,2
  • VB中:Dim a, b as Long;表示a为变体型,b为Long。

7、Java中print、println()只接受一个参数/0
Python中可以接受多少个

8、关于语句块
python提供 缩进与 : 配合
c/java中提供()与{}配合
VB中提供Then、End配合

9、关于if、else
python中if…elif
c/java中else if,是带空格的
VB中ElseIf() Then

10、switch…case
VB中Select Case 测试表达式
Case 表达式1
语句组1

End Case

C/Java中:
switch(){
case 常量表达式1:
语句组1
default:
语句组n
}
Python中没有

11、循环
python中
for 变量 in 集合(<起始值0>,终止值,<间隔数1>)
C/Java中
for(;😉{
}

12、几种语言的运算符汇总
VB
C语言

Python
Java

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

真实世界的密码学(三)

原文&#xff1a;annas-archive.org/md5/655c944001312f47533514408a1a919a 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第十一章&#xff1a;用户认证 本章涵盖了 认证人员和数据之间的区别 用户认证&#xff0c;根据密码或密钥对用户进行身份验证。 用户辅助认…

光伏仿真设计需要用到的工具有哪些?

随着全球能源结构的转型和可持续发展战略的深入实施&#xff0c;光伏发电作为一种清洁、可再生的能源形式&#xff0c;正日益受到广泛关注和应用。在光伏系统的设计和优化过程中&#xff0c;光伏仿真设计工具发挥着至关重要的作用。那么&#xff0c;光伏仿真设计需要用到的工具…

书生·浦语大模型实战营之微调 Llama 3 实践与教程 (XTuner 版)

书生浦语大模型实战营之微调 Llama 3 实践与教程 (XTuner 版) Llama 3 近期重磅发布,发布了 8B 和 70B 参数量的模型,XTuner 团队对 Llama 3 微调进行了光速支持!!!开源同时社区中涌现了 Llama3-XTuner-CN 手把手教大家使用 XTuner 微调 Llama 3 模型。 XTuner:http:/…

【InternLM 实战营第二期笔记04】XTuner微调LLM:1.8B、多模态、Agent

一、微调的原因 大模型微调&#xff08;Fine-tuning&#xff09;的原因主要有以下几点&#xff1a; 适应特定任务&#xff1a;预训练的大模型往往是在大量通用数据上训练的&#xff0c;虽然具有强大的表示学习能力&#xff0c;但可能并不直接适用于特定的下游任务。通过微调&…

京东商品详情数据采集API接口|附京东商品数据返回PHP多语言高并发

京东获得JD商品详情 API 返回值说明 item_get-获得JD商品详情 API测试 注册开通 jd.item_get 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址…

接收区块链的CCF会议--SecureComm 2024 截止5.10 附录用率

会议名称&#xff1a;SecureComm CCF等级&#xff1a;CCF C类会议 类别&#xff1a;网络与信息安全 录用率&#xff1a;2022年录用率33%&#xff08;43/130) Topics Security and privacy in computer networks (e.g., wired, wireless, mobile, hybrid, sensor, vehicular,…

【Flutter】自动生成图片资源索引插件二:FlutterAssetsGenerator

介绍 FlutterAssetsGenerator 插件 &#xff1a;没乱码&#xff0c;生成的图片索引命名是小驼峰 目录 介绍一、安装二、使用 一、安装 1.安装FlutterAssetsGenerator 插件 生成的资源索引类可以修改名字&#xff0c;我这里改成R 2. 根目录下创建assets/images 3. 点击image…

react学习(一)之初始化一个react项目

React 是一个用于构建用户界面&#xff08;UI&#xff09;的 JavaScript 库&#xff0c;用户界面由按钮、文本和图像等小单元内容构建而成。React 帮助你把它们组合成可重用、可嵌套的 组件。从 web 端网站到移动端应用&#xff0c;屏幕上的所有内容都可以被分解成组件&#xf…

JMeter性能测试系列一初识JMeter

1.JMeter介绍 Apache组织的Stefano Mazzocchi是JMeter项目的创始人。编写JMeter最初的目的是为了测试server的性能(后期被Tomcat替代)。随后&#xff0c;JMeter在Apache组织内部开始被其他项目所使用&#xff0c;并最终推广出来&#xff0c;成为独立的软件项目并不断更新&…

【vue3】插件@tsparticles/vue3、tsparticles实现粒子特效

文章目录 一、安装依赖二、全局引入三、使用 一、安装依赖 npm i tsparticles/vue3 npm i tsparticles二、全局引入 // main.js import Particles from tsparticles/vue3 import { loadFull } from tsparticlesconst app createApp(App) app.use(Particles, {init: async (e…

YOLO算法改进Backbone系列之MogaNet:

卷积神经网络&#xff08;ConvNets&#xff09;一直是计算机视觉的首选方法。受灵长类视觉系统的启发&#xff0c;卷积层可以对具有区域密集连接和平移等方差约束的观测图像的邻域相关性进行编码。通过交错分层&#xff0c;ConvNets获得了被动增加的感受野&#xff0c;并善于识…

java接口自动化测试

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

组合模式【结构型模式C++】

1.概述 组合模式又叫部分整体模式属于结构型模式&#xff0c;是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象&#xff0c;用来表示部分以及整体层次。 2.结构 组件&#xff08;Component&#xff09;:定义了组合中所有对象的通用接口&#xff0c…

面试题

jdk自带的线程池 newFixedThreadPool 固定大小线程池 同时可运行的线程数量是固定的。当提交新任务时&#xff0c;如果线程池中已有线程正在执行任务且数量达到上限&#xff0c;则新任务将被放入队列中等待&#xff0c;直到有线程空闲出来。适用于处理长期存在且可以并行执行的…

TFTLCD原理硬件介绍

介绍 TFT LCD&#xff08;薄膜晶体管液晶显示器&#xff09;是一种广泛使用的显示技术&#xff0c;它结合了薄膜晶体管&#xff08;TFT&#xff09;和液晶显示&#xff08;LCD&#xff09;技术。TFT LCD的主要特点是使用TFT矩阵来控制施加到每个像素的电压&#xff0c;从而实现…

财务管理困扰外贸公司?软件解决方案大揭秘!

本文将探讨外贸公司在财务管理中遇到的难题&#xff0c;提出可能性的解决方案&#xff0c;并概述理想的外贸财务管理软件应具备哪些必备功能。 一、外贸公司财务管理难题 1、交易币种多样化 如何准确记录不同货币的财务活动&#xff0c;是外贸公司必须面对的问题。外贸公司的…

【昇腾产品应用】英码科技EA500I基于昇腾Mind SDK实现实时人体关键点检测

在教育、体育、安防、交通、医疗等领域中&#xff0c;实时人体关键点检测应用发挥着至关重要的作用&#xff0c;比如在体育训练时&#xff0c;实时人体关键点检测可以精确、实时地捕捉运动员的动作&#xff0c;从而进行动作分析和优化&#xff1b;在安防应用场景中&#xff0c;…

web前端框架设计第五课-计算属性与监听属性

web前端框架设计第五课-计算属性与监听属性 一.预习笔记 1.计算属性 computed split():拆分 reverse():倒序 join():拼接 计算属性与方法&#xff0c;两者效果一致&#xff0c;但是computed 是基于它的依赖缓存&#xff0c;只有相关依赖发生改变时才会重新取值。而使用 met…

openGauss学习笔记-268 openGauss性能调优-TPCC性能调优测试指导-网络配置-网卡多中断队列设置

文章目录 openGauss学习笔记-268 openGauss性能调优-TPCC性能调优测试指导-网络配置-网卡多中断队列设置268.1 中断调优268.2 网卡固件确认与更新 openGauss学习笔记-268 openGauss性能调优-TPCC性能调优测试指导-网络配置-网卡多中断队列设置 本章节主要介绍openGauss数据库内…

多项式相关题()

D - S老师的虚树 值得一提的是如何求这个 a i a_i ai​&#xff0c;可以考虑按dfs序考虑同一种边&#xff0c;运用树状数组即可统计&#xff08;注意不要加重了&#xff0c;不需要打区间覆盖&#xff0c;这样可以不用打线段树&#xff09; F(i, 1, n) {ll sz d[i].size() - 1…