太全了!Python3常用内置函数总结
数学相关
python3 bytes转为str python转换bytes
python3 bytes转为str python转换bytes
abs(a) : 求取。abs(-1)
max(list) : 求取list值。max([1,2,3])
min(list) : 求取list最小值。min([1,2,3])
sorted(list) : 排序,返回排序后的list。
len(list) : list长度,len([1,2,3])
divmod(a,b): 获取商和余数。 divmod(5,2) >>> (2,>>> out = "".join(s.split())1)
pow(a,b) : 获取乘方数。pow(2,3) >>> 8
round(a,b) : 获取指定位数的小数。a代表浮点数,b代表要保留的位数。round(3.1415926,2) >>> 3.14
range(a[,b]) : 生成一个a到b的数组,左闭右开。range(1,10) >>> [1,2,3,4,5,6,7,8,9]
int(str) : 转换为int型。int('1') >>> 1
float(int/str) : 将int型或字符型转换为浮点型。float('1') >>> 1.0
str(int) : 转换为字符型。str(1) >>> '1'
bytes(str,code) : 接收一个字符串,与所要编码的格式,返回一个字节流类型。bytes('abc', 'utf-8') >>> b'abc' bytes(u'爬虫', 'utf-8') >>> b'xe7x88xacxe8x99xab'
list(iterable) : 转换为list。 list((1,2,3)) >>> [1,2,3]
iter(iterable): 返回一个可迭代的对象。 iter([1,2,3]) >>>
dict(iterable) : 转换为dict。 dict([('a', 1), ('b', 2), ('c', 3)]) >>> {'a':1, 'b':2, 'c':3}
enumerate(iterable) : 返回一个枚举对象。
tuple(iterable) : 转换为tuple。 tuple([1,2,3]) >>>(1,2,3)
set(iterable) : 转换为set。 set([1,4,2,4,3,5]) >>> {1,2,3,4,5} set({1:'a',2:'b',3:'c'}) >>> {1,2,3}
hex(int) : 转换为16进制。hex(1024) >>> '0x400'
oct(int) : 转换为8进制。 oct(1024) >>> '0o2000'
bin(int) : 转换为2进制。 bin(1024) >>> '0b10000000000'
chr(int) : 转换数字为相应ASCI码字符。 chr(65) >>> 'A'
相关作
exec() : 执行python语句。 exec('print("Python")') >>> Python
filter(func, iterable) : 通过判断函数fun,筛选符合条件的元素。 filter(lambda x: x>3, [1,2,3,4,5,6]) >>>
map(func, iterable) : 将func用于每个iterable对象。 map(lambda a,b: a+b, [1,2,3,4], [5,6,7]) >>> [6,8,10]
zip(iterable) : 将iterable分组合并。返回一个zip对象。 list(zip([1,2,3],[4,5,6])) >>> [(1, 4), (for uchar in ustring:2, 5), (3, 6)]
type():返回一个对象的类型。
id(): 返回一个对象的标有如下信息:识值。
hash(object):返回一个对象的hash值,具有相同值的object具有相同的hash值。 hash('python') >>> 7070808359261009780
():调用系统内置的帮助系统。
isinstance():判断一个对象是否为该类的一个实例。
issubclass():判断一个类是否为另一个类的子类。
globals() : 返回当前全局变量的字典。
next(iterator[, default]) : 接收一个迭代器,返回迭代器中的数值,如果设置了default,则当迭代器中的元素遍历后,输出default内容。
rrsed(sequence) : 生成一个反转序列的迭代器。 rrsed('abc') >>> ['c','b','a']
python十进制转二进制3位数
decode使用 bin( ) 函数将 num1 转换为二进制,返回值存入 bin_num1
\xa0 是不间断空白符但 num1 本身没有改变,返回的 bin_num1 是1、字符串 2、布尔类型 3、整数 4、浮点数 5、数字 6、列表 7、元组 8、字典 9、日期二进制表示,但 bin_num1类型是 str
新手,求教关于python3编码的问题
什么叫字符串、字节串你需要明白两个概念:
print("b对应的ASCII码是%d" % ord(b))在Python中字符串是指一串可以展示在终端里、供人阅读的字符,至于字符采用什么编码并不重要,同样的文字,可能是用Unicode、UTF-8或GBK编码,但打印在终端中的内容相同,那么就认为是同一串字符串。而字节串是指将字符串通过某种编码转换得到的一串字节,同样一个字符串,使用不同的编码转换后得到的字节串可能完全不同。
elif (inside_code >= 65281 and inside_code <= 65374): #全角字符(除空格)根据关系转化什么叫encode、decode
encode中文为编码,顾名思义,是将字符串以某种编码形式编码得到字节串的过程;相反,decode中文为解码,是将字节串以某种编码形式翻译得到字符串的过程。
a是一个字符串,它的内容是“周杰伦”这三个字,类型是str;b = a.encode('utf-8')是将a以utf-8形式编码得到的字节串,它的内容是“周杰伦”这三个字的utf-8编码,类型是bytes。
python3怎样把gb2312的文件转换成utf-8格式
iIn [60]: ord('你问的两个问题是一样的啦a')f s=='over': #判断是否要结束循环python 怎么把字符串转化为时间
break转成时间数组,然后随便你玩
print是解码,把一直的gb2312格式转换为中间格式unicode,encode再转换为你需要的utf-8("c对应的字符是%s" % chr(c))>>> import time
>>> a="2015-10-12 14:20:00"
>>> b=time.strptime(a,"%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=2015, tm_mon=10, tm_mday=12, tm_hour=14, tm_min=20, tm_sec=0, tm_wday=0, tm_yday=285, tm_isdst=-1)
[Python3] 列表推导[TZZ]
设 num1 为123,通过 type( ) 可以看到类型为 int大家好!今天我准备给大家介绍一下“Python3中的列表推导功能”。当我们需要处理列表中的每一个元素时, 通常会使用for..in循环遍历列表中的每个元素,然后对每个元素进行处理。为了让这一过程简化,Python3为我们提供了列表推导功能。如果您觉得这篇教程有帮助,请为我投上宝贵的一票,谢谢!如果您对我写的系列教程感兴趣,请给我个“关注”吧!
print("a值是 %s" % a)启动IDLE程序。通过IDLE的开始菜单新建一个源码文件,然后将其保存为“list_comprehension.py”文件;
向源码文件中添加遍历列表并让每个元素乘以2的代码。在编写的代码中,创建了一个数值列表nums和一个保存处理结果的空列表newNums。然后使用for..in循环遍历nums中的所有元素并将每个元素值乘以2后追加到newNums中。,将这两个列表输出,验证结果是否正确。代码编写完毕后,点击F5运行代码。在Shell窗口中,根据输出结果可以确定代码正常;
接下来,我们试试Python3中提供的列表推sum(list) : 求取list元素的和。 sum([1,2,3]) >>> 6导方法。列表推导实际上就是上述处理列表的改进版本,其语法格式为“[表达式 | 函数 for 元素 in 列表]”。表示对原列表的每个元素进行计算,然后把结果放到一个新的列表中返回给调用;
继续向源代码文件中追加测试列表推导的代码。然后按F5运行。通过Shell窗口可以确定其执行结果与之前的代码运行结果完全相同;
继续向源码文件中追加“在列表推导中使用函数处理列表元素”的代码。简而言之,就是在列表推导中调用一个函数,然后将列表元素传进去。点击F5运行代码,随后可以在Shell窗口中见到正确的输出结果;
除了使用自定义函数处理列表推导中列表的每个元素,还可以直接使用Python的内建函数,比如:str函数,int函数等。继续向源码中添加使用内建函数的测试代码,然后点F5运行。通过Shell窗口可以看到正确的输出结果;
继续向源码中添加将浮点数列表中的元素转换为整数列表的测试代码。然后点击F5运行并通过Shell窗口中输出信息;
,请大家务必注意,列表推导虽然很好用。但是它只适用于处理列表中每个元素并生成新列表的情况。不满足此条件则不能使用列表推导。Enjoy!
如何理解python3的unicode,以及全角半角转换
#结果是:b对应的ASCII码是971. unicode是一个编码的standard,表明了字符与数字之间的映射,是可变长的。
全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)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'
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')
除了encode('utf-8')外,用ord可以获得单个utf-8字符对应的数字:
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。
全角和半角之分,是指同样一个意义的字符,显示的大小不同.具体来说,全角和半角的编码是两个结果:
Out[70]: b'\xef\xbd\x8d\xef\xbd\x8e
[In]:"mn".encode('utf-8')
[Out]:b'mn'
它们有什么对应关系呢?(引自这里)
转换说明
全角半角转换说明
有规律(不含空格):
半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E)
特例:
空格比较特殊,全角为 12288(0x3000),半角为 32(0x20)
除空格外,全角/半角按unicode编码排序在顺序上是对应的(半角 + 0x7e= 全角),所以可以直接通过用+-法来处理非空格数据,对空格单独处理。
代码在此基础上改动一下(将unichr改为chr即可,适应python3),即:
def strQ2B(ustring)c = 97:
"""全角转半角"""
rstring = ""
inside_code=ord(uchar)
if inside_code == 12288: #全角空格直接转换
inside_code = 32
inside_code -= 65248
return rstring
In [69]: strQ2B('你好python')
python3爬虫爬出的文本如何去掉\n\xa0
这里的b就是Byte,\x表示这个x是被转义的,意思就是0x。又如:我们通常所用的空格是 \x20 ,是在标准ASCII可见字符 0x20~0x7e 范围内。
bool(int) : 转换为布尔类型。 str(0) >>> False str(None) >>> False而 \xa0 属于 latin1 (ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breaking space)。
latin1 字符集向下兼容 ASCII ( 0x20~0x7e )。通常我们见到的字符多数是 latin1 的,比如在 MySQL 数据库中。
'T-shirt\xa0\xa0短袖圆领衫,体恤衫\xa0,', 'V-neck\xa0\xa0V型领\xa0sle\xa0\xa0袖子\xa0,',1
我们如何将其中的\xz0去掉呢,试了re模块的sub方法,发现没有作用,于是又开始查阅相关资料,终于解决了该问题。方法如下:
>>> inputstring = u'\n Door:\xa0Novum \t '
>>> output = inputstring.translate(move)
>>> output
' Door:Novum '12345
另外还有一种更简单的方法,利用split方法:
>>> s
'T-shirt\xa0\xa0短袖圆领衫,体恤衫\xa0'
>>> out
'T-shirt短袖圆领衫,体恤衫'
转成str,然后直接截取:
ss.encostr.decode("gb2312").encode("utf-8")de("utf-8") #转成str
outdata = ss[2:]
python如何将一个全部为int的列表,转化为全部为str的列表
In [70]: "mn".encode('utf-8')a = [1,2In: 'abc'.encode('utf-8'),3]
ord(str) : 转换ASCI字符为相应的数字。 ord('A') >>> 65b = [ str(i) for i in a ]直接用List Comprehension来把每个元素转换成str。
array=[1,2,3,4,5]
new_array=[str(x) for x in array]
>>> L = [1,2,3,4,5]
>>> map(str, L)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。