类型转换bin()、chr()、ord() 、int()、float()、str()、repr()、bytes()、tuple(s )、 list(s )   、unichr(x ) 、 ord(x )  、 hex(x )  、          type()数据类型查询

时间:2022-12-23 21:55:18

1、bin()


将整数x转换为二进制字符串,如果x不为Python中int类型,x必须包含方法__index__()并且返回值为integer;


参数x:整数或者包含__index__()方法切返回值为integer的类型;

 #!/usr/bin/env python
r = bin(10)
print(r)

2、chr(i)

返回整数i对应的ASCII字符。与ord()作用相反。

参数x:取值范围[0, 255]之间的正数。

版本:该函数在python2和python3各个版本中都可用。不存在兼容性问题。

 c = chr(66)
print(c)

3、本函数是把一个字符串表示的字符转换为字符相对应的整数,适用于UNICODE字符。比如ord(‘a’)则返回整数97,ord(‘\u2020’)则返回整数8224。与函数chr()的功能刚好相反。

 i = ord("t")
print(i)

4、int()函数可以将一个数转化为整数

 r= int(12.0)
print(r)

  int()函数将其用十进制数表示

 >>> int('0xa',16)  
10  
>>> int('',8)  
8  

5、float 控制精度

 #!/usr/bin/env python
a = 1.324444444444444444
b = float('%.7f'%a)
print(b)

  float类型转换

 print( float('37.21') )
print( float(234) )
print( float('+inf') + 200000 )
print( float('-inf') * 0 )
print( float(' -12345\n') )
print( float('1e-003') )
输出结果如下:
37.21
234.0
inf
nan
-12345.0
0.001

6、str()一般是将数值转成字符串

 r= int(12.0)
t = str(r)
print(t)

7、repr(x)将对象 x 转换为表达式字符串  。Python 有办法将任意值转为字符串:将它传入repr() 或str() 函数。

函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。

在python的官方API中这样解释repr()函数:repr()函数得到的字符串通常可以用来重新获得该对象,

repr()的输入对python比较友好。通常情况下obj==eval(repr(obj))这个等式是成立的。


 >>>repr([0,1,2,3])
'[0,1,2,3]'
>>> repr('Hello')
"'Hello'" >>> str(1.0/7.0)
'0.142857142857'
>>> repr(1.0/7.0)
'0.14285714285714285'

8、eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象

 #eval可以执行一个字符串形式的表达式
ret = eval("1 + 3")
c = eval("a + 60",{"a": 99})
print(ret)
print(c)
"""exec语句用来执行储存在字符串或文件中的Python语句。
如,我们可以在运行时生成一个包含Python代码的字符串,然后使用exec语句执行这些语句。
下面是一个简单的例子。
>>> exec 'print "Hello World"'
Hello World
注意例子中exec语句的用法和eval_r(), execfile()是不一样的.
exec是一个语句(就象print或while), 而eval_r()和execfile()则是内建函数.
"""
exec("for i in range(10) : print(i)")

9、type()数据类型查询

 #!/usr/bin/env python
r= int(12.0)
t = str(r)
print(type(r))
10、bytes()
返回一个新的数组对象,这个数组对象不能对数组元素进行修改。每个元素值范围: 0 <= x < 256。bytes函数与bytearray函数主要区别是bytes函数产生的对象的元素不能修改,而bytearray函数产生的对象的元素可以修改。因此,除了可修改的对象函数跟bytearray函数不一样之外,其它使用方法全部是相同的。最后它的参数定义方式也与bytearray函数是一样的。
#bytes()函数  
  
a = bytes('abc', 'utf-8')  
print(a)  
  
b  = bytes(1)  
print(b)  
  
c = bytes([2,3,6,8])  
print(c)   输出结果如下:
b'abc'
b'\x00'
b'\x02\x03\x06\x08'
 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 )                 将一个字符转换为它的整数值    
hex(x )                 将一个整数转换为一个十六进制字符串    
oct(x )                 将一个整数转换为一个八进制字符串