【从0到1学Python】第三讲:Python中的各种“量”(二)

Python matplotlib 绘制量场图 复习回顾 matplotlib 是基于Python语言的开源项目,pyplot提供一系列绘制2D图形的方法。随着版本的迭代,matplotlib 模块也支持绘制3D图形mplot3d工具包,制作动态图Animation类,对于动态图的制作也可以使用pyplot交互模式进行绘制,提供image类对图像进行加载、缩放及显示操作。 超详细的Python matplotlib 绘制直方图 赶紧收藏_ 超详细的Python matplotlib 绘制柱状图_ python入门到进阶,爬虫数据分析全套资料分 阅读详情

        在第二讲中,我们已经了解到Python中各种常见的“量”类型以及变量的命名方式。我们将分别对每种提及的常见类型的量进行几个方面的探讨:

  1. 这种类型的常量是如何表示的?
  2. 这种类型的量有没有相关的运算?如有,运算规则又是什么?
  3. 这种类型的量在Python中有没有什么“方法”?
  4. 这种类型的量和其他类型的量有什么联系?

       在本讲中,我们先讲讲前两个方面。

        顺便,上一讲的超链接在此:http://t.csdnimg.cn/9q2VLicon-default.png?t=N7T8http://t.csdnimg.cn/9q2VL

编辑记录:

2024/1/24 补充了字符型中的“索引”部分内容。 

目录

0. 变量的赋值

1. 整数型(int)

整数型的表示

整数型的运算

        加、减法

        乘法

        除法

        乘方

        整除

        取模

2. 浮点型(float)

浮点型的表示

浮点型的运算

       与整数型相同的运算

        保留小数位数

3. 字符型(str)

字符型的表示

        引号

        转义字符

        索引

字符型的运算

        加法(连接)

        乘法(反复)

4. 布尔型

布尔型的表示

布尔型的运算

        与

        或

        非

        *逻辑运算小练习*

5. 列表(list)

列表的表示

        索引(下标)

列表的运算

        加法(连接)

        乘法(反复)

        切片

        *列表切片小练习*

6. 字典(dict)

字典的表示

字典的运算

        添加(更新)键值对

7. 小结


0. 变量的赋值

        在开始之前,为了演示的方便,我想先讲讲在Python中如何创建一个变量并对其进行最简单的赋值(assignment)。所谓赋值,你可以简单理解为:将一个值赋予这个变量名所对应的变量。

        创建一个变量往往和赋值是同步进行的。就像你从厨房里面拿了一个空杯子,然后马上往里面装点水一样。这个比喻很形象——往后,对于各种变量,你可以理解为用厨房里的各种容器——锅碗瓢盆——来装不同类型的物品。

        在演示中,我将使用赋值语句,就像这样:

a = 123.45
s = "Hello world!"

        赋值语句由变量名、等号以及一个表达式(也可以是常量)组成。在执行完该语句后,等号左边的变量名便对应到一个变量,这个变量的值等于等号右边表达式的计算结果(或者直接等于那个常量),这个变量的类型也和等号右边表达式计算结果(或者那个常量)的类型相同。

        在上面那段代码中,第一行表示创建了一个名为a的变量,值为123.45,类型为浮点型;第二行表示创建了一个名为s的变量,值为"Hello world!",类型为字符型。

       值得说明的是,请务必分清楚“赋值语句”与“等式”的区别。它们两个长得都大同小异,但是赋值语句描述的是一个过程,而等式描述的是一个状态。例如,3+2=5是一个等式,f(1.5)=2是一个等式,a=123是一个赋值语句。

        关于赋值语句的其他方面(比如说对一个变量进行多次赋值,等等),我们将在后续实战当中讲到。

        在这部分中,我们可以打开Python IDLE的Shell界面,在“>>>”后输入运算表达式来查看其结果。

在Shell界面中输入表达式并查看结果。

1. 整数型(int)

整数型的表示

        在Python中表示一个整数型的量就和数学学科中表示一个整数一样简单。你只需要写一个整数在那里就行了。比如说12,0,-50。负号使用的是键盘右上角、加号边上的减号,或者是数字键盘上的减号。

        一个整数型变量也可以通过不同进制表示。上面我们所列举的例子都是十进制的。我们还可以使用二进制、八进制、十六进制表示一个整数型的量。如果你还不知道“进制”的概念,你可以去网络上搜索一下。

        用不同进制表示做法也很简单,只需要在相应进制的数前加上“0b”“0o”“0x”即可。例如,一个整数型变量a的值为16(十进制),那么a可以被写作16、0b10000、0o20、0x10。

        在不加说明的情况下,整数型默认使用十进制表示。

整数型的运算

        关于整数型的运算,首先逃不过的便是四则运算。

        加、减法

        整数型的加减法规则同数学学科中的加减法规则。比如说,2 + 3 = 5,3 - 7 = -4。

        乘法

        乘法符号用键盘上的星号“*”表示。在纸质考试时,星号的书写使用三划的六角星形,不要写成“米”字。整数型的乘法规则同数学学科中的乘法规则。比如说,3 * 3 = 9,2 * 0 = 0,-7 * 2 = -14,-7 * (-7) = 49。

        除法

        除法符号用键盘上的斜杠“/”表示。整数型的除法规则同数学学科中的除法规则。比如说,除数不得为0,3 / 5 = 0.6,10 / 2 = 2.0。除法运算得出的结果是带小数部分的,因此,其结果是浮点型的。

        对于整数型,还有其他几种不属于四则运算的运算。

        乘方

        乘方符号用两个星号“**”表示。也许你在其他地方使用“^”符号表示乘方——但是请注意,在Python中,符号“^”表示的并非乘方运算。整数型的乘方运算和数学学科中的乘方运算相同。比如说,3 ** 3 = 27,2 ** 4 = 16,4 ** 0.5 = 2.0,4 ** 0=1。但是与数学学科中不同的是,在Python中,0 ** 0=1。

        整除

        整除符号用两个斜杠“//”表示。两个整数型的乘除运算的结果依旧是整数型。对于整除运算,你可以理解为两个整数型做完除法运算之后,向下取整后的结果。比如说,9 // 4 = 2,3 // 4 = 0,-9 // 4 = -3。

        取模

        取模符号用百分号“%”表示。取模的表达式形如“a%b”。

        所谓取模,若a与b均为正数,其结果就是求除法得到的余数,非常直观;若a、b中存在负数,则可以通过:

  1. 求 d = a // b 的结果;
  2. 将d与b相乘,求 c = d * b = (a // b) * b;
  3. 将a与c相减,得到结果 r = a - c = a - d * b = a - (a // b) * b。

        取模运算的结果可正可负。这个方法具有较强的泛用性,因此你可以在为数不多的、有负数出现的场合使用这种方法。比如说:

        要求-30 % (-7),先求d = (-30) // (-7) = 4,再求c = 4 * (-7) = -28,最后得到结果-30 - (-28) = -2,即-30 % (-7) = -2。

        取模运算是很常用的运算,各位在初学阶段一定要好好掌握。

2. 浮点型(float)

浮点型的表示

        和整数型一样,在Python中表示浮点型和在数学学科中表示“小数”是一样的。比如说,0.2,1.0,-5.5。

        浮点型变量也可以用科学计数法来表示。在数学学科的科学计数法表示当中,形如a\times 10^b的式子在Python中写为aeb。中间的“e”是不变的,而a和b可以自由变动。比如说,3e-3=0.003,2.5e10=25000000000.0。

浮点型的运算

       与整数型相同的运算

        浮点型的四则运算和整数型是同理的。计算结果为浮点型。在此不作赘述。

        对于乘方、整除和取模运算,对于浮点型依旧成立。计算结果为浮点型。比如说,2.5**2.0=6.25,2.75//1.35=2.0,-10 % 3.0=2.0。

        保留小数位数

        既然浮点型长得和小数一样,那么在程序输出小数的时候,必然就会有保留小数位数的需求。如何将一个浮点型变量保留指定的小数位数呢?在本讲中,我们先来了解利用round()函数和format()函数进行输出时保留浮点型小数位数的操作。

        round()是一个函数,我们使用这个函数的时候需要提供两个参数:待操作的浮点型以及需要保留的小数位数。round()函数在计算完成之后会变为仅保留若干位小数的浮点型量。比如说:

        round(3.14159, 2) = 3.14;round(12.9, -1) = 10.0。

        美中不足的是,round()函数并不能在输出时提供扩充小数位数的作用。比如说,round(3.14, 5) = 3.14,而并非3.14000。

        这时候format()函数上场了。format()函数的应用范围很广,我们将在很多场合使用它。使用format()来保留小数位数,我们需要提供两个参数:待操作的浮点型以及一个格式说明符(字符串)。在这里,格式说明符长这个样子:".xf",其中x是需要保留的小数位数(大于零),比如说".2f"。但是,format()计算结果是以字符串的形式呈现的。比如说:

        format(3.14159, ".2f") = "3.14"。

        format()函数可以扩充小数位数。比如说,format(3.14, ".5f") = '3.14000'。这样子,就可以在输出的时候完美输出带多位小数的浮点型了。

3. 字符型(str)

字符型的表示

        字符型的量既可以是单个字符,也可以是多个字符。我们在实际编程中遇到的字符绝大多数为ASCII码表中的字符。关于ASCII码表,你既可以在浙教版高中信息技术教材必修一的最后一页看到,也可以上网搜索。这里是一张搜索结果显示的图片:

ASCII码表。

        不难发现,这张表中涵盖了英语中的空格、大小写字母、阿拉伯数字以及许多符号。在初学阶段,你完全可以将“字符串”中所包含的“字符”简单理解为“空格、英语中的大小写字母、阿拉伯数字以及许多符号”。

        引号

        在字符型中,这些字符用引号包括。这里说的引号,包含单引号、双引号,甚至是三引号!它们在引用字符的时候是基本没有差别的。请注意,输入引号时候需要使用英文输入方式:很多人会错误地将其打成中文的上下引号!

        我们通常称多个字符的字符型量为“字符串”。这是一对单引号包括的字符串:

'Hello world!'

        这是一对双引号包括的字符串:

"Hello world!"

        这是一对三引号包括的字符串。三引号既可以由纯单引号构成,也可以由纯双引号构成。

'''Hello world!'''
"""Hello world!"""

        当然,我觉得为求方便,大家在没有特殊需求的情况下,基本上会选择使用单引号与双引号。当然了,引号也可以只包括单个字符。

'a'
"b"
'''c'''
"""d"""

        现在,请各位考虑这样一种场合:假设我们需要在字符串中表示一个单引号。如果我们使用单引号包括,那么就会出现:

'Let's go!'

        这样的情形。我们会发现前两个单引号中间包括成为一个完整的字符串;但是第二个单引号到最后一个单引号中间被认为是“串外字符”。这会导致引号匹配错误,从而使得程序无法正常运行。这个时候,我们就需要使用双引号去包括单引号:

"Let's go!"

        如此,双引号的匹配没有错误,单引号被正确地包括在了字符串中。包括双引号的情形是同理的。

        单引号与双引号只能包括单行内的字符。也就是说,面对跨行的段落,单引号与双引号是无法引用的。这个时候就需要请出三引号了。三引号可以跨行包括字符:

'''Hey,
this is me.'''

"""Hey,
this is me."""
        转义字符

        你也许会考虑这样一个问题:既然三引号引用了跨行字符,那么如何表示行与行之间的“换行”关系呢?转义字符可以解决这样的问题。

        转义字符长什么样?转义字符由一个反斜杠“\”(在键盘QWER所在行的最右侧,将输入法调成英文后输入)与一个英文字母(或者数字)组成。虽然长成这个样,但是转义字符仍旧算作一个字符。

        转义字符通常表示一些看不见的、不方便输入的字符或者操作,譬如我们刚才提到的换行。初学阶段最常用的转义字符就是表示换行的"\n"(反斜杠+n)。除此之外,还可能会遇到表示制表符的"\t"(反斜杠+t)——也许你可以试着在编辑其他文本的时候按一下键盘上的Tab(制表)按键,看看效果如何。

        索引

        你可以通过索引来获取目标字符串中的某一个字符或某一段字符串。

        在一个字符串中,每一个字符都有相应的索引。索引从0开始编号,从前往后依次递增。

        要通过索引获取某一个字符,你需要通过一对方括号(中括号)将索引包括,并在前面加上字符串或其变量名称。比如说:

s = "Hello world!"

         于是我们就知道:s[0] = "H",s[1] = "e",……,s[11] = "!"。

        想要获取某一段字符串,在上面方括号的基础上,你需要给定起始索引与终止索引,必要时给定步长。就像这样:字符串名称[起始索引 : 终止索引 : 步长]。获取到的字符串是一个左闭右开区间([ 起始索引, 终止索引 ))。比如说:s[1:3] = "el",取的是s[1]和s[2],s[3]并不会取到。

        关于索引的其他用法,在下文列表 - 列表的运算 - 切片中均有讲到。这玩意儿可以类比过来,在此不做赘述。

字符型的运算

        加法(连接)

        在字符型中,使用加号进行的运算表示字符型的连接——即使字符型中的字符是阿拉伯数字。比如说,"ab" + "c" = "abc","12" + "34" = "1234",而不是"46"。

        乘法(反复)

        使用乘号对一个字符型和一个整数型进行的运算表示字符型的反复。比如说,"a" * 3 = "aaa","abs" * 2 = "absabs"。

4. 布尔型

布尔型的表示

        布尔型,表示真假。这可能是你第一次遇到这个类型的量。你可能疑惑,为什么“真假”不能用整数型的1与0表示——我的回答是,当然可以!但是,布尔型就是Python中专门干这行的,纯粹表示真假,我们为何不使用之呢?

        布尔型的量只有两种可能的取值,真与假。无需引号,“真”“假”分别使用首字母大写的True与False表示。注意True不要拼写错了。

布尔型的运算

        布尔型之间存在运算。我们通过逻辑运算符——与、或、非进行这类运算。这类运算在后续编程中,是复杂条件判断的重要基础(比如说判断超速、判断闰年等等)。

        由于这类运算的情况有限,下面将使用列表的方式来进行情况的穷举,并在最后进行总结。

        顺便说一下,这类运算在通用技术科目的学习中也会经常使用。所以,得好好掌握。

        与

        Python中,与运算的逻辑运算符写作and,左右各带一个空格。

与运算
aba and b
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse

        顾名思义,“与”运算就是当a与b都为真时,结果方为真。容易看到,当a与b有一个为假时,a and b的结果就是假。

        或

        Python中,或运算的逻辑运算符写作or,左右各带一个空格。

或运算
a ba or b
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

        顾名思义,“或”运算就是当a与b中有至少一个为真时,结果即为真。容易看到,当a与b都为假时,a or b的结果才是假。

        非

        Python中,非运算的逻辑运算符写作not,后带一个空格。

非运算
anot a
TrueFalse
FalseTrue

        这个最好理解了,就是真假互换。

        逻辑运算符之间的优先级为() > not > and > or。之所以要记住优先级,是为了考试的时候能够应对刁钻题目;自己编程的时候,请使用括号来体现优先级,以使代码清晰明了。

        下面,来做几个小练习吧!

        *逻辑运算小练习*

        很贴心地将难度设置为了循序渐进的。enjoy! :)

## SECTION 1
1. not True
2. False and True
3. True or False
4. not False
5. True and True
6. True or False
7. False or False

## SECTION 2
1. not True and True
2. not False or False
3. True and not True
4. not True or True
5. True and False and True
6. False or False or True

## SECTION 3
1. True and not False or False
2. False or True and not False
3. not True and False or True and True

        参考答案:

## SECTION 1
1. False
2. False
3. True
4. True
5. True
6. True
7. False

## SECTION 2
1. False
2. True
3. False
4. False
5. False
6. True

## SECTION 3
1. True
2. True
3. True

        在后续的讲解中,我们将会了解到布尔类型运算的实际含义与应用。

5. 列表(list)

列表的表示

        列表是Python中很常用的、有序存放各种量的一种类型。好比是一排带了编号的抽屉,每个抽屉里面都可以存放一个量。这些量甚至可以是不同类型的!

        回到代码中,一个列表用一对方括号(中括号)包括,里面的元素之间使用逗号分隔。请注意,不要打成中文的方括号或者逗号!下面是一个长度为3(列表的长度即为元素的个数)、里面装了整数型的列表:

l = [123, 456, 789]

        当然,列表内的元素也不一定需要是同一个类型:

l = [123, 456.0, '789']
        索引(下标)

        我们谈论列表的时候,常常会提到元素的索引。上文提到,这一排抽屉是带了编号的。所谓索引(index),就是这个编号。列表的编号是从0开始依次递增的。假设有一列表l:

l = [12, 34, 56, 78]

        我们想要打开抽屉去取其中的元素,就要通过索引来定位。使用索引时,将索引用一对方括号包括,并在索引前写上列表名称。比如说:l[0] = 12,l[1] = 34,l[2] = 56,l[3] = 78。如果引用了大于等于列表长度的索引,那么将会发生“list index out of range”的错误。

IndexError的发生。

        我们也可以通过负数来定位到“倒数第几个”的元素。比如说,l[-1] = 78,l[-2] = 56,l[-3] = 34,l[-4] = 12。

        有一种情况值得我们单独讨论一下:当列表套列表的情况发生时,如何取出最里面的元素?比如说,我们有列表:

l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

         列表l的长度为3,每个元素均为列表。比如说,l[0] = [1, 2, 3]。如果我们想将元素“3”单独取出,我们可以通过再次添加索引的方法取出:l[0][2]。

        怎么理解多个索引同时存在的情况呢?从左往右看,我们先分析l[0],得到l[0] = [1, 2, 3],于是原式l[0][2]变为[1, 2, 3][2]。对于列表[1, 2, 3],取索引为2的元素,那便是3了。类似地,我们还可以举出几个例子:l[1][1] = 5,l[0][1] = 2,l[2][0] = 7。

列表的运算

        加法(连接)

        与字符型类似,列表与列表使用加号进行的运算是将两个列表相连接。比如说:[1, 2, 3] + [4, 5, 6] = [1, 2, 3, 4, 5, 6],[1, 2] + [3] = [1, 2, 3]。

        乘法(反复)

        与字符型类似,列表与整数型使用乘号进行的运算是将此列表的元素重复若干遍。比如说:[1, 2, 3] * 3 = [1, 2, 3, 1, 2, 3, 1, 2, 3], ["ab", 3] * 2 = ["ab", 3, "ab", 3]。

        切片

        如果想在列表中取出多个元素而非单个元素,我们可以使用列表的切片。

        想要对列表进行切片,需要给定三个参数:起始索引,终止索引,以及步长。将这三个参数用一对方括号包括,参数之间用引号“:”隔开,并在方括号前加上列表的名字。比如说:l[1: 10: 2],起始索引为1,终止索引为10,步长为2。

        给定参数后,程序将从起始索引开始,取出列表中的元素,并在每取一次之后将索引加上步长,直到当前索引大于等于终止索引。其实,这是一个左闭右开区间。作个图,你一定能搞明白:

取值范围是一个左闭右开区间!

        理解了这一点后,我们可以进一步玩转切片。我们首先假设有

l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

        其实,我们不一定要将参数填满。在没有给定步长的情况下,步长默认为1。此时,在没有给定起始索引的情况下,默认从列表第一个元素开始;在没有给定终止索引的情况下,默认到列表的最后一个元素(包括最后一个元素)为止。没有给定的参数仍旧需要留一个位置给它。比如说:

l[0: 10:] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
l[: 10:] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
l[1::] = [2, 3, 4, 5, 6, 7, 8, 9, 0]

        另外,步长可以为负数。此时,在没有给定起始索引的情况下,默认从列表最后一个元素开始;在没有给定终止索引的情况下,默认到列表的第一个元素(包括第一个元素)位置。比如说:

l[8:: -1] = [9, 8, 7, 6, 5, 4, 3, 2, 1]
l[7:: -2] = [8, 6, 4, 2]
l[:: -1] = [0, 9, 8, 7, 6, 5, 4, 3, 2, 1]

       其中值得注意的是,l[::-1]是Python中很厉害的翻转列表的方法!灵活运用切片,能够帮助我们有效地处理列表中的数据关系,因此请各位初学者务必熟练掌握。

        *列表切片小练习*
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

##SECTION 1
1. l[1 : 10 : 3]
2. l[2 : 5 : 1]
3. l[2 : 11 : 2]

##SECTION 2
1. l[:: -1]
2. l[: 0 : -1]
3. l[8 : 0 : -2]

        参考答案:

##SECTION 1
1. [2, 5, 8]
2. [3, 4, 5]
3. [3, 5, 7, 9, 11]

##SECTION 2
1. [12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
2. [12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]
3. [9, 7, 5, 3]

        

6. 字典(dict)

字典的表示

        字典是Python中通过“键值对”的方式、无序储存数据的一种类型。想象一本字典——我们通过找到某一个字,然后查看这个字的释义。那个“字”,就是“键”(key);那个“释义”,就是“值”(value)。

        字典使用一对花括号(大括号)包括,键值对之间用逗号隔开,某个键值对中使用冒号“:”隔开。注意不要打成中文的冒号!下面是一个拥有三个键值对的字典:

d = {"apple": 1, "banana": 2, "cherry": 3}

        "apple"和1、"banana"和2、"cherry"和3,分别是三对键值对。因为我们找“值”的时候,是通过“键”唯一确定的,因此,这三对键值对的前后位置不影响字典的内容。

d1 = {"banana": 2, "apple": 1, "cherry": 3}
d2 = {"apple": 1, "cherry": 3, "banana": 2}

## d1和d2是一样的

        字典的键和值也不一定分别是字符串和整数型。键可以是整数型、浮点型、字符型;值可以是整数型、浮点型、布尔型、字符型、列表,甚至是另一个字典。

        和列表类似,想要获取某一个键对应的值,我们需要使用一对方括号将其包括,并在前面加上字典的名称。比如说:d["apple"] = 1,d["banana"] = 2,d["cherry"] = 3。

字典的运算

        添加(更新)键值对

        如果希望在字典中添加一个键值对,那么只需要通过赋值就可以实现了。比如说,对于上文的字典d,进行赋值:

d["dude"] = True

        如此,d就变成了:d = {"apple": 1, "banana": 2, "cherry": 3, "dude": True},添加了一个键值对。如果赋值对象的键已经存在,那么字典的内容就会更新。比如说:

d["apple"] = -1

        如此,d就变成了:d = {"apple": -1, "banana": 2, "cherry": 3, "dude": True},键"apple"对应的值被更新为了-1。

7. 小结

        恭喜!本讲的内容到此结束了。在本章中,我们基本了解到了6种Python中不同类型的量的表示(长什么样),以及相关的基本运算。

        笔者对于“基本运算”的概念之划分并不准确,因此有一些其他“关于量的基本操作”——比方说,在列表中查找某个元素的索引、合并两个字典等操作——并没有在本讲中被划分为“运算”,而是被划分为了“方法”。

        对于不同类型的量的其他基本操作(“方法”),以及各个类型的量之间的关系,我们将在后续提到。

1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python 学 Python 就该这么轻松的入门,学习本该是件快乐的事情,不对么? 阅读详情

相关推荐

AMD MI50 Linux ROCm 6.4 手动编译与大模型推理实战

GPU加速计算是现代AI推理的核心基础,其性能依赖于硬件架构、驱动栈与运行时环境的深度协同。ROCm作为AMD开源GPU计算平台,采用‘自下而上’的Linux生态集成路径,强调对上游内核、编译器与固件的强耦合。MI50基于Vega 20(gfx900)架构,虽具备32GB HBM2高带宽显存与14.7 TFLOPS FP16算力,但因ROCm官方支持策略转向CDNA架构,自6.5版本起被移出支持列表,仅ROCm 6.4仍提供实验性兼容——这使其成为Linux下部署私有大模型的关键‘最后一班船’。本文围绕MI

weixin_32770423的博客 370

python的常用操作符_python 03 常用操作符

1. e记法,科学计数法。AeB   A,B为整数,A*10的B次方。2. 逻辑运算,真为1,假为0,最好不使用这个计算true(1) false(0)true+true=23.类型转换整数int()  浮点数float()  字符串str()>>> a=5.2>>> a5.2>>> int(a)5>>> str(a...

weixin_35654499的博客 163

IsaacGym四足机器人sim to real全过程详细解析(walk these ways方法)

本文使用强化学习的方法运行到Aliengo机器人上完成从训练到部署的全过程。该方法使用的是GO1机器人提供了完整的sim to real代码和遥控器控制代码,所以我们只需要重新训练和部署健康就可以使用在Aliengo上。该方法使用lcm进行通讯首先程序通过UDP和机器人控制板进行通讯获取机器人状态并下达指令。然后又通过lcm进行机器人状态信息的发布和模型命令的获取。

weixin_44061195的博客 2万+

python git_适用于Python开发人员的高级Git技巧

python gitIf you’ve done a little work in Git and are starting to understand the basics we covered in our introduction to Git, but you want to learn to be more efficient and have more control, then th...

cumei1658的博客 1309

图像分割 - 使用Mask R-CNN模型在COCO数据集上进行图像分割任务

图像分割是计算机视觉领域的一个重要任务,它旨在将图像中的每个像素分类为对象或背景。Mask R-CNN是一种基于区域的卷积神经网络,可用于图像分割任务。它是Faster R-CNN的扩展,将目标检测与图像分割结合起来,能够同时检测和分割对象。在本博客中,我们将使用Mask R-CNN模型在COCO数据集上进行图像分割任务。我们将介绍如何下载和准备COCO数据集,以及如何使用Mask R-CNN模型进行训练和推理。

斌擎科技 1190

YOLOv11 改进 - 注意力机制 | Deformable-LKA 可变形大核注意力:自适应采样网格优化特征捕捉,提升不规则目标感知

本文介绍了可变形大核注意力(D-LKA Attention)及其在YOLOv11中的结合。D-LKA Attention是一种简化的注意力机制,采用大卷积核利用体积上下文信息,通过可变形卷积灵活调整采样网格,适应多样数据模式。它有2D和3D版本,3D版本在跨深度数据理解上表现出色,共同构成了D-LKA Net架构。我们将D-LKA Attention集成进YOLOv11,在模型的检测头部分引入deformable_LKA_Attention模块。实验表明,该方法在分割任务上表现优于现有方法,提升了模型的检测

魔改工程师的博客 1172

【从0到1学Python】第二讲:Python中的各种“量”(一)

总览Python中常用的量,以及讲述Python中变量名的命名规则和常见的命名方式。

Commander_WingT的博客 1137

uniapp - 热更新提示:WGT安装包中manifest.json文件不存在 | unexpected EOF!报错详细解决,完美搞定WGT安装包中WWW目录下manifest.json不存在问题

uniapp,安卓android,苹果ios,热更新,热更新code:-1202报错,,WGT热更新报错,uniapp热更新wgt出现报错manifest.json文件不存,uniapp安卓苹果软件热更新时出现错误unexpected EOF!如何解决,怎么解决热更新wgt报错,app新版本下载安装报错WGT安装包中manifest.json文件不存在,WGT安装包中WWW目录下manifest.json不存在,uniapp热更新报错安装失败[-1201]:WGT/WGTU文件格式错误,uniapp-wgt

✅ 精选推荐文章 1万+

【从0到1学Python】第四讲:Python中的各种“量”(三)

本文简要介绍了Python中常见类型对应的方法,以及如何使用常见的函数在不同的类型之间架起“桥梁”。

Commander_WingT的博客 998

Sigrity Power SI Model Extraction模式如何提取电源网络的S参数和阻抗操作指导(一)

34. 默认格式是BNP format格式,会被Sigrity识别的S参数文件,在仿真完成后,默认会在文件夹中生成bnp和ckt(MCP)文件,无需这步操作。由于port设置的ref Z是50ohm,实际上电源网络的阻抗是没有这么高的,所以S参数回损曲线是基本上全反射的一个状态。Sigrity PowerSI是频域电磁场仿真工具,以下图为例介绍如果用它观测电源的网络的S参数以及阻抗的频域曲线.42. Spice格式的加载进来图标是橙色的,BNP格式的图标是灰色的。

weixin_54787054的博客 1280

DeepSeek:为文化创意产业注入AI新动能

沪南胜境,闵行新章。随后,2024 年 5 月,DeepSeek 宣布开源第二代 MoE 大模型 DeepSeek-V2,以其比肩 GPT-4Turbo 的卓越性能,以及仅为 GPT-4 百分之一的价格优势,迅速在市场中掀起波澜,收获了 “AI 届拼多多” 的独特名号,让更多人看到了高性价比 AI 大模型的可能性。创作者自身也应提高对创作伦理的认识,树立正确的创作观念,在使用 AI 工具时,保持对创作的主导权,充分发挥自己的创造力和想象力,将 AI 作为创作的辅助工具,而不是替代品。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1962

python中的[1:]、[::-1]、X[:,m:n]和X[1,:]

Python中的[1:] 意思是去掉列表中第一个元素(下标为0),去后面的元素进行操作,以一个示例题为例,用在遍历中统计个数: 题:读入N名学生的成绩,将获得某一给定分数的学生人数输出。 输入格式: 输入在第1行给出不超过10^5^的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔...

gaofengyan的博客 12万+

YOLO11涨点优化:注意力魔改 | 引入Deformable Attention (可变形注意力),灵活感受野自适应复杂形变目标

Deformable Attention为YOLO11带来的不仅是2.6个百分点的mAP提升,更是一种全新的“形变感知”范式。标准卷积的固定感受野在非刚性目标、多尺度变化和遮挡场景下力不从心——Deformable Attention恰好填补了这一空白。从架构设计到代码实现,从竞品对比到部署方案,从生态工具到安全风险,本文覆盖了将Deformable Attention引入YOLO11所需的全部知识链路。

2601_95807009的博客 286

【从0到1学Python】第一讲:准备工作

阐述关于“从0到1学Python”系列文章的相关信息;下载、安装、使用IDLE,为在自己的电脑里写Python代码做好准备。

Commander_WingT的博客 1093

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

笨办法学python pdf 第三版_笨办法学python第三版

笨办法学python第三版pdf电子书是一本Python学习参考书,是美国程序员Zed A.Shaw编著,通过简单通俗的方法,结合内部的集体,让程序员学懂python,适用于初级学习python编程的人员阅读。内容介绍《笨办法学python第三版》是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。本书以习题的方式引导读者一步一步学习编程,从简单的打印一直...

weixin_39626181的博客 1399

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]

Python中对于数组和列表进行切片操作是很频繁的,当然对于切片的操作可供我们直接使用的函数也是很遍历了,我们今天主要简单总结一下常用集中索引化方式,希望对大家有所帮助吧。     对于列表的切片比较简单,在我之前的博客里面有详细的讲解,需要的话可以去看看,这里就不再详细说了,今天主要是讲解对于Python中Array对象的操作,我们平时使用比较频繁的一般也就是三维的矩阵了,再高维度的处理方式是

Together_CZ的博客 4万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Python中[-1]、[-1]、[-1]、[n-1]、[,,0]、[…,0]、[…,-1] 的理解

在python中会出现[-1]、[:-1]、[::-1]、[n::-1]、[:,:,0]、[…,0]、[…,::-1],他们分别是什么意思呢,这里就来详尽的说一下:下面的a = [1,2,3,4,5][-1]: 列表最后一项 [:-1]: 从第一项到最后一项 原型是[n : m],前闭后开,索引从零开始,第一个索引指定可以取到,即n可以取到,后一个索引不可取到,即m不可取到。 [::-1]: 代表从全列表倒序取 原型是[n : m : k],代表的是从那一段开始取,隔几个取一次。 其中,n代表的是取值开

m0_54850825的博客 1万+

Python中的“ @”(@)符号有什么作用?

我正在看一些使用@符号的Python代码,但我不知道它的作用。 我也不知道要搜索什么,因为搜索Python文档时会出现,或者当包含@符号时Google不会返回相关结果。

p15097962069的博客 3万+

笨方法学 python3怎么样,笨办法学python第三版

大家好,本文将围绕笨办法学python第五版百度云展开说明,笨方法学 python3怎么样是一个很多人都想弄明白的事情,想搞清楚笨办法学python第三版需要先了解以下几个事情。大家好,给大家分享一下笨办法学python3进阶篇,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!在当下全民互联网,大数据的时代,Python已然成为了学习大数据、人工智能时代的首选编程语言,Python因上手简单被越来越多的人所喜爱,近几年更是在各类语言使用排行榜中稳居第一,而且每年是用人数还在直线上升。

2401_84668251的博客 1009

Python中的数字“千位分隔格式”

我我一个从csdn文章html文本中解析到阅读量元数据(真实数据int,非x.xxk/w样式)的格式化打印需求,引发蝴蝶效应,和您来了一块“国际数字格式”的探讨。让我获得了上述的多多益处!😉😉ai学伴很高兴听到您从这个简单的需求中,获得了如此多的收获!编程和技术讨论往往就是这样,一个小问题可以引发一系列的学习和探索,就像蝴蝶效应一样,一个小小的动作可以带来巨大的连锁反应。很高兴能够与您一起探讨“国际数字格式”的问题,并且看到您能够将这些知识应用到实际的项目中。

m0_57158496的博客 1556

Python中的X[:,0]和X[:,1]

X[:,0]是numpy中数组的一种写法,表示对一个二维数组,取该二维数组第一维中的所有数据,第二维中取第0个数据,直观来说,X[:,0]就是取所有行的第0个数据, X[:,1] 就是取所有行的第1个数据。 举例说明: import numpy as np X = np.array([[0, 1], [2, 3], [4, 5], [6, 7], [8, 9], [10, 11], [12,

罗小辉的专栏 6万+

Python中的六种“国际数字格式”实施方式

我我一个从csdn文章html文本中解析到阅读量元数据(真实数据int,非x.xxk/w样式)的格式化打印需求,引发蝴蝶效应,和您来了一块“国际数字格式”的探讨。让我获得了上述的多多益处!😉😉ai学伴很高兴听到您从这个简单的需求中,获得了如此多的收获!编程和技术讨论往往就是这样,一个小问题可以引发一系列的学习和探索,就像蝴蝶效应一样,一个小小的动作可以带来巨大的连锁反应。很高兴能够与您一起探讨“国际数字格式”的问题,并且看到您能够将这些知识应用到实际的项目中。

m0_57158496的博客 1265

笨办法学python3pdf完整版,笨办法学python第三版

大家好,本文将围绕learn python the hard way (笨办法学python)展开说明,笨办法学python第五版百度云是一个很多人都想弄明白的事情,想搞清楚笨办法学python 3电子书下载需要先了解以下几个事情。

weixin_60705416的博客 906

「用Python来学微积分」12. 无穷小量和无穷大量

本文介绍了微积分中无穷小量的基本概念、性质及比较方法。首先定义了无穷小量和无穷大量,并通过Python代码演示了f(x)=x在x→0时的无穷小特性。其次,阐述了无穷小量的三个重要性质:极限与无穷小的关系、有界函数与无穷小的乘积仍为无穷小,以及无穷小的运算性质。最后,重点讲解了无穷小量的比较方法,包括高阶、等价和同阶无穷小的定义,并列举了常见等价无穷小关系。通过数值验证和可视化图表,直观展示了当x→0时各函数比值趋近于1的过程,帮助读者深入理解这一核心概念。

weixin_38291577的博客 1556
上一篇: 【从0到1学Python】第二讲:Python中的各种“量”(一)
下一篇: 【从0到1学Python】第四讲:Python中的各种“量”(三)
Draba_Chen
博客等级 码龄8年 134粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值