00:00
同学们大家好,那么我们将在本节开始为大家讲解数据类型的转换,因为在上一节我们已经介绍完了所有的数据类型,所所有的常用数据类型,对不对?那么这节课我们就来看一下数据类型之间如何进行转换操作的。那在这里面数据类型。转换,那什么叫做数据类型转换呢?或者是这个概念大家没有明白,是不是数据类型转换?所谓的数据类型转换,其实就是让一种数据变成另外一种啊,就是一种,比如说我可以把什么呀,呃三四五一二三四五六七八九十的数字转换成布尔值的处或者false,我也可以把什么呢?浮点数的什么呀?啊3.141592653转成整数的多少,那这种方式就叫做数据类型转换,或者把列表转成原组,原组转化成列表等等等等,把它的数据类型发生了变化,就做数据类型转换,其中数据类型转换分为两大类,哪两大类呢?它的分类是什么呢?一个叫做自动数据类型转换。
01:05
数据类型转换啊,一种叫做。强制设计的转换啊,和我们的强制数据类型转换,其中自动数据转换,强制数据转换还有别的名称,比如说自动数据类型转换,也叫做隐视数据类型转换啊,隐视就是隐藏方式,或者叫隐藏的方式啊,隐视数据类型转换,然后我们的强制转换呢,也叫做显示数据型转换,显示啊显示。啊,是不是这个是啊,隐藏的方式和显示的方式两种啊,啊,那这里边体现出它一个特征,什么特征呢?速度数据转换你看不见,但是强制数能转换你是可以看得见的,好吧,那下面我给大家简单的介绍一下自动数据类型转换,并且详细的介绍强制数据类型转换。啊,因为自动流行转换不是我们管得了的,自动视听转换需要注意什么特征呢?它是程序自发的行为啊,自发的行为,然后呢,在需要的情况下的情况下。
02:13
然后呢,进行的操作,所以我们是没有办法干预的,无法干预这不是我们说了算的事情,明白,然后呢,强制数据转换,它是什么呢?根据程序员的开发意愿。让不是这个意愿啊,开发意愿就是说程序员你想让他数据怎么转换,那么自己进行的手动操作啊,叫做自己书写代码啊,代码进行的操作啊,所以强制和自动,他们所谓显示和隐食就在这儿,隐示是自看不见的啊,他该转的时候就转了,然后显示你是可以看得见它的转换过程的,好不好,那怎么样来进行隐性数据,隐视数据的时候还显示数据转换呢,我们写下MY。
03:00
啊,我的代码麦下线扣的,然后呢,二_七啊二_七。这是我们应该是第七个文件了啊,来OK确认一下,那首先来看一下自动类型转换的相关特征行不行,了解一下就可以了,自动类型转换。的特征啊。首先我们在学任何一种数据之前啊,转换之前,我们要给大家提出一个原则性的东西啊,原则性的东西啊,什么样的性东西呢?叫做不同的数据之间无法进行运算啊,无法进行运算。啊,就是不可能得到结果了,就相当于你和一颗植物是不可能交配产生后代的,对不对,那我们在数据这块也遵循相同的原则,两种不同的数据是不可以进行混合的啊,操作是不行的,然后呢,来我们返回代码中,这是原则啊,那在这里边我干什么事呢?首先声明一个整数。
04:01
一个整数好没问题,我们写一个int VR好等于多少呢?99怎么样?然后我们再声明一个浮点数。好,我们再声明一个浮点数。有点数。好多少呢?Float v2啊float VR等于多少呢?好五点,呃五六行不行,5.56,然后呢,我想把它俩进行一个相加运算,看好了加法运算啊。加法运算虽然大家还没有学啊,但是我估计大家都看得懂啊,那加法运算怎么加呢?是把这样写特VR变量加上我们float VR。两个变量加完了之后产生的结果,注意要重新复制给一个新的变量来接收咱这个变量去做result行行结果的意思,好了,那那问题来了,首先这个程序里边这个是整形,这个是浮点型,毫无疑问,大家看也能看得出来对不对,那它们两个之间能预算吗?按照我们刚刚进行的说明原则,不同数据之间无法预算,他俩之间应该是没有办法预算的,应该会预算报错的,但是。
05:13
他俩预算是有结果的,来伪造预算有结果来又先预习一遍,得到了104.56,哎,太能预算了,那不科学呀,你这违反我们基本原则啊,是不是没有啊,这个程序并没有违反原则,原因是什么呢?这里边发生了转换啊,发生了什么呢?发生了自动类型转换。他说这怎么发生了呢?或者谁转成谁了呢?首先它的发生情况是自动发生的。自动自动产生的,并不是说我们怎么地啊。发声写错了啊,发生这个发生的自身转换是自动的操作,不是我们说自己写的,所以你肯定看不见,然后呢,咱来倒着推一下,很多说发的新的话,谁转谁了呢?是九十九转成五点,转成什么整数了啊,转成负点数了,还是5.56转成整数了呢?我们通过结果其实可以看得见,因为结果的值看出来是一例104.56,结果是不是浮点类型啊,对不对,来打印类型,你看看好吧,我们打一下这个结果的类型。
06:21
来,我们的tap好上光向上result。右键运行一遍。那这样来的话,哎,是不是104.56是浮减数啊,那既然结果是浮点数,反过来推,那想得到一个浮减数,其这两个浮减数进行运算对不对?所以弗float特VR本身就是浮点数,那么in特VR原来是个整数,所以可以确定这里边是int VR这个变量,它转换成了浮点数啊,浮点数由原来的时候九十九变成了什么呢?变成了我们99.0啊,然后再和5.56发生了运算,得到了这个结果,这里边就产生了一个自动类型转换,你看你没有管它,它自己就发生了,对不对?那当然大家也看到了,它的发生状态是什么时候发生的,是不是在运算的时候发生的呀?哎,所以这也是自动类型转换的一个特征,什么特征呢?叫自动类型转换,发生在什么情况啊。
07:15
自动类型转换叫做多发生在什么呢?运算。或者是判断过程当中。这是它的发生状态啊,这里边给大家讲的是一个运算的发生,是不是他说那判断呢,写判断倒是不难,但是大家并没有学过啊,这个操作没有学过,我们这里边儿如果是判断的情况的话,需要操作一下啊,这刚刚这个是运算情况对不对,是运算的情况啊。如果是判断的情况,需要用到一个特殊的格式,这个格式叫做什么呢?代码组咱还没有讲到啊,别着急,If这里边应该是一个true。然后呢,Print。给大家看一下,好,这个格式我们写上啊,Python。
08:02
PY贴身大法好。好搞定。然后运行这个程序的时候,大家会发现这个Python大好,这句话是输出的,是输出的,然后干什么事儿呢?然后注意看我把这个true改成false。保存一下,然后再运行一遍,你会发现它就不输出了,看到没有,这句话也没有了,这就意味着if后面这个值必须是一个不玩类型来控制下面这句话,到底输出还是不输出,如果是处它就输出。啊,这句话就输出你看。是不是这句话输出了,如果是false就不输出这么简单,要么输出要么不输出嘛,但是这里边并不一定非得放波尔类型的值,你放一个其他的数值,比如说放一个零可以,它也不会输出。看见没有?这定论为什么零变就是负呗,因为这块需要布尔值嘛,然后我给一个什么呢?99。注意这个格式啊,后面有个冒号99,那么它会输出。看见没有,那说明九十九变成了处,你给个什么呢?我给一个负五没有关系,它还是会输出,还是会输出,那因为负五也会转化成处,其实说白了,除了零之外,剩下都是false之外,这个跟大家之前点过这点是不是啊,除了零之外啊,剩下都会转成处,除了零转成false,那这样就OK了,那是不是判断的情况下,这里发生什么呀?发生了数值转化为叫做应该叫做整形啊,整形转化为了布尔类型是不是啊。
09:30
这里边儿就是它发生的第二种情况啊,发生的第二种情况,所以我说过啊,这个发生在运算和判断过程当中,这是它的一个特征,还有一个特征,那为什么上面这个不是整数变成不,不是浮点数5.56变成了五,而是九十九变成99.0呢?这涉及到自动转化类型的第二个特征,什么特征呢?叫做自动类型转换。类型转换写错了,自动类型转换叫类型转换,它会什么呢?向着更加精确的方向转换啊向。
10:06
更加精确的方向啊,精确的方向。不是景区啊,更加精确的方向转换。这样是为了防止什么呀,防止数际损失嘛,因为九十九变成90个零,并没有损失什么,但是5.56变成什么呀,变成五是不是就少了点五六了,是不是啊,这就是关于自动类型转换的一个内容,大家了解了吗?好了,了解了自动类型转换,我们主要讲解的在于下一部分内容,就是强制类型转换。然后呢麦下线code,然后二下线八文件好不好,然后呢在里边保存一下好OK,然后下面我为大家讲解强制数据流程转换。强制类型数据类型转换。强制数据运行转换呢,它不需要什么场合,你想转就转啊,你想转就转,所以它不需要什么啊,这预算环境啊,判断环境啊,通通不需要,那我们有几种数据类型呢?六大类数据类型是不是啊,并且第一种还分四种,所以一共是九个小九个数据类型,我们要针对于所有数据类型进行一个讲解,就是强制。
11:22
转换为什么呢?整形啊,强转换为整形是第一种。然后呢,INC,然后呢,以此类推,还有咱写上编号吧,行不行?第一个是强制转化为整形,每一种类型都要了解一下,第二个是强制转化为我们的浮点型。也叫什么?第三个是强制转换成布尔值,强制转换成布尔值哈布尔类型。咱的英文单词就是bol呗,然后第四个。是我们强制转化为负数啊负数。
12:00
然后呢,Complex。然后呢,第五个是强制转换为字符串。这是第五个强制转化为字符串。那字符串类型的话是str,对不对,Str,然后呢,第六个是强制转化为我们的列表。然后呢,List。第七个。是强制转化为元组。好,元组的话是突破啊,元组写错了,前任和元组。好,那它是单词是啊tu第八个是强制转化为集合。然后呢,集合是我们的set。打字比较慢,所以稍微忍一下也不是慢,就是键盘不太适应啊。强转换集合,OK,然后呢,它的词是。
13:03
然后呢,还有最后一个是强制转化为字典。强者回字典,字典的单词是D啊。好,那这就是我们所要学的强制转换数据类型中的所有内容,每一个都要给大家详细介绍一下,行不行?首先我们先看第一个,如何将数据类型强制转化为整形呢?那么我们可以在这里边新声明一个变量啊,新声明一个变量,写一个其他数据类型随你便,无所谓什么数据类型,比如说我们写一个8.9,这是不是福建型啊,好,为了大家看得出来,我们先打印原有数据类型和值行不行?打印原有的数据类型和值啊,数据类型和值。好。教大家一个新招,我们打印的时候不是只可以打印一个数据的,如果你想打印多个数据的话,你可以用逗号分开,你可以看见我在这打印的时候,12356是都可以打印的,而且中间有空格分开,对不对?所以我们直接打印类型和值行不行?类值咱就放前面了,类型咱放后面,Type框框VR这样一来的话,他会把我们这个值和类型在一行里边打印出来,大家来看啊。
14:17
是不是8.9是它的值,后面是它的类型行不行,这样是比较简短好看一点啊,好了,那这样一来的话,原有的数据类型是不是可以确定了,原有数据类型现在明显是浮点数嘛,那但是我想转换该怎么转呢?这里边用到的一个功能叫做int括号啊。Int括号就这个东西,就这个东西要想转好,我们这样。强制转换操作。强制转换操作,这个过程大家是完全可以看得见的啊,那很简单,因为这样的,比如说我们写上6V2。新变量来接受未来的结果等于什么呢?Int括号,把你原来的变量放进去就可以了,这就表示要把原来的变量VR里边的值通转或通过什么呀,这个int结构转换成一个新的数据类型啊,数据类型会放到这个new VR的变量里边,然后咱再次打印这个new VR,也就是打印转换之后的啊。
15:14
打印转换之后的数据类型和值,那怎么操作呢?Print print跑上括号,我们写上new v是它的值,它的类型依然使用type,括号写上new VR,那么我们右键运行面程序好不好看一看什么效果?OK,原来的8.9是浮点型,是不是转换之后变成了八整形啊,也就说它是不是舍弃掉了小数部分对不对啊,这是一个特征,所以大家要记一下行不行,那在这里边给大家记一下啊,关于什么呢?整形的转换啊,也就是我们int整形转换。直接写吧,整形转换,整形转换的特征还是比较多的啊,首先第一个就是关于浮点数啊,浮点数或者叫浮点型转换为我们的整形的时候,它是怎么操作的呢?直接非常简单,去掉小数部分。
16:08
就是去掉小数部分。因为大家知道浮点数就是整数和小数组成的是不是?所以去掉小数部分就变成了整形啊,就这么简单,看见了吗?那如果不是一个8.9这样的一个什么呀,一个数字,而是一个什么呢?而是一个其他的类型呢?比如说是个布尔值呢?OK,那我们再写个新的变量,还写VR行不行?上面这个变量给大家留着啊,省得你一会忘了到底数是原来写多少了?好,我们写一个处,那大家知道现在是不是不尔之处啊,右键运行一下,有其数可以看得见啊。处是不是布尔类型转换之后看见没有,变成了整形的一类型,是不是整形啊,然后false也一样的道理啊,如果你写成false的话,它则会转换成什么呀?整形的零看见没有,原来的布尔false转换成整形零,所以关于什么呢?关于我们第二个特征,什么特征呢?第二个特征就是我们的布尔值啊,布尔值需要转换吗?
17:03
布尔直需要转换啊,布尔值转换为整形的时候什么呢?形不对啊,转换为整形的时候处转换为一啊。True转换为一,然后false。转化为零。转换为零啊,然后呢,OK。那当然最开始整形不需要转换啊,给大家加上一句吧,行不行?整形不需要转换啊。整形不需要转换,因为你本身就是整形嘛,是不是还转整形没什么用啊,九转九还是九啊这样吧,咱第一个是整形,第二个是浮点形,第三个是布尔值,按照咱当时学的数据类型的顺序来记比较好,不容易漏,好吧,然后该到什么呀,该到负数了,对不对?那我们来看一下负数呢,如果写成一个负数的话,OK,那在这里边我们直接来写啊。负数,我们再写一个变量,VR。等于什么呢?比如说五减3G,好好老师,这能转吗?不能转啊,转换会报错的。
18:05
看见没有,不能转换负数成一个整形,废话,你总不能无中生有啊,又不是打三国杀是不是?所以不可以转换啊,这个要注意,负数无法转换啊,复数无法转换,无法转换为我们的长形。好,那这样的话,关于number类型是不是介绍完了,好,Number类型完了之后,我们看下一个大的数据类型是我们的字符串类型,那对于字符串类型的话,他们的情况比较多啊,所以我给大家多列几个,首先呢,如果只是一个普通的文字字符串啊,只是一个文字字符串,比如说我们写上一个hero hero是不是英雄,不好意思,它不能转换汇报错的。就是如果你直接给我这么一个东西,它不会让你转的,看见没有P是什么,是字符串的问题,确实没有问题啊,它转的时候报错了,看到没有值的错误啊,告诉你它不能够转换成一个十进制数值就不让转,所以普通字符串是不行的,但是有些字符串是可以的,什么样的字符串呢?
19:05
数字资产。也就是说,如果这个字符串里边这么写的,看好了怎么写呢?VR等于字符串引号啊,引号看好写了引号了啊,写一个99,很多人这是个整数99啊,不是注意看好了,只要有引号,是不是字符串咱之前说过啊,这叫做字符九九,所以不能念99,应该念字符九和九,然后右键运行的时候,你会发现,哎,还真能转,看到没有,是不是由字符串的九九转成整形的99,是不是可以转换哎。那9.9可以吗?不好意思,不可以。不可以看见没有依然不让转换,所以关于字符串能不能转呢?大家心里应该有数了,是不是字串类型可以转换的字符串啊,只有一种东西可以转换吧。字符串只有什么呢?纯。整形的字符串啊,纯整数吧,纯整数的字符串可以转换,其余都不写。
20:02
也就是说,除,除非你这个字符串里放的就是一个什么整数的格式,你剩下的什么东西都转不了啊。
我来说两句