python函数oct Python函数三要素( 七 )


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 ) 将一个整数转换为一个八进制字符串
chr(65)='A'
ord('A')=65
int('2')=2;
str(2)='2'
扩展资料:
python数字转换为字符串主要包括两种形式:第一种是str(),将值转换为用户便于阅读的形式;另一种是repr() , 将值转换为合法的python表达式 。
print repr("Hello, world!")
'Hello, world!'
print repr(10000L)
10000L
print str("Hello, world!")
Hello, world!
print str(10000L)
2. python怎么实现字符串和数字的转换
#py3
from functools import reduce
DIGITS={'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
def char2num(s): #单个字符转数字
return DIGITS[s]
def str2int(s):#整数字串转化整数,不支持浮点数.浮点数得另写一个
if s[0]=='-': #要判断一下该数字有没有符号
return -reduce(lambda x,y:10*x+y,map(char2num,s[1::])) #返回负数
else:
return reduce(lambda x,y:10*x+y,map(char2num,s)) #返回正数
a='-123'
print(100+str2int(a))
3. 关于python的字符串格式化
在python中也有类似于c中的printf()的格式输出标记 。
在python中格式化输出字符串使用的是%运算符,通用的形式为格式标记字符串 % 要输出的值组其中,左边部分的”格式标记字符串“可以完全和c中的一致 。右边的'值组'如果有两个及以上的值则需要用小括号括起来,中间用短号隔开 。
重点来看左边的部分 。左边部分的最简单形式为:%cdoe其中的code有多种,不过由于在python中,所有东西都可以转换成string类型,因此,如果没有什么特殊需求完全可以全部使用'%s'来标记 。
比如:'%s %s %s' % (1, 2.3, ['one', 'two', 'three'])它的输出为'1 2.3 ['one', 'two', 'three']',就是按照%左边的标记输出的 。虽然第一个和第二值不是string类型,一样没有问题 。
在这个过程中,当电脑发现第一个值不是%s时,会先调用整型数的函数,把第一个值也就是1转成string类型 , 然后再调用str()函数来输出 。前面说过还有一个repr()函数,如果要用这个函数 , 可以用%r来标记 。
除了%s外,还有很多类似的code:整型数:%d无符号整型数:%u八进制:%o十六进制:%x %X浮点数:%f科学记数法: %e %E根据数值的不同自动选择%e或%f: %g根据数值的不同自动选择%E或%f: %G就跟前面说用\进行转义一样 , 这里用%作为格式标记的标识,也有一个%本身应该如何输出的问题 。如果要在”格式标记字符串“中输出%本身,可以用%%来表示 。
上面说的只是格式标记的最简间的形式,来看复杂一点的:'%6.2f' % 1.235在这种形式中,在f的前面出现了一个类似小数的6.2它表示的意思是,总共输出的长度为6个字符,其中小数2位 。还有更复杂的:'%06.2f' % 1.235在6的前面多了一个0 , 表示如果输出的位数不足6位就用0补足6位 。
这一行的输出为'001.24',可以看到小数也占用一位 。类似于这里0这样的标记还有-、+ 。
其中,-表示左对齐,+表示在正数前面也标上+号,默认是不加的 。最后来看最复杂的形式:'%(name)s:%(score)06.1f' %{'score':9.5, 'name':'newsim'}这种形式只用在要输出的内容为dictionary(一种python的数据类型)时,小括号中的(name)和(score)对应于后面的键值对中的键 。

推荐阅读