Python第四篇:总结下python基础中很少人知的小技巧(第一弹)

       这篇博客专门针对没系统学习过python的小伙伴,因为我虽然会用python,都是通过零碎的开发,即拿即用式的学习,但是对于基础,还有很多知识的缺口,特此记录一下,献给需要的伙伴们。如果你是主学python的,此篇可能过于小白,不喜勿喷。

1.如何快速对字符串中可能会出现转义字符的进行转换?

例如:"你们知道\n是什么意思么?那么\t呢",我们需要打印上面字符串,但是打印时会将字符串中的转义字符进行转义,如下图

但事实上我们只是要输出而已。这时我们就需要将转义字符变回普通的字符,可以通过在字符串前面加上r或者R即可,如下图:

2.对字符串进行格式化输出

什么是对字符串进行格式化输出,有这么一个需求,你要输出一个字符串,但是可能还需要动态的加上一些参数,比如下面的字符串:

"我叫 xxx,今年xx岁,资产xxxx.xx元"

名字需要用变量类型为字符串的name的值填充,年龄用int类型的age,资产用float类型的account。那我们一般最直接的办法就是将所有其他非字符串类型的变量强转为字符串类型,比如用str(age),str(float)等等,然后在+起来。但是这样很麻烦,而且很死板。python目前提供了3种可以帮你快速实现上面的方法,而且还美观上档次。

  1. 通过f-string的方式,当然这时python3.6版本及以上才有的,示例如下

                

       看的出来它的实现形式就是在字符串的前面加个f,然后在字符串中用{变量名}的形式替换掉你要填入的值,很方便,无需考虑类型转换,python3.6以上的小伙伴们就直接用它吧。

    2.format()方法,示例如下

      

      这种跟上一种差不多,但是玩法更多,同样是用一个空{}来表示一个变量的占位,在字符串后面调用format()方法,括号里面的就按你指定的顺序写入变量名,当然,你随便写也没问题,可以在前面的{}中写入后面括号中指定变量名的位置也行。

    3. %类型

      这种格式化方式已经很老了,用 python很久的大佬可能还在用,但是这种方式已经很繁琐了,不够灵活很容易出错,因为要考虑类型,本来我们就要消除这个东西的影响,这种方式就提及一下,纪念一下。

    

主要是用%加类型名,再在后面用%(变量名)的形式做格式化输出。你看不仅复杂了点,还让float多出几个0,下面就补充下这几种方式如何控制精度。比如account保留小数点f-string中是通过{account:.2f},format()通过{.2f},%类型这种方式可以写成%.2f。

3.如何快速将一个数变成百分数?

当我们需要得到一个数值的百分数的时候,通常的情况是,这个数先转成str类型,然后两个相+。但是有可能出现偏差。我们可以用上面那三种格式化输出拼凑出%,示例如下:

还是看的出用f-string的模式更加简洁快速。它里面的%是表示直接将数值转换为百分数。

4.进制转换

python中有内置函数可以帮助我们进行进制转换。如下:

先了解下python中各种进制的开头

二进制:0b,八进制:0o,十六进制:0x

十进制转为其他进制:

这里我写了好几种表示方式,除了内置的转二进制bin(),转八进制oct(),转十六进制hex()等函数,还能通过f-string格式化输出来表示

其他进制转成十进制

其他进制转换成10进制就必须先把这个进制数变成str类型,可以不带前缀,但必须要在int(数值,进制数)中指定数值是哪种进制。

发布了65 篇原创文章 · 获赞 31 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/zhangtao0417/article/details/103277647