zoukankan      html  css  js  c++  java
  • 字符串输出和深浅复制

    百分号占位符要严格区分字母
    # %s 字符串
    # %d 只能输出整数
    In [43]: '%d'%123.123
    Out[43]: '123'
    # %f 默认保留六位小数
    In [44]: '%f'%2.3
    Out[44]: '2.300000'
    # %.2f,四舍五入
    In [45]: '%.2f'%2.3
    Out[45]: '2.30'

    In [46]: '%.2f'%2.355555
    Out[46]: '2.36'
    # %c 把整数转换成 ASCII 的数字
    In [47]: '%c'%97
    Out[47]: 'a'
    # %o 八进制,满八进一
    In [48]: '%o'%8
    Out[48]: '10'
    # %x 十六进制
    In [49]: '%x'%16
    Out[49]: '10'
    # %e 科学计数法
    In [50]: '%e'%10.3
    Out[50]: '1.030000e+01'

    In [51]: '%.3e'%10.3
    Out[51]: '1.030e+01'
    # %r 看出原来是数字还是字符串
    In [54]: print('%r'%'123')
    '123'

    In [55]: print('%s'%'123')
    123
    # %后面的第一个数字指定长度,必须是大于字符个数的数字才能生效,每个字符都占位置
    In [56]: '%5.2f'%123.555555
    Out[56]: '123.56'

    In [57]: '%7.2f'%123.555555
    Out[57]: ' 123.56'

    In [58]: '%6.2f'%123.555555
    Out[58]: '123.56'

    #format
    In [59]: a = 'hello'

    In [60]: b = 'python'

    In [61]: c = 'aaa'

    In [62]: '{2}{0}{1}'.format(a,b,c)
    Out[62]: 'aaahellopython'

    In [63]: '{}{}{}'.format(b,c,a)
    Out[63]: 'pythonaaahello'

    # 保留两位小数
    In [64]: '{:.2f}'.format(12.333333)
    Out[64]: '12.33'

    In [73]: '{a:.2f}{b}'.format(a=13.222222, b=13131)
    Out[73]: '13.2213131'
    格式化输出的样子很多种,灵活运用,不一定全部用到
    # 百分比形式输出,数字控制几位小数
    In [74]: '{:.2%}'.format(.033)
    Out[74]: '3.30%'
    # 左对齐
    In [75]: '{:<10}'.format(12.3)
    Out[75]: '12.3 '

    In [76]: '{:0<10}'.format(12.3)
    Out[76]: '12.3000000'
    #右对齐
    In [78]: '{:0>10}'.format(12.3)
    Out[78]: '00000012.3'
    # 中间对齐
    In [77]: '{:0^10}'.format(12.3)
    Out[77]: '00012.3000'

    编码 encode
    # utf8
    In [79]: '潭州'.encode('utf8')
    Out[79]: b'xe6xbdxadxe5xb7x9e'
    # gbk
    In [80]: '潭州'.encode('gbk')
    Out[80]: b'xccxb6xd6xdd'

    解码 decode,以什么编码,就以什么解码
    In [81]: a = '潭州'.encode('utf8')

    In [82]: a.decode('utf8')
    Out[82]: '潭州'

    # copy浅复制
    In [93]: li3 = li2.copy()

    In [94]: id(li2)
    Out[94]: 2607632445064

    In [95]: id(li3)
    Out[95]: 2607632388488

    In [96]: li3
    Out[96]: ['a', ['b', 2, 3]]

    In [97]: li2[0] = 'c'

    In [98]: li2
    Out[98]: ['c', ['b', 2, 3]]

    In [99]: li3
    Out[99]: ['a', ['b', 2, 3]]

    In [100]: li
    Out[100]: ['b', 2, 3]

    In [101]: li[0] = 'd'

    In [102]: li2
    Out[102]: ['c', ['d', 2, 3]]

    In [103]: li3
    Out[103]: ['a', ['d', 2, 3]]

    In [104]: id(li2[1])
    Out[104]: 2607629869640

    In [105]: id(li3[1])
    Out[105]: 2607629869640

    # 深复制 deepcopy
    In [106]: import copy

    In [107]: li4 = copy.deepcopy(li2)

    In [108]: li2
    Out[108]: ['c', ['d', 2, 3]]

    In [109]: li4
    Out[109]: ['c', ['d', 2, 3]]

    In [110]: li[0]=1

    In [111]: li2
    Out[111]: ['c', [1, 2, 3]]

    In [112]: li4
    Out[112]: ['c', ['d', 2, 3]]

    In [113]: id(li)
    Out[113]: 2607629869640

    In [114]: id(li4[1])
    Out[114]: 2607632705544

    # 二进制序列类型
    In [115]: bytes(3)
    Out[115]: b'x00x00x00'

    In [116]: a = bytes(3)

    In [117]: a
    Out[117]: b'x00x00x00'

    In [118]: a[0]
    Out[118]: 0

    In [119]: a[1]
    Out[119]: 0

    In [120]: a[2]
    Out[120]: 0
    # 只接受二进制
    In [121]: bytes(b'abc')
    Out[121]: b'abc'

    In [122]: bytes('abnn')
    ---------------------------------------------------------------------------
    TypeError Traceback (most recent call last)
    <ipython-input-122-47dbf95c0e05> in <module>
    ----> 1 bytes('abnn')

    TypeError: string argument without an encoding

    # bytearray类型
    In [123]: bytearray(b'abc')
    Out[123]: bytearray(b'abc')

  • 相关阅读:
    vim 乱码问题的方法参考
    Node.js的原型继承函数 util.inherits
    UML类图画法及其之间的几种关系
    repo 小结
    Js_Eval方法
    Js_数组操作
    Js_字体滚动换颜色
    Js_图片轮播
    Jq_网站顶部定时折叠广告
    Js_网站右下角悬浮视窗可关闭广告
  • 原文地址:https://www.cnblogs.com/abc1997/p/12209532.html
Copyright © 2011-2022 走看看