示例1 输入 0xA 输出 10 """ Return the hexadecimal representation of an integer. >>> hex(12648430) '0xc0ffee' """ def dec_hex(str1): #十转十六 a = str(hex(eval(str1))) print('十进制: %s 转换成 十六进制为:%s' %(str1,a)) return a def hex_dec(str2): #十六转十 b = eval(str2) print('十六进制: %s 转换成十进制为:%s:' %(str2,b)) return b if __name__ == '__main__': str1 = input("十进制数值:") print(dec_hex(str1)) str2 = input("十六进制数值:") print(hex_dec(str2))
结果:
十进制数值:10 十进制: 10 转换成 十六进制为:0xa 0xa 十六进制数值:0xA 十六进制: 0xA 转换成十进制为:10 10eval(expression[, globals[, locals]]) expression : 表达式。 globals : 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。 locals : 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
eval()官方文档里面给出来的功能解释是:将字符串string对象转化为有效的表达式参与求值运算返回计算结果
语法上:调用的是:eval(expression,globals=None, locals=None)返回的是计算结果
其中: expression是一个参与计算的python表达式
globals是可选的参数,如果设置属性不为None的话,就必须是dictionary对象了
locals也是一个可选的对象,如果设置属性不为None的话,可以是任何map对象了
python是用命名空间来记录变量的轨迹的,命名空间是一个dictionary,键是变量名,值是变量值。
当一行代码要使用变量 x 的值时,Python 会到所有可用的名字空间去查找变量,按照如下顺序:
1)局部名字空间 - 特指当前函数或类的方法。如果函数定义了一个局部变量 x, 或一个参数 x,Python 将使用它,然后停止搜索。
2)全局名字空间 - 特指当前的模块。如果模块定义了一个名为 x 的变量,函数或类,Python 将使用它然后停止搜索。
3)内置名字空间 - 对每个模块都是全局的。作为最后的尝试,Python 将假设 x 是内置函数或变量。
python的全局名字空间存储在一个叫globals()的dict对象中;局部名字空间存储在一个叫locals()的dict对象中。我们可以用print (locals())来查看该函数体内的所有变量名和变量值。
使用python 进行十进制 二进制 八进制十六进制直接转换工具/原料python 进制转换方法/步骤1首先我们看看怎么把一个十进制转化成二进制,我们可以使用python的内置方法 bindec=10print bin(dec)如下图所示:输出0b...
使用python 进行十进制 二进制 八进制 十六进制直接转换
工具/原料
python 进制转换
方法/步骤
首先我们看看怎么把一个十进制转化成二进制,我们可以使用python的内置方法 bin
dec=10
print bin(dec)
如下图所示:输出0b1010
python 中二进制以ob开头
我们再看看十进制转化为八进制,使用方法oct(dec)
dec=10
print oct(dec)
如下图所示,输出012八进制数值
然后十进制转化16进制,同样使用python的内置方法进行hex(dec)
dec=10
print hex(dec)
输出16进制0xa
接着我们再看看二进制转10进制
dec=10
print str(int(bin(dec), 2))
输出10
同理八进制转化成二进制方法
dec=10
print str(int(oct(dec), 8))
输出10
最后我们看看16进制转化成10进制
dec=10
print str(int(hex(dec).upper(), 16))