您当前的位置: 首页 >  Python

嗨学编程

暂无认证

  • 1浏览

    0关注

    1405博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

python 浅析格式化输出和深浅copy

嗨学编程 发布时间:2019-04-22 21:07:56 ,浏览量:1

一,格式化输出

格式是 :百分号+占位符

主要有三种使用形式:

  • %s  (其中s表示string)表示字符串
  • %d  (其中d表示digit)表示数字
  •  %f  (其中f表示float)表示浮点小数,也称小数 

其他的如下:%% 百分号标记 #就是输出一个% %c 字符及其ASCII码 %d 有符号整数(十进制) %u 无符号整数(十进制) %o 无符号整数(八进制) %x 无符号整数(十六进制) %X 无符号整数(十六进制大写字符) %e 浮点数字(科学计数法) %E 浮点数字(科学计数法,用E代替e) %f 浮点数字(用小数点符号) %g 浮点数字(根据值的大小采用%e或%f) %G 浮点数字(类似于%g) %p 指针(用十六进制打印值的内存地址) %n 存储输出字符的数量放进参数列表的下一个变量中

Python支持将值格式化为字符串,虽然这可以包括非常复杂的表达式,但是最基本的用法是将值插入到%s 占位符的字符串中。

%格式化符也可用于字典,可用%(name)引用字典中的元素进行格式化输出。

想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载!

下面举例说明:

1,打印字符串

title = "hello  world!"
print( "%s" %title)
结果:hello  world!

注意:这里的 %s 被替换为后面 % 符号后窑传递给字符串的内容(他可以包括单个和多个字符串)

2,打印整数

number = 123
print("%d" %number)
结果:123

3,打印浮点数

number = 123
print("%f" %number)
结果:123.000000

python2.x  python3.x默认浮点数都保留6位小数

4,打印浮点数(指定保留位数)

number = 123
print("%2f" %number)
print("%4f" %number)
结果:123.00
结果:123.0000

%f里指定保留小数位数时具有自动四舍五入的功能,比如b=3.14159  使用%.3f格式化之后输出的结果变成了b=3.142

5,指定占位符宽度

number = "ABCDE"
print( "%6s" %number)
print( "%06s" %number)
print( "%8s" %number)
结果: ABCDE
        0ABCDE
            ABCDE

指定输出d使用6个字符宽度,如果不够在前面补零,输出字符串时,默认右对齐,其实可以调整的

二,深浅copy

  复制,首先我们从切片技术说起。它应用于所有的序列,包括:列表,字符串,元祖。但是切片不能应用于字典,对于字典只能使用D.copy() 和 D.deepcopy()方法。

  下面具体说一下深浅copy,可以应用于序列,也可以应用于字典

import copy
 
a ={'a':1,'b':2}
x = copy.copy(a)          #浅拷贝:只拷贝顶级的对象,或者说父级对象
y = copy.deepcopy(a)    #深拷贝:拷贝所有的对象,顶级对象及其嵌套对象。或者说父级对象及其子对象

所以说:

  • 深浅拷贝都是对源对象的复制,占用不同的内存空间
  • 如果源对象只有一级目录的话,源对象做任何改动,不影响深浅拷贝对象
  • 如果源对象不止一级目录的话,源对象做任何改动,都要影响浅拷贝,但不影响深拷贝
  • 序列对象的切片其实是浅拷贝,即只拷贝顶级的对象
关注
打赏
1663681728
查看更多评论
立即登录/注册

微信扫码登录

0.0822s