为期一周的日期时间表达结束,内容太多一时消化不了,得慢慢消化不同的表示方式和各种相应的函数和方法。回归到变量的表达上。以下是大大的原代码。

1、变量vars赋值字符串;颜色不是普通变量的颜色,是一个关键字该有的颜色;
2、以字符格式打印4;
3、对变量vars使用repr函数,并打印;
4、一字符格式打印浮点数相除;
5、遍历1——11的整数;
6、对整数取本身值、平方和立方,后边看不懂。

输出结果来看,打印出了字符4,字符串、浮点数、相应数值运算;但使用了repr函数的表达式,都出现了单引号;后边使用repr函数和rjust(*)方法的表达式,数值前都有统一的空字符——空格,且用括号统一括起了三个字符。为了搞清楚repr函数和rjust(*)的功能,做了相应改动。


用三个双引号表示字符串;加入直接打印vars变量。


发现字符串的输出结果任然是单引号表示;但直接打印变量只是出现字符串本身。由此可以推断repr函数,是对变量对象加单引号的操作,使其转换为字符。

在for 循环的语句中加入打印经过repr函数和rjust(*)方法的变量长度。


输出结果可以看到数值跟rjust方法定义的数值相等。repr函数可以把数值转换为字符串,可以推断rjust是定义几个字符位数的方法。代码中是对x分别定义两位、三位、四位字符位数,不足的用空格代替,且总是出现在字符之前。输出结果整齐一点,可以想到的是该方法也是一种格式化输出的方式。

把rjust方法去掉,发现输出很混乱;也印证了rjust方法是定义字符位数。

字符串用单引号表达,for循环中的打印语句不加括号,发现打印根本就不出现单引号也看不出来字符位数。但输出还算整齐。

去掉定义字符位数的方法,输出:

输出很混乱,不整齐;同样没有出现单引号和括号。那repr函数究竟是什么意思,vars关键字又是什么意思。

对str加括号输出;对字符串repr加括号输出;发现均可以输出,且输出并没有多大变化。

对数值str和字符repr新加入一个打印项,发现括号里的东西都变了,多项数值字符化后均加上了单引号;而字符串加上了双引号以示区分。

将字符串的表示换为单引号表示,发现输出结果依旧。由此可知python中进行字符转换操作时,加括号打印只是程序内设的表达方式,为了区分数值和字符串均加上单引号以示区分;并不是repr函数的功能。
查阅相关资料后才知道:
1、repr函数和str函数类似,都是进行字符转换操作的的函数;
2、vars函数是python中内置的函数;
3、rjust方法表示在字符格式化输出时右对齐;方法后的参数表示位数,不足的用空字符填补;当超过位数时并不截断;类似的方法还有ljust(左对齐)、center(居中对齐);
4、多个转换项打印,加括号后会为每项加单引号一一列出以示区分,打印出类似元组的形式
网友评论