python字符串格式化符号:
%g 是 %f 和 %e 的简写是什么意思?到底是 %f 还是 %e?
对此我用代码测试了一下:
>>> a=100000 >>> print("%g"%(a)) 100000 >>> a=10000000 >>> print("%g"%(a)) 1e+07 >>> a=1000000 >>> print("%g"%(a)) 1e+06
可以发现,%g 是自动选择输出格式的,在六位数的情况下就会以科学计数法方式输出,文章中说 %g 是 %f 和 %e 的简写,但是我发现上述不是科学计数法方式输出的时候输出的是一个整数,于是又进行了如下测试:
>>> a=100000.0 >>> print("%g"%(a)) 100000 >>> print("%f"%(a)) 100000.000000 >>>
发现 %g 在不是用 %e 输出的情况下和%f还是有区别的
对此我又做了如下测试:
>>> a=100000.1 >>> print("%g"%(a)) 100000 >>> a=1.0 >>> print("%g"%(a)) 1 >>> a=1.1 >>> print("%g"%(a)) 1.1
发现在 a=100000.1 的时候输出的数并没有小数点后面的 1,对此我对比了 C 语言 %g 的格式输出,猜想 python 中应该如同 C 语言一样,%g 用于打印数据时,会去掉多余的零,至多保留六位有效数字。
python字符串格式化符号 %f 可指定小数点后的精度。
>>> num=18.7254 >>> print("the price is %.2f" %num) the price is 18.73 >>>
字符串截取字符补充:
# 0、a,b为参数。从字符串指针为a的地方开始截取字符,到b的前一个位置(因为不包含b) var1 = "hello world"; print(var1[a: b]); # 1、如果a,b均不填写,默认取全部字符。即,下面这两个打印结果是一样的 print(var1[: ]); # hello world print(var1); # hello world # 2、如果a填写,b不填写(或填写的值大于指针下标),默认从a开始截取,至字符串最后一个位置 print(var1[3: ]); # lo world # 3、如果a不填写, b填写,默认从0位置开始截取,至b的前一个位置 print(var1[: 8]); # hello wo # 4、如果a为负数,默认从尾部某一位置,开始向后截取 print(var1[-2: ]); # ld # 5、如果a>=b, 默认输出为空。 print(var1[3: 3]); print(var1[3: 2]);
随机数函数中缺少 randint,sample
random.randint(x,y) #随机生一个整数int类型,可以指定这个整数的范围
实例
>>> random.randint(1000,9999) 8449
random.sample(sequence,length) 可以从指定的序列中,随机的截取指定长度的片断,不修改原序列。
>>> lst = random.sample('abcd1234',4) >>> strs = ''.join(lst) >>> strs 'a432' >>>
python 不支持复数转换为整数或浮点数
>>> float(4.5+0j) Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> float(4.5+0j) TypeError: can't convert complex to float >>> int(4+0j) Traceback (most recent call last): File "<pyshell#6>", line 1, in <module> int(4+0j) TypeError: can't convert complex to int >>>
感谢您的支持,我会继续努力的!
支付宝扫一扫,即可进行扫码打赏哦
1048Python3 字符串
python字符串格式化符号:
%g 是 %f 和 %e 的简写是什么意思?到底是 %f 还是 %e?
对此我用代码测试了一下:
可以发现,%g 是自动选择输出格式的,在六位数的情况下就会以科学计数法方式输出,文章中说 %g 是 %f 和 %e 的简写,但是我发现上述不是科学计数法方式输出的时候输出的是一个整数,于是又进行了如下测试:
发现 %g 在不是用 %e 输出的情况下和%f还是有区别的
对此我又做了如下测试:
发现在 a=100000.1 的时候输出的数并没有小数点后面的 1,对此我对比了 C 语言 %g 的格式输出,猜想 python 中应该如同 C 语言一样,%g 用于打印数据时,会去掉多余的零,至多保留六位有效数字。
1047Python3 字符串
python字符串格式化符号 %f 可指定小数点后的精度。
1046Python3 字符串
字符串截取字符补充:
1045Python3 数字(Number)
随机数函数中缺少 randint,sample
random.randint(x,y) #随机生一个整数int类型,可以指定这个整数的范围
实例
random.sample(sequence,length) 可以从指定的序列中,随机的截取指定长度的片断,不修改原序列。
实例
1044Python3 数字(Number)
python 不支持复数转换为整数或浮点数