Python2之数字以及字符串处理

  1. range() 函数

    range(1,5) #1 - 4
    ##输出
    #[1, 2, 3, 4]
    
    range(1,5,2) #以2为步长
    ##输出
    #[1, 3]
    
    for i in range(5) #默认从0开始
    	print i
    
    
  2. 数字与ASCLL的 互相转换

int(x [,base ])         #将x转换为一个整数  
long(x [,base ])        #将x转换为一个长整数  
float(x )               #将x转换到一个浮点数  
complex(real [,imag ])  #创建一个复数  
str(x )                 #将对象 x 转换为字符串  
repr(x )                #将对象 x 转换为表达式字符串  
eval(str )              #用来计算在字符串中的有效Python表达式,并返回一个对象  
tuple(s )               #将序列 s 转换为一个元组  
list(s )                #将序列 s 转换为一个列表  
chr(x )                 #将一个整数转换为一个字符  
unichr(x )              #将一个整数转换为Unicode字符  
ord(x )                 #将一个字符转换为它的整数值  
  1. 转换成二进制

    #自写
    binary = lambda n: '' if n==0 else binary(n/2) + str(n%2)
    binary(5)
    #python bin 转换出来的0b表示二进制
    print bin(4).replace("0b",'')
    #python format
    print "{:b}".format(4)
    
  2. 数字格式化

    数字格式输出描述
    3.1415926{:.2f}3.14保留小数点后两位
    3.1415926{:+.2f}+3.14带符号保留小数点后两位
    -1{:+.2f}-1.00带符号保留小数点后两位
    2.71828{:.0f}3不带小数
    5{:0>2d}05数字补零 (填充左边, 宽度为2)
    5{:x<4d}5xxx数字补x (填充右边, 宽度为4)
    10{:x<4d}10xx数字补x (填充右边, 宽度为4)
    1000000{:,}1,000,000以逗号分隔的数字格式
    0.25{:.2%}25.00%百分比格式
    1000000000{:.2e}1.00e+09指数记法
    13{:10d}13右对齐 (默认, 宽度为10)
    13{:<10d}13左对齐 (宽度为10)
    13{:^10d}13中间对齐 (宽度为10)
    11'{:b}'.format(11) '{:d}'.format(11) '{:o}'.format(11) '{:x}'.format(11) '{:#x}'.format(11) '{:#X}'.format(11)1011 11 13 b 0xb 0XB进制
  3. str.format() 调用时使用关键字参数

    >>> print('This {food} is {adjective}.'.format(
    ...       food='spam', adjective='absolutely horrible'))
    This spam is absolutely horrible.
    

    位置参数和关键字参数可以随意组合:

    >>> print(‘The story of {0}, {1}, and {other}.’.format(‘Bill’, ‘Manfred’, other=‘Georg’)) The story of Bill, Manfred, and Georg.

    !a (应用 ascii()), !s (应用 str() )和 !r (应用 repr() )可以在格式化之前转换值:

    >>> import math
    >>> print('The value of PI is approximately {}.'.format(math.pi))
    The value of PI is approximately 3.14159265359.
    >>> print('The value of PI is approximately {!r}.'.format(math.pi))
    The value of PI is approximately 3.141592653589793.
    

    字段名后允许可选的 : 和格式指令。这允许对值的格式化加以更深入的控制。下例将 Pi 转为三位精度。

    >>> import math
    >>> print('The value of PI is approximately {0:.3f}.'.format(math.pi))
    The value of PI is approximately 3.142.
    

    在字段后的 : 后面加一个整数会限定该字段的最小宽度,这在美化表格时很有用:

    >>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678}
    >>> for name, phone in table.items():
    ...     print('{0:10} ==> {1:10d}'.format(name, phone))
    ...
    Jack       ==>       4098
    Dcab       ==>       7678
    Sjoerd     ==>       4127
    

    如果你有个实在是很长的格式化字符串,不想分割它。如果你可以用命名来引用被格式化的变量而不是位置就好了。有个简单的方法,可以传入一个字典,用中括号( [] )访问它的键:

    >>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}
    >>> print('Jack: {0[Jack]:d}; Sjoerd: {0[Sjoerd]:d}; '
              'Dcab: {0[Dcab]:d}'.format(table))
    Jack: 4098; Sjoerd: 4127; Dcab: 8637678
    

    也可以用 ** 标志将这个字典以关键字参数的方式传入:

    >>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}
    >>> print('Jack: {Jack:d}; Sjoerd: {Sjoerd:d}; Dcab: {Dcab:d}'.format(**table))
    Jack: 4098; Sjoerd: 4127; Dcab: 8637678
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值