python内置函数与匿名函数的用法

一、内置函数

1.输出 print

print(1,2,3,4,5,sep=';',end='| ') ##sep是以;分开每个数字,end是以|结尾的

2.查看内置属性

#dir查看某对象的属性及其方法

import os

print(dir(os)) 

3.数学相关运算的

1 abs 计算绝对值
print(abs(-9))
2 divmod 可以返回商和余数
print(divmod(9,4))
3 round 小数精确
print(round(3.1415926,3)) #逗号后面可以指定保留几位小数,并且会四舍五入
4 pow 幂运算
print(pow(2,3,5)) #(2**3)%3 就是2的三次方,对5取余
5 sum 求和
print(sum ([1,2,3,4]))

print(sum(range(1,10)))

print(sum([1,2,3,4,5],10))  ##1到5求完和之后,然后再加10,不加默认是0
6 max求最大值(重要)
print(max(1,2,3,6))

print(max(range(1,10)))
7 min 求最小值(重要)
print(min(-1,0,3,4))

print(min(-1,0,3,4,key=abs)) ##算完绝对值之后,在返回最小值

def func(num):

return num%2

print(min(-2,3,-4,key=func))
8 反序
#reverse  #直接返回结果

ret = [1,2,3,4,5]

ret.reverse()

print(ret)


#reversed  #返回一个可迭代对象
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:725638078

ret1 = reversed(ret)

ret2 = reversed((1,2,3,4,5))

print(ret)

print(list(ret1))

4.字符串相关的

eval和exec

eval('print(123)')

exec('print(123)')

print(eval('1+2-3*20/(2+3)'))#有返回值

print(exec('1+2-3*20/(2+3)')) #执行了但没有返回值

5.format格式化显示

字符串可以提供的参数,指定对齐方式,<是左对齐, >是右对齐,^是居中对齐

print(format('test', '<20'))

print(format('test', '>20'))

print(format('test', '^20'))

6.ord 字符串按照unicode转数字

print(ord('a'))

7.chr数字按照unicode转字符

print(chr(97))

8.repr用于%r格式化输出

print(repr(1))

print(repr('1'))

9.enumerate 枚举

第一种写法

ll=['a','b','c']

for i in ll:

	print(ll.index(i),i)

第二种写法

for i,v in enumerate(ll):

	print(i,v)

10.zip返回一个迭代器,拉链就是按顺序让其一一对应

ret = zip([1, 2, 3, 4, 5], ('a', 'b', 'c', 'd'), (4, 5,0))  # 拉链方法

print(ret)

for i in ret:
    print(i)

11.filter 重要 用于过滤,比如大于几的数字,或者偶数,奇数之类的

第一种写法

lst = [1, 4, 6, 7, 9, 12, 17]
def func(num):
    if num % 2 == 0: return True

filter(func, lst)  #分别把lst里面的值传给num,然后取出除2等于0的数字

for i in filter(func, lst):

    print(i)

第二种方法

g = (i for i in lst if i%2 == 0)
for i in g:
    print(i)

12.map 求1到10的平方 重要 主要用于计算

def func(num):

    return num**2
for i in map(func,range(10)):

    print(i)

13 排序

sort 排序(这个只是个方法,不是函数)

l = [1,-4,-2,3,-5,6,5]

l.sort(key=abs) #按照绝对值来排序的

print(l)
#打印结果是
[1, -2, 3, -4, -5, 5, 6]

sorted排序(重要)

l = [1,-4,-2,3,-5,6,5]

new_l = sorted(l,key=abs,reverse=True) #按照绝对值,并且反序来排序的

print(new_l)
#打印结果是
[6, -5, 5, -4, 3, -2, 1]

二.匿名函数(lambda)

匿名函数:为了解决那些功能很简单的需求而设计的一句话函数

#普通函数写法:
def calc(n):
    return n**n
print(calc(2))


#换成匿名函数
calc = lambda n:n**n
print(calc(2))

#打印结果都是4

匿名函数格式

函数名 = lambda 参数 :返回值

参数可以有多个,用逗号隔开
匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值
返回值和正常的函数一样可以是任意数据类型

例子

#第一种普通函数写法:
def func(num):
	return num ** 2

for i in map(func,range(10)):

	print(i)

#小编创建了一个Python学习交流群:725638078
#第二种写法:匿名函数

for i in map(lambda num : num ** 2 ,range(10)):
	print (i)


#打印结果是0-9,9个数字的平方

例子

现有两元组((‘a’),(‘b’)),((‘c’),(‘d’)),请使用python中匿名函数生成列表[{‘a’:‘c’},{‘b’:‘d’}]

#第一种写法:普通函数
def func(t):
	return {
    
    t[0]:t[1]}
ret = map(func,zip((('a'),('b')),(('c'),('d'))))
print(list(ret))

#第二种写法:匿名函数
ret = map(lambda t:{
    
    t[0]:t[1]},zip((('a'),('b')),(('c'),('d'))))
print(list(ret))

猜你喜欢

转载自blog.csdn.net/Python_222/article/details/129751847