00:00
除了我们的百分号能够格式化字符串之外啊,能够格式化之外,我们另外一种方面的函数也可以格式化字符串操作,而且它的格式化比我们这个要先进的多啊,要先进多,所以它是新版本出现的嘛,那在这里边format是一个专门的函数啊,Format是一个专门的函数,那么下面为大家讲解form面函数的格式啊,Form面函数的格式不难啊,直接是变量啊,字符串变量点FMAT方框里边传参数就可以了。传参数就可以了。参数逗号参数,然后逗号加了点,可以传很多很多很多,当然这只是一个基本格式啊,这是一个基本格式。啊,当然用起来它的还是比较千变万化的啊,写上Y下划线扣五_零七文件。好,新建文件成功。来为大家讲解一下format函数for ma format函数先讲最基本的操作啊,基本操作也就是说我想给什么呀,给一个字符串格式化一些数据进去,基本操作大一等于。
01:12
等于什么东西呢?我们写上叫做我的爱好是玩游戏,对不对?好,要写,要写入一个游戏。不是不在双眼行为要传入一个爱好,是游戏这么一个内容,但是呢,咱说了你这个爱好可以改呀,是不是,所以直接写死,那这样打印出来的结果那不就是固定的吗?STR1右键。输出一遍,我大家要是玩游戏,是是是玩游戏啊,应该叫玩游戏好没问题,但是呢,如果我希望这个爱好是可以根据我的需要在程序中进行修改的,那么这样是不是就固定了,为了解决这个问题,我们可以使用format进行一个操作,可能这怎么怎么玩呢?看好了上面这个串字符串,我把它取下来。
02:02
把这也就把我的爱好是什么东西先取出来,然后干什么事呢,在这个位置写一个划括号。就就是占位符号啊,只不过我们这个不再用什么百分D百分之S占了,就一个画框占住就可以啊,不用写那些乱七八糟的东西,然后呢,如果你希望传入外号怎么办呢?看好了,Result等于t1.formaformat套上括号。然后干什么事的,把你单号往里一传就可以了。这种情况下,它会自动把你这个参数传到你的字符串的括号当中,因为字符串是在这啊,传到括号里边,所以这次我们打印result,你会发现。它输出的结果就是,哎呀到啊右键运行一遍。我的爱好是玩游戏,如果你不希望玩游戏了,你可以改,比如说我的爱好是什么呢?学习啊。学习,那么这个时候右键运行一遍,我大家要是学习看见了吗?所以这是最基本的一个操作,将你前面将你一这个参数直接传给他的括号。
03:08
然后格式化出一个结果来,给个B新的变量,你就可以接受BC打印了啊,当然百分也可以这么做,对不对?那它的优点在什么呢?不用记什么百分D啊,百分之F,百分之这个什么这个S,百分之C呀,百分之U啊,1%,百分之G啊,一大堆的东西都不需要记,写个块就可以。比如说我写一个来提升操作啊,我们来继续提升难度啊,提升操作,我写我的好朋友是谁谁谁谁谁行不行,STR1等于啊,我的好朋友有三个啊,是谁呢?划括号逗号花括号逗号花号,也就表示我现在是不是需要传入三个朋友,好那这个时候怎么传呢?也不难,Result等于ST1.mat乘号,你这留了三个括号,我下面就要对应的给你传三个参数叭,如说我们这里传第一个叫张三。
04:03
第二个叫做李四,第二啊,写错了啊,李四。第三个叫王五好,那么这个时候我们再次打印result。来看一下运行结果,来右键运行一下,看到没有,我的好朋友是张三李四王五。这就意味着什么问题呢?这就意味着在我们这里边儿,实际上是多个价位符,就需要多个参数传入,对不对,很多人都少一个行不行,或者是少点行不行,你看一下行不行,来右键运行一遍,多了一个逗号啊,右键运行一遍。看到没有是不是也不行啊,所以数量要对齐,这是必要的操作,那么这里边其实还有一些问题,还有一些问题的,这个只是什么呀?这个只是所谓的提升操作,只是多个参数而已啊,多个占位符或者多个参数啊。多个占位符。多个参数,但是还能可能会遇到更复杂的情况,什么情况呢?我需要传入的数据太多了,多到什么呢?多了我可能记不清,比如说这个时候啊传入。
05:12
传入多个数据,传入多个数据,这些数字的数据呢,还不太好辨别,还不太好辨别啊,那我们在这里边可以什么呢?可以这个叫做S,叫做ST1啊,等于。想要穿?然后小减上小明的身高的年龄吧,年龄是一个值啊,占一个位置对不对,小红的身高啊,小红的身高。小红。的身高是多少?然后小刚的身高不是小嘎嘎小刚的身高。的身高是多少?好,也说都穿身高是不是?这写三个其实还可以好点啊,你要写30个怎么办呢?它存在的问题是什么呢?Result等于ST1.formma存在的问题是当我传入三个数据的时候呢?比如说啊,一个一米七零啊,一个一米八零,一个一米五零啊,一米六零吧,一米六零,一米六零啊,那这三个身高我传的顺序对吗?
06:25
好来,如果你认为是对的,那也我也没什么话说,但是这个三个数据确实可以传进去啊,因为按照位置是不是第一个第一个第二给第二第三个第三个如果说。位置有问题怎么办?你小红身高一米八,小刚才一米六,是不是一般都写反了是不是?那注意如果你的参数位置写反了,我们可以根据位置来进行调整,在我们的占位符中。允许使用参数编号,占位符啊中使用参数编号。
07:02
使用使用。参数编号,我们的参数其实也有一个编号,那第从什么判算呢?那就是第零个,第零个参数,第一个参数,第二个参数,所以如果你你的参数传反了,可以调整字串的小明的身高,比如说就是一米七零,那我写一个零,如果小红的身高是一米六,那他是二,编号是二啊,我写一个二,看见了没有,小刚的身高一米八,我写一个一,那么这个时候再看运行结果。小明的身高一米七,小红的身高一米六,小刚的身高一米八,看见了吗?所以传入多个数据的情况下,我们允许在占位符当中就是这个括号里边啊使用参数的编号。那叭说,那这玩意儿不是本末倒置吗?你这不是相当于传参数的时候传错了,回去改人家字符串吗?没错,确实是这种情况。当然为了避免我们数据多的情况下传错了,我们又更加简单的方式来看,传入多个数据,传入多个数据,但是呢,干什么事呢?我们使用一种特殊的参数传递,叫做使用关键的参数啊。
08:12
使用。关键字参数传递要想使用关键字参数传递,我们就需要做一个小小的调整,什么调整呢?来,字符串拿回来。从他这块就要改变了啊,我们使用编号其实还是有一个问题,就是哎呀两三个还好,如果十多个编号的话,一会儿就把自己记混乱了,对不对?为了防止这种情况,我们允许占位符当中不写它的参数编号,而是写参数的什么呢?行参名称好多行参在哪啊?你自己定的就是行参,比如说小明,我就写个小明,小红我就缩写成小H,小高我就写成小J。那么这种情况下写的注意字符串就表示我format的时候必须使用关键字函数传递,那么这个时候form你你念错了,这个时候如果想进行格式化操作,别这样玩,Result等于SP1.formmat块。
09:09
传的时候不可以按照位置传了,你写个一米七,一米八,一米六,会报错的,必须这样写小明的身高。是一米七五,小刚的身高是一米八三,小红的身高是一米七二,看见了吗?这种方式就是上面如果占位符里边使用了字符串啊,来占位置的话,下面必须以关键的参数进行往里传递,这个时候你看顺序不在乎的,你顺序随便调,你把小名放最后都无所谓啊,我只要什么呀,只要保证写上这个占位符的这个字母就是,其实就是形态名称啊,它就随意传,但是值不会变呢,看到没有,是不是小明依然是一米七零,是不是啊,没打印啊,写错了,看我还以为正确了,结果忘打印了,Sorry啊,来result运行练,我们发现小刚就是一米八三,看到没有,小红就是一米七二,小明就是一米七五,他不在乎你这个顺序怎么调,其实这也是什么呀,关键字参数的一个特征吧,对不对?好了,那这样一来的话,关于我们什么关键字参数的方式也介绍完了。
10:13
关键的参数介绍完了之后来别着急继续来操作。这次是什么东西呢?小明的年龄,小红的你,而且年龄身高,为什么又年龄又身高呢?复制错了啊,这个应该是身高啊,写错了。看错了,不好意思啊,升高啊,下面这个也升高,好,下面接下来把上面这个字符串拿下来,我们再做一个操作啊,再做一个操作,什么操作呢?比较奇怪,这个操作奇怪在哪呢?请注意啊。奇怪的位置在于,小明、小红和小刚的身高已经给我了,已经给我了,也就是说我们的身高hes就有了,有一个什么呢?有个圆组或者有一个列表,都无所谓啊,已经在那摆着。
11:00
小明的身高一米七五,小黄的身高啊,一米六五。小刚的身高一米八五,也就是说值别人已经给你给好了,你没有办法什么呀,单独使用它。那这个时候我能把它们格式化进来吗?好,确实是可以的啊,确实是可以的,那怎么做呢?如果身高已经是给定的,我们可以在这里边写上它的操作啊,Result等于我们的t1.form。那这面传的时候,我是不是因为所有的数据都在he里边啊,你可以这么做,很多时候那我会呀,因为列表虽然咱还没讲过,但是我知道用编号可以访问啊,列表零逗号啊,Hass中括号一逗号,Hass中括号二行不行啊,还真行啊,这种效果也行,但是不是我们要讲的,我们要讲的不是这种格式啊,先给大家看这种方式啊,你有这种想法说明你是正确的啊,他确实可以使用,看见没有,小明身高一米七五,小红一米六五,小红刚的是一米八五,是不是可以穿进来啊,但是我们要的不是这种格式。
12:08
我们要的格式有一个非常大的限定条件啊,什么限定条件呢?在这里边进行操作的时候,只允许传入hats。也就说不允许把这个列表拆分开啊,只能传一个he进来,这就出现了一个问题,什么问题呢?啊,有三个值要传入进来,而你传了一个形态,在这一个材一个食材,这一个食材里边却包含了三个需要的所有值,是不是,那这种情况下其实就是什么呢?叫做参数是一个容器啊,参数是一个容器的方式。那这个时候呢,参数不能拆的话,我们只能什么呀,在字符串这块格式化的位置着想了,是不是怎么做呢?大家请看我们可以这样做,零表示第零的参数,这个大家知道是不是很多说那这样能写吗?这样写就倒不是不能啊,怪尴尬的,来你看一下是不是身高是这啥身高是啥身高啥,怪尴尬的是不是,所以零表示都用这个has点了个参数,但是列表大家知道可以带索引访问对不对,所以零中的D0个。
13:21
也就是说零表是这个列表了,它也可以进行操作的,就是列表中的第零个参数啊,第零个值啊,列表中的第一个值,列表中的第二个值,这种方式也是被认可的,来右边一行一遍,看见没有,小明身高一米七五,小红身高一米六五,小王身高一米八五,是不是把整个列表传进来之后,我在这里边拆分的列表,所以这种方式叫做什么呀?参数是一个容器的方式啊,你可以在占位符里进行拆分啊。在占位符中拆分啊,在占位符中进行拆分,其中这里边注意啊,这个零可以不写的,因为不写的话默认表示第零参数,因为你这里就有一个嘛,是不是来韩哥说这样能行吗?来用先运行一下报语法错误了是不是,那怎么。
14:10
办呢?写上零是最安全的方式啊,写上零是最安全的方式,不写零的格式啊,不是这个啊,记错了,不好意思,不是这个啊,来一点给写一遍是不是可以啊是不是,所以其实这句做拆分容器的方式使用啊,好吧,那这样的话我们什么呢?Format函数就讲完了吗?没有format的基本操作就介绍完了来,所以format的格式是不是还是很多了,是不是好来接着来看啊,Format的格式主要在哪哈,它的主要格式改变也是在这个画框占位符这块啊,这块没什么变的,能变的就给大家说了,要么就传多个关键字的方式,要么普通方式是不是?那下面要给大家讲的是限定符号。所谓的限定符号就是使得什么呢?使得格式化具有更多功能啊,使得格式化,使不能这样写,使得我们格式化具有更多功能的操作。
15:10
更不对啊,更多功能的符号很多,说这个符号是啥意思啊,简单的说候我们之前学百分号的时候,还记不记得百分号的时候是不是有什么减号啊,加号啊,什么长度填充啊,是不是对齐方式啊,我们format也都有,所以format实际上对摆分号的一个计划啊,给百号的一个计划,那么下面要给大家讲解的是限定符号,首先先为大家讲解的是对齐限定符号啊。对齐限定符号,限定符号的使用和上面的使用稍微有点不太一样啊,对齐限定符号一共只有三个啊,哪三个呢,小于二。大于号和上箭头。这个上箭头不太清楚啊,大家看啊,这确实有个上线就shift加六一阳符吗?Shift加六就那个一阳符看到没有,确实有啊,这个表示走对齐啊,这个表示居中对齐啊,虽然比较小,但是还有啊,居中对齐这个表示右对齐。
16:11
所以它真的是存在的啊,真的是存在的,然后呢,而且限定符号除了对齐之外,还可以直接设定填充内容啊,因为为什么要对齐啊,肯定有长度了呀,是不是肯定有填充了才会涉及到对齐方式啊,来看好了。比如说我们在里边写一个把上面这个注释调吧,先定符号给大家分开好不好,把上面这个基本操作注释调。好,把下面这个一起注释进来。这里面用过多行注释了,用过多行注释的话没事,取消这个吧。好,大家自己在做测试的时候记得解开注式哦,好,那我们在里边来看一下线,你化个水,比如说我的也写一个字号吧,F t1啊,等于好我的女朋友。
17:01
我的女朋友是是谁呢?哎,占位符占一个啊,占位符占一个,那在这里边我就可以往里传数据呗,是不是,那就是result等于ST一点S一点for MAT方便号上括号,然后写一个小红啊小红,我女朋友是小红,这有问题吗?没有问题,打印出来就然是我的女朋友是小红了,是不是is。好,来,右键运行一遍,确实出来我的女朋友生活。但是接着来看,在我们这里边啊,可以为小红或者叫传入的内容设定长度,设定长度好了,这咋设定啊,首先第零个参数。是不是啊,写进去和没写一样啊,还是小是不是,如果要限定的话怎么办呢?在这个零后面加冒号。加括号,比如说我要限定的长度是几?在注意看好了,在最后写,比如说长长线度长度十写在后边,前面还得写两个东西,用什么符号填充。
18:08
填充完了之后,我原有内容对其方式是什么样的?比如说我写成这样的这种格式解读,为什么呢?我未来传入的内容一定会是十个长度不够的,使用at符号填充原有内容靠左对齐,所以最后的结果应该是小红后边有八个at符号,来右键运行一遍,看见没有?我的女朋友是小红后面有八个at符号,看见了吗?这就是他的什么呀?对齐方式限定,当然对齐方式的格式里边也有限定长度啊,所以它们是一套的明白。这个格式我给大家写一下吧,行不行,限定符号它是在一起的啊。来限定符号,限定符号第一个是对齐相关啊,对齐相关。对齐相关这里边相关这里边儿直接就带着神出内容和这个对齐方式以及长度啊,它是怎么写的呢?限对齐相关的限定符号啊,是这样写的。
19:10
它的格式是什么呢?参数位置冒号。然后跟上什么呢?填充符号。填充。填充符号,然后然后后面跟着对齐符号啊。对齐符号中间没有间隔,然后是什么呢?总长度就这么写的,举一个例子,比如说我们写一个一冒号,然后呢,写一个井号,然后写一个上箭头,上箭头不对啊,井号我们写一个右箭头吧,写一个20,这里表示把第一个参数传进来。并且干什么事呢?未来填充至20个长度,然后不够的位置用井号填充,然后呢,原有内容靠右对齐,就这个意思啊,你再回来看一下是不是这么个意思啊,第零个参数传进来了,是不是,然后传进来不够十个呢?我要补齐十个不够的位置呢,使用X符号填充,然后靠原有内容小红靠左对齐,你可以随意更改哦。
20:08
来,井号来右键。运行一遍看见了吗?是不是变成井号了?然后呢,接下来看,我如果说希望小红的内容是居中对齐的也没关系,S71等于把上面这个字符串拿起来。你要改的仅仅是对齐符号,这一个对齐符号是谁?是不是这个大于号小于号啊,我说了居中对齐是不是应该上箭头,是不是来右键小红在中间啊,井号在两边看见吗?如果希望小红在右边没有问题,也就是右对齐呗,把上面这个拿过来。直接把其中的对齐符号改成小大于号就可以了,这个时候小红在右边,八个井号在左边,看见了吗?所以这叫做对齐限定符号,听懂了吗?嗯。好,对齐限定符号讲解到这里边就OK了,对齐定符号完了之后,我们接下来讲其他的限定符号啊,限定符号还有其他的啊,别着急,下面为大家讲解的是进制转换心灵符号。
21:09
进制转换啊,就是二进制十进制八进制啊,进制转换现金符号啊,这个用的比较少啊,但是确实是有用的,首先我们在里边STR1符串一等于啊,随便写一个字符串,比如说写上我的体重。我的体重是90公斤。哎,这样意写的时候咱干什么事呢?哎,这位符啊,是不是好没有问题,然后我们在这里边进行格式化操作,那么result等于ST1.format,我在里面穿一个90,那么它自然会把90按照位置是不是传给默认的,这里面其实就一个嘛,是不是,所以我的体重是90公斤,没有问题啊,我90公斤大家看好了。在这里边啊,我可以写上零冒号表示第零个数传进来呗,是不是,如果说我希望数值是以十进制方式表示啊,写个小D就可以了,来右键运行一遍,是不是90公斤啊,如果你希望数值不是十进制,而是以八进制,写个小O,写个小O啊,右键运行一遍。
22:13
看见没有132公斤,这不叫132啊,叫1328进制的132公斤,所以说在这里边实际上限定符号可以通过这个来改,这是十进制啊,十进制如果你希望八进制,那则需要将其字符串中的冒号后边这个D啊。给我改成八进制的符号,八进制的符号是不是小欧啊,是不是好,那么这个时候它出来的是八进制的一个结果啊,八进制,如果你需要二进制也没有问题,老规矩把这个值复制过来,只需要把这个D改成一个二进制的小B就可以啊,Bary二进制,那么这个时候它以二进制的方式帮你输出公斤数啊,肯定是100什么玩意儿的,是不是二进制格式输出90,如果要16进制我也可以做到,那么在这里边井号16进制的用法。
23:06
啊,和这个一样,其实啊,无非就是把这个D改成一个小X。那么这时候就是16进制啊,来右键运行一遍。好,体重是5A公斤,就是16斤,直到90,看见了吗?这就是我们的叫什么呀。进制转换线定符号啊,禁止转换限定符号。好在这里边啊,限定符号对齐相关的有这个啊,其中这个是啊,没写还没写这个啊,这个还没给大家标,标清楚所有内容给大家标清楚吧,行不行,这个叫做左对齐啊。左对齐。这个叫做居中对齐。齐不对啊,居中对齐,下面这个叫做右对齐。我们刚刚讲的是什么呢?是这个进制转换啊,进制转换符号,进制转换符号倒是比较少,一个是最常见的,D叫做十进制啊,一个是什么呢?B叫二进制。
24:07
一个是小O啊,叫做八进制,然后一个是小X,表示16进制。需要注意大家发现没有限定符号,一定是冒号后边啊。必须在冒号后边使用啊,冒号后面使用啊,这是限定符号的一个特征。到现这个冒号来使用,很多时候,那这个零是不是可以零是不是必须得写呀?不是啊,我告诉大家一个小秘密啊,什么小秘密呢?就是你在使用的时候,如果这个参数是零,你可以默认不写,效果一样的还是5A,看见了吗?所以如果是零的话,可以直接写冒号啊,但是这个小技巧啊,你写上去可能看着比较舒服一点,好吧,好了,这个限定符号完了之后,接着来看下面要讲的是精度限定符号,因为我们之前也讲过了,百分号是不是就是精度啊,那form面凭什么就没有精度呢?所以form面其实也有精度限定符号,来看一下精度限定符号。京东的现金符号呢,用起来跟百分号倒是很相似啊,比如说我们写上派的值是多少,S加一啊,等于字符串里边派的值派的。
25:13
派的值是多少?好,然后在这里边括号很多,说那它是不是默认也是小数点后自动补充六位啊,这个不是啊,看一下你就知道了,Result等于t1.forma。宝贝,我们写一个3.141592653就能背到这儿啊,然后打印一遍。好result,它输出的自然是3.141592653啊,很多时候写少点写少点也没有关系啊,你写几个他就给你几个啊,这个不像百分啊,写几个就给几个,但是如果我写的很多,我只需要小数点后两位或者三位怎么办呢?没关系,看好了第连个参数冒号,因为就一个嘛,是不是,然后点2F就行,其实跟那个百分号格式化很相似的,表示小数点后啊两位浮点数啊,就个意思,右边运行一遍。
26:05
还是3.14,看见没有,如果你想保留三倍,那就点3F呗,那就3.141 3.142了,对不对。3042,也就是说它依然按照四舍五入的方式进行操作,看到了吗?这就叫做精度限定符号,很多宽度呢,上面是不是有宽度啊,是不是宽度在这呢?啊好,来接着来看,除了精度限定符号之外,我们还有最后一个什么呢?最后一个限定符号叫做金融数字啊,金融数字限定符号金融数字啊。金融数字限定符号,那么大家都知道,呃,金融数字这个东西呢,在支票上写的一般都是什么啊,每隔三位有个逗号,每隔三位有个逗号对不对,然后小数点后也有其他的数字是不是,那比如说我们在里边写上啊。写上什么东西啊呃,金融数字也可以当天文数字吧,比如说我比如说写一个字说S加一啊,等于我的头发有多少根,行不行叫我的头发,我的头发有。
27:01
有多少根啊油?写错了有多少根呢?好多少根,那这个我就随便问一个数字行不行,Result等于ST1.forma方便看看我们就随便写数字了啊。写,注意我写的时候是没有格式的,就直接加写就行了,然后呢,打印这个结果,Print括号result,右键运行一遍,你会发现它输出了没有问题,对不对,但是你读起来的话,你会发现啊,各是百千万,是不是一位位都很麻烦啊,没关系,我们在这里边允许使用限定符号,直接来搞定逗号就行了。看到没有,在冒号后面加一逗号,右边运行一遍,自动给你每三位加一个逗号,每三位加一个逗号,这样读起来是不是更加方便了,所以叫做金融数字限定符号,好了,把这个也记一下啊,精准号那是我们的精度限定和金融数字限定啊。精度限定。精度限定符号,那么这个的限定符号非常简单,就是一个什么点NF啊,点2F加写吧,它就表示小数点后,小数点后点小数点后。
28:15
保留两位啊,这两位你随便改上,是不是还有最后一个金融限定符号啊,金融限定符号,金融限定符号那就是一个逗号啊,就一个逗号,没别的,然后它就表示每三位加一个逗号,表示数字的什么呢?数字从后向前,或者从右向左,从右向左。从右。向左啊,三位每三位加一个逗号,每三位数三位数。添加一个逗号,当然它有有有说法的,不是说小数也加啊,仅限整数,整数部分啊,整数部分。小数部分它是不给你加逗号的啊,那这样来的话,关于form ma函数的格式化操作也就介绍完了,那么我们两种格式化的话,注意百分号,一个好处是PYTHON2PY3通用啊,但是我们这个方面的特性是它用起来更加的强大,更加的方便,所以具体用哪种看你实际需要啊,虽然你不用都学,但是你最起码得都认识对不对。
29:21
关于本节字符串格式化的内容,我们介绍到此一会或者叫下一小节,为大家介绍剩下的字符串的最后一部分内容,这是我们的字符集与贝数据类型相关内容。好了,本节到此结束,感谢大家收看。
我来说两句