Python3内置函数总结

2019-10-04  本文已影响0人  无独有偶ZYX

逻辑判断:

数学运算:

类型转换:

高阶函数:

import math
def is_sqr(x):
    return math.sqrt(x) % 1 == 0
tmplist = filter(is_sqr, range(1, 101))
newlist = list(tmplist)
"""
out:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
"""
l4 = map(lambda x,y:(x ** y,x + y),[1,2,3],[1,2])
for i in l4:
    print(i)
""" 长度不一致,多出的元素不处理
out:
(1, 2)
(4, 4)
"""
from functools import reduce

def prod(x,y):
    """
    累乘运算
    """
    return x * y


print(reduce(prod, [2, 4, 5, 7, 12]))
"""
out:
3360
"""

序列排序:

a = reversed(range(10))
list(a)

"""
out:
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
"""

sort于sorted区别:sort是应用在list上的方法,sorted可以对所有可迭代对象进行操作.

list的sort方法会对原列表进行操作,无返回值,而内建函数sorted方法不会进行原地操作,而是返回一个新的list

参数:

>>> L=[('b',2),('a',1),('c',3),('d',4)]
>>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1])) # 利用cmp函数
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

其他

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b) # 返回一个对象,这个对象类似于迭代器,使用一次后变成空
>>> list(zipped)  # 使用一次之后,zip对象变成空
[(1, 4), (2, 5), (3, 6)]
>>> dict(zipped)
{1: 4, 2: 5, 3: 6}
>>> a1, b1 = zip(*zip(a, b))  # zip(*)解压对象,得到二维矩阵
>>> list(a1)
[1, 2, 3]
>>> list(b1)
[4, 5, 6]

参数:

  1. expression:表达式字符串

  2. globals:变量作用于,全局命名空间,必须是一个字段对象

  3. locals:变量作用域,局部命名空间,可以是任何映射对象

>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4

参数:

  1. object:必选参数,表示需要的指定的Python代码.它必须是字符串或者code对象,如果object是一个字符串,则该字符串先被解析成一族Python语句,然后执行.如果object是一个code对象,智慧被简单执行
  2. globals:可选,表示全局命名空间,必须是一个字典对象
  3. locals:可选,表示局部命名空间,可以是任何对象,如果被忽略,会去与globals相同的值

没有返回值

>>> exec('print("Hello World")')
Hello World
In [12]:  x = 10 
    ...: expr = """ 
    ...: z = 30 
    ...: sum = x + y + z 
    ...: print('x:', x) 
    ...: print('y:', y) 
    ...: print('z:', z) 
    ...: print(sum) 
    ...: """ 
    ...: def func(): 
    ...:     y = 20 
    ...:     exec(expr) 
    ...:     exec(expr, {'x': 1, 'y': 2}) 
    ...:     exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4}) 
    ...: func()
x: 10
y: 20
z: 30
60
x: 1
y: 2
z: 30
33
x: 1
y: 3
z: 30
34
>>> callable('school')
False
class A:
    def add(self, x):
        y = x + 1
        print(y)
class B(A):
    def add(self, x):
        super().add(x)

b = B()
b.add(2)  # 3
上一篇下一篇

猜你喜欢

热点阅读