《转》python学习(5)--数据类型

转自 http://www.cnblogs.com/BeginMan/archive/2013/06/08/3125876.html

一、标准类型函数

cmp():比较大小

str():转换为字符串

type():类型

cmp(...)
    cmp(x, y) -> integer
    Return negative(负数) if x<y, zero(0) if x==y, positive(正数) if x>y.

 如下:

>>> cmp(5,3.2)
1
>>> cmp(3.5,8)
-1

 二、转换工厂函数

存在精度损失

>>> int(1.847)
1
>>> long(42)
42L
>>> float(42)
42.0
>>> complex(42)
(42+0j)
>>> complex(2.4,-8)
(2.3999999999999999-8j)

 三、功能函数

用于数值运算:asb()、coerce()、divmod()、pow()、round()

asb():absolute:绝对的;完全的;专制的;n:绝对值

>>> abs(-1)
1

 coerce():vt. 强制,迫使,
类型转换,但是提供了不依赖python解释器而是通过自定义两个数值类型转换。返回一个元祖,存在强制行为。
coerce(...)
    coerce(x, y) -> (x1, y1)
    
    Return a tuple consisting of the two numeric arguments converted to
    a common type, using the same rules as used by arithmetic operations.
    If coercion is not possible, raise TypeError.

>>> coerce(1,2)
(1, 2)
>>> coerce(1.2,2l)
(1.2, 2.0)
>>> coerce(1.2,2)
(1.2, 2.0)
>>> coerce(1,2.3)
(1.0, 2.2999999999999998)
>>> coerce(1j,123)
(1j, (123+0j))

 divmod():.divmod 整除求余、返回包含商和余数的元祖

>>> divmod(10,3)
(3, 1)
>>> divmod(3,10)
(0, 3)
>>> divmod(10,2.5)
(4.0, 0.0)

 pow():power of a number:指数的意思

pow()与**都可以实现指数运算,pow()先出生些。

>>> pow(2,5)
32
>>> 2**5
32

 round():四舍五入

round(...)
    round(number[, ndigits]) -> floating point number

    Round a number to a given precision in decimal digits (default 0 digits).
    This always returns a floating point number.  Precision may be negative.

>>> round(1.234,2)
1.23
>>> round(3.14)
3.0
>>> for each in range(10):
         print round(math.pi,each)
     
3.0
3.1
3.14
3.142
3.1416
3.14159
3.141593
3.1415927
3.14159265
3.141592654

 四、仅用于整数的函数

oct():octonary number system 八进制字符串形式

>>> oct(255)
'0377'

 hex():hexadecimal number system十六进制字符串形式

>>> hex(255)
'0xff'

 ASCII码转换函数

ord():ordinal:序数,将字符转换成对应整数值

>>> ord('A')
65

 chr():char: 单个字符,数字对应当个ASCII字符

>>> chr(65)
'A'

 五、操作符

>>> x>=80 and x<=100
True
>>> 80<=x<=100
True
-----------------------------
总是写错:
>>> 80=

 六、致用

1、分数等级

def result(x):
   dic={9:'A',8:'B',7:'C',6:'D'}
   myre=int(x)/10
   for obj in sorted(dic.keys(),reverse=True):   #True 和False 表示是否逆序
       if myre>= obj:
           out=dic[obj]
           break
       else:
           out='F'
   return out
 
if __name__=="__main__":
    sorce = input('Enter your sorce:')

    print 'level:%s' %result(sorce) 

posted @ 2017-03-26 15:36  nolonely  阅读(242)  评论(0编辑  收藏  举报