pythonunicode转int
⑴ python3.6和2.7的区别是什么
python2.7和python3.6常用区别
*** python2.7版本只支持到2020年1月1日 ,建议新学习者安装python3版本。
终端输入区别
Python2.7:
(1)input() 可以自动判断其类型,即输入什么类型的数据,就是什么类型,没有引号的英文字符会被判断为变量,会在全文中找对应的变量。如果str类型必须加单引号或者双引号,不然类型不对,报错。
(2)raw_input() 输入所有数据都按照str类型处理,如果是整形输入,使用时要str转int,用(int)强制转换。
Python3.6:
(1)input() 输入所有数据都按照str类型处理,如果是整形输入,使用时要str转int,用(int)强制转换。
(2)raw_input() 不再使用。
相关推荐:《Python视频教程》
print区别
Python2.7:print 为class ,后面直接跟打印数值。
Python3.6:print() 为函数,打印数值必须用括号括起来。
编码区别
Python2.7:默认ASCII处理字符(字符串以8-bit存储),因此使用汉字前加# -*- coding:utf-8 -*- 。
Python3.6:全部用的是Unicode(万国码、统一码固定2字节,字符串以16-bit 存储)字符集,utf-8(可动态变化1-6字节,en:1byte zh:3bytes) 是对Unicode的压缩和优化,因此支持中文。
真除、整除区别
Python2.7:带上小数点/表示真除,%表示取余,//表示地板除(结果取整)。
Python3.6:表示真除,%表示取余,//表示地板除(结果取整)。
range、xrange区别
Python2.7:range()生成一个列表,xrange()生成一个生成器。
Python3.6:list( range(0,4) )列表,range()生成一个生成器,xrange()不再使用。
打开文件区别
Python2.7:file()、open()都可打开文件。
Python3.6:file()不再使用,只用open()打开文件。
⑵ python怎么把字符格式变为int格式
"比如说已知50 是str格式的"
你的python是2.x还是3.x,否则str含义不同的:
python 2.x: str=某种编码的字符串
python 3.x:str=unicode字符串
详见:
【整理】Python中字符编码的总结和对比:Python 2.x的str和unicode vs Python 3.x的bytes和str
示例代码:
Python2.7.3(default,Apr102012,23:24:47)[MSCv.150064bit(AMD64)]onwin32
Type"right","credits"or"license()"formoreinformation.
>>>printint(50)
50
>>>numStr="50";
>>>printtype(numStr)
<type'str'>
>>>convertedInt=int(numStr);
>>>printconvertedInt
50
>>>printtype(convertedInt)
<type'int'>
>>>“我试着直接int(50),这样不行,会报错。”
贴出具体是什么错误。别人才好帮你。
⑶ Python如何将Unicode中文字符串转换成 string字符串
Unicode字符串可以用多种方式编码为普通字符串,假设unicodestring = u"Hello world",依照所选择的编码(encoding),如下:
1、#将Unicode转换成普通的Python字符串:"编码(encode)"。
(3)pythonunicode转int扩展阅读:
Python转换字符和字符串的原因:为了处理不适合用ASCII字符集表示的数据。
在以ASCII码为中心的语言和环境中,字节和字符被当做相同的事物。由于一个字节只能有256个值,这些环境就受限为只支持256个字符Unicode码,另一方面,有数万个字符,那意谓着每个Unicode字符占用多个字节,因此,你需要在字符和字节之间作出区别。
(1)UTF-8编码能处理任何的Unicode字符。它也是与ASCII码向后兼容的,因此一个纯粹的ASCII码文件也能被考虑为一个UTF-8文件,而且一个碰巧只使用ASCII码字符的 UTF-8文件和拥有同样字符的ASCII码文含历件是相同的。
这个特性使得UTF-8的向后兼容性非常好,尤其使用较旧的Unix工具时。UTF-8 无疑地是在 Unix上的占优势的编码。它主要的弱点是对东方文字是非常低效的。
(2)UTF-16编码在微软的操作系统和Java环境下受到偏爱。它对西方语言是比较低效,但对于东方语言是更有效率的。一个UTF-16 的变体有时叫作UCS-2 。
(3)ISO-8859编码系列是256个字符的ASCII码的超集。他谈谨搜们不能够支援所有的Unicode码字符;他们只能支援一些特别的语言或语言家族。
ISO-8859-1,也既Latin-1,包括大多数的西欧和非洲语言,但是不含阿拉伯语。ISO-8859-2,也既Latin-2,包括许多东欧的语言,像是匈牙利语和波兰语。
⑷ python中如何把string 转换成int
用数字字符串初始化int类,就可以将整数字符串(str)转换成整数(int):
In [1]: int(‘1234’)
Out[1]: 1234
相反用整数初始化str类,就可以将整数(int)转换为对应的字符串(str):
In [2]: str(1234)
Out[2]: ‘1234’
如果字符串是浮点数,可以用字符串初始化float类,把浮点数字符串(str)转换成浮点数(float):
In [3]: float(‘12.34’)
Out[3]: 12.34
(4)pythonunicode转int扩展阅读:
Python (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件,源代码和解释器CPython遵循 GPL(GNUGeneral Public License)许可。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
7月20日,IEEE发布2017年编程语言排行榜:Python高居首位 。
2018年3月,该语言作者在邮件列表上宣布 Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。
⑸ 如何理解python3的unicode,以及全角半角转换
1. unicode是一个编码的standard,表明了字符与数字之间的映射,是可变长的。
2. 映射后的数据如何编码为字节?这个就是具体的编码规则:目前最主流的是UTF-8,同样,它也是变字长的。
python3中的str都是unicode的:“The default encoding for Python source code is UTF-8”
python3中的encode:按照encode()括号中的参数对字符串进行编码,就是生成bytes。
所以:
In:'中文'.encode('utf-8')
Out:b'\xe4\xb8\xad\xe6\x96\x87'
这里的b就是Byte,\x表示这个x是被转义的,意思就是0x。又如:
In: 'abc'.encode('utf-8')
Out: b'abc'
上面的b'a'其实表示的是数字97,b'a'的意思就是字符串'a'的binary数字:
[In]:'abc'.encode('utf-8')[0]
[Out]: 97
同时可以把b'\x'进行解码,即:
In:b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
Out:'中文'
除了encode('utf-8')外,用ord可以获得单个utf-8字符对应的数字:
In [60]: ord('a')
Out[60]: 97
In [61]: ord('a')#这个是全角的a
Out[61]: 65345
除了decode('utf-8')外,用chr可以获得数字对应的utf-8字符:
In [62]: chr(97)
Out[62]: 'a'
除了unicode还有别的编码标准吗?有啊,比如我国的GBK,别名也叫cp936。
全角和半角之分,是指同样一个意义的字符,显示的大小不同.具体来说,全角和半角的编码是两个结果:
In [70]: "mn".encode('utf-8')
Out[70]: b'\xef\xbd\x8d\xef\xbd\x8e
[In]:"mn".encode('utf-8')
[Out]:b'mn'
它们有什么对应关系呢?(引自这里)
转换说明
全角半角转换说明
有规律(不含空格):
全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)
半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E)
特例:
空格比较特殊,全角为 12288(0x3000),半角为 32(0x20)
除空格外,全角/半角按unicode编码排序在顺序上是对应的(半角 + 0x7e= 全角),所以可以直接通过用+-法来处理非空格数据,对空格单独处理。
代码在此基础上改动一下(将unichr改为chr即可,适应python3),即:
def strQ2B(ustring):
"""全角转半角"""
rstring = ""
for uchar in ustring:
inside_code=ord(uchar)
if inside_code == 12288: #全角空格直接转换
inside_code = 32
elif (inside_code >= 65281 and inside_code <= 65374): #全角字符(除空格)根据关系转化
inside_code -= 65248
rstring += chr(inside_code)
return rstring
In [69]: strQ2B('你好python')
Out[69]: '你好python'
⑹ python 字符与数字如何转换
一、python中字符串转换成数字
(1)import string
t='555'
ts=string.atoi(tt)
ts即为tt转换成的数字
转换为浮点数 string.atof(tt)
(2)直接int
int(tt)即可。
二、数字转换成字符串
tt=322
tem='%d' %tt
tem即为tt转换成的字符串
(6)pythonunicode转int扩展阅读:
Python 是一门有条理的和强大的面向对象的程序设计语言,类似于Perl, Ruby, Scheme, Java.Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。
⑺ python 中将str类型转化为int
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 ) 将一个整数转换为一个八进制字符串
⑻ python怎么将字符串转化为八位二进制
这是我写的一段程序,可以实现将字符串转为二进制。
基本思路:
1,将一个字符串转换为字符。这里采用了迭代器__iter__()内置函数,即可实现这个方法
2,将每一个字符转换为十进制,再转化为二进制。bin()函数只能将一个十进制函数转换为二进制,ord()函数可以将一个字符转换为十进制(实质就是这个字符的unicode编号),如此就实现了不同计数方法之间的转化