十四、内置函数

列表和生成器表达式
#一行搞定,列表推导式:用列表推导式能够构建的任何列表,用别的都可以构建。
#一行,简单,感觉高端。但是,不易排错。
# li = [i for i in range(1,101)]
# print(li)
# l2 = ['python%s期' % i for i in range(1,12)] 列表生成表达式
# print(l2)
#循环模式
#[经过加工的i for i in 可迭代对象]

l_obj = ('python%s期' % i for i in range(1,12)) 生成器表达式
print(l_obj)
print(l_obj.__next__())
print(l_obj.__next__())
print(l_obj.__next__())

#列表推导式:一目了然,占内存。
#生成器表达式:不易看出,节省内容。
内置函数 
#lambda 函数与内置函数的结合。

# sorted,map,fiter,max,min
1.filter过滤 这个函数只能过滤那些满足函数要求的元素
s = [2,3,4,5,6]
s1 = filter(lambda x:x>4,s)
for i in s1:
    print(i)
print(s1)
#5
 6                    
2.map 会根据提供的函数对指定序列做映射。  这种方法可以让迭代器内的元素做运算,将运算结果映射出来
s = [2,3,4,5,6]
s1 = map(lambda x:x-2,s)
for i in s1:
    print(i)
#0
 1
 2
 3
 4

3,zip   以len 最短的为基准  拉链方法

l1 = [3,4,5]
l2 = ('wdffv')
l3 = {'w':3,'e':4,'f':6,'v':8}
s = zip(l1,l2,l3)
for i in s:
    print(i)
#(3, 'w', 'w')
 (4, 'd', 'e')
 (5, 'f', 'f')

  

4,enumerate   枚举,返回一个枚举对象

 

li = ['老男孩', 'alex', 'wusir', '嫂子', 'taibai']
l2 = enumerate(li)
for k,v in l2:
    print(k,v )
#0 老男孩
1 alex
2 wusir
3 嫂子
4 taibai

 

5,repr  原形毕露

print(repr('{"name":"alex"}'))
print('{"name":"alex"}')
#'{"name":"alex"}'
  {"name":"alex"}

6,print

# print(self, *args, sep=' ', end='\n', file=None)
print(333,end='')
print(666,)
print(111,222,333,sep='|')

#333666
  111|222|333


7eval:执行字符串类型的代码,并返回最终结果

eval:执行字符串类型的代码,并返回最终结果
print(eval('3 +4'))
ret = eval('{"name":"老男孩"}')
print(ret,type(ret))
#7
{'name': '老男孩'} <class 'dict'>

8.exec:执行字符串类型的代码,流程语句。

 

ret1 = '''
li = [1,2,3]
for i in li:
    print(i)
'''
exec('3 + 4')   这个不执行
print(exec('3 + 4'))  None
exec (ret1)          1,2,3
print(exec(ret1))    1,2,3  None
#None
 1
 2
 3
 1
 2
 3
 None

 

 9,callable  用于检查一个对象是否是可调用的

如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。
 def func1():
     print(555)
 a = 3
 f = func1
 print(callable(f))
 print(callable(a))
True
False
10,dir 
# print(dir(list))

11,reversed将一个序列翻转,并返回此翻转序列的迭代器。

li = [2,3,4,5,65,6,'A',]
l2 = reversed(li)
for i in l2 :
    print(i)
#A
 6
 65
 5
 4
 3
 2

  

Python3常用内置函数

 

学相关

  • abs(a) : 求取绝对值。abs(-1)
  • max(list) : 求取list最大值。max([1,2,3])
  • min(list) : 求取list最小值。min([1,2,3])
  • sum(list) : 求取list元素的和。 sum([1,2,3]) >>> 6
  • sorted(list) : 排序,返回排序后的list。
  • len(list) : list长度,len([1,2,3])
  • divmod(a,b): 获取商和余数。 divmod(5,2) >>> (2,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'
  • bool(int) : 转换为布尔类型。 str(0) >>> False str(None) >>> False
  • bytes(str,code) : 接收一个字符串,与所要编码的格式,返回一个字节流类型。bytes('abc', 'utf-8') >>> b'abc' bytes(u'爬虫', 'utf-8') >>> b'\xe7\x88\xac\xe8\x99\xab'
  • list(iterable) : 转换为list。 list((1,2,3)) >>> [1,2,3]
  • iter(iterable): 返回一个可迭代的对象。 iter([1,2,3]) >>> <list_iterator object at 0x0000000003813B00>
  • 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'
  • ord(str) : 转换ASCI字符为相应的数字。 ord('A') >>> 65

相关操作

  • eval() : 执行一个表达式,或字符串作为运算。 eval('1+1') >>> 2
  • exec() : 执行python语句。 exec('print("Python")') >>> Python
  • filter(func, iterable) : 通过判断函数fun,筛选符合条件的元素。 filter(lambda x: x>3, [1,2,3,4,5,6]) >>> <filter object at 0x0000000003813828>
  • 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), (2, 5), (3, 6)]
  • type():返回一个对象的类型。
  • id(): 返回一个对象的唯一标识值。
  • hash(object):返回一个对象的hash值,具有相同值的object具有相同的hash值。 hash('python') >>> 7070808359261009780
  • help():调用系统内置的帮助系统。
  • isinstance():判断一个对象是否为该类的一个实例。
  • issubclass():判断一个类是否为另一个类的子类。
  • globals() : 返回当前全局变量的字典。
  • next(iterator[, default]) : 接收一个迭代器,返回迭代器中的数值,如果设置了default,则当迭代器中的元素遍历后,输出default内容。
  • reversed(sequence) : 生成一个反转序列的迭代器。 reversed('abc') >>> ['c','b','a']

  

 
 

 

 

  

  

 

 

 

 

 

 

  

上一篇:十二、装饰器进阶


下一篇:八、文件的处理