python 中 help 、dir用法 ,内置的高阶函数用法:map, filter, sorted 和递归调用、break、continue用法

查看python当前安装的所有模块的方法

python内置的高阶函数用法:map, filter, sorted递归调用、break、continue用法

help用法:

1、>>>help()

help>>modules

pyhton控制台打开自己想要的模块

3、例如:re模块

>>>import re

>>>help(re)

查看模块路径:

>>>re.__file__

dir()用法:

dir()函数可以查看对像内所有属于及方法

什么是高阶函数:
满足下列条件中的一个的函数即为高阶函数

     1. 函数接收一个或多个函数作为参数传入
     2.  函数返回一个函数

python内置的高阶函数:
map, filter, sorted

map函数:
map(func, *iterable) 返回一个可迭代对象,此可迭代对象用函数func对可迭代对象iterable中的每一个元素作为参数计算后得到新的数据

# 求: 1 ** 2 + 2 ** 2 + 3 ** 2 + ...+7**2的和
def power(x):
    return x**2
sum_ = 0
for i in map(power,range(1,8)):
    sum_ += i
print(sum_)

filter 函数:
filter(function, iterable)
作用:

  1. 筛选可迭代对象iterable中的数据,返回一个可迭代对象,此可迭代对象只返回iterable中附合条件的数据

  2. function将对iterable中提供的每个数据进行求布尔值,如果为True则保留,返回False 则丢弃此数据

    1~10之间所有的素数放入到列表L中 print(L)  # [2, 3, 5, 7]
    def isprime(x):
        if x<2:
            return False
        for i in range(2,x):
            if x%2 == 0:
                return False
            return True
    L = list(filter(isprime,range(1,11)))
    print(L)
    

    sorted 函数
    作用:
    将原可迭代对象的数据进行排序,生成排序后的列表
    函数参数格式:
    sorted(iterable, key=None, reverse=False)
    说明:
    iterable 可迭代对象
    key 函数是用来提供一个值,这个值将作为排序的依据,如果不给出key函数,则用原数据的值进行比较和排序
    reverse 标志用来设置是否降序排序

    #对 L = [1,3,-7,2,6] 按升序 排列
    L = [1,3,-7,2,6]
    L1 = sorted(L, key = abs, reverse=False)
    print(L1)
    

递归函数 recursion
递归是指 函数直接或间接的调用自身

递归示例:

函数直接调用自身

def f():
f() # 直接调用自身
f()
print(“递归完成”)

函数间接调用自身

def fa():
fb()
def fb():
fa()
fa()
print(“递归完成”)

递归说明:
递归一定要控制递归的层数,当符合某一条件时要终止递归调用
几乎所有的递归都能用while循环来代替

递归的优缺点:
优点:
可以把问题简单化,让思路理会为清晰,代码更简洁
缺点:
递归因系统环境影响大,当递归深度太大时,可能会得到不可预知的结果
递归调用分为两个阶段:
递推阶段:
从原问题出发,按递归公式递推,从未知到已知,最终达到递归终止条件
回归阶段:
按递归终止条件求出结果,逆向逐步代入递归公式,回归到原问题求解

# 限制递归层数的示例:
def recursion(param):
    print("递归进入第", param, "层")
    if param == 3:
        return
    recursion(param + 1)
    print("递归退出第", param, "层")

recursion(1)
print("程序结束")

输出结果:
递归进入第 1 层
递归进入第 2 层
递归进入第 3 层
递归退出第 2 层
递归退出第 1 层
程序结束
计算  n! = 1*2*3*4*....*n 阶乘
#1、用循环实现阶乘
def factorial_1(param):
    s = 1
    for i in range(1,param+1):
        s *= i
    return s

print(factorial_1(5)) #120

# 用递归来实现
# 5!  = 5 * 4!
# 5!  = 5 * 4 * 3!
# 5!  = 5 * 4 * 3 * 2!
# 5!  = 5 * 4 * 3 * 2 * 1!
# 5!  = 5 * 4 * 3 * 2 * 1
# 5!  = 5 * 4 * 3 * 2
# 5!  = 5 * 4 * 6
# 5!  = 5 * 24
# 5!  = 120
#2、用递归实现阶乘
def factorial_2(param):
    if param == 1:
        return 1
    return param * factorial_2(param - 1)

print(factorial_2(5)) #120

# 计算 1*1+2*2+...+10*10

#递归实现:
def mysum(n):
    if n == 1:
        return 1
    return n * n + mysum(n - 1)
print(mysum(10))  # 385

#for 循环实现
def mysum(n):
    sum_1 = 0
    for i in range(1, n + 1):
        sum_1 += i * i
    return sum_1

print(mysum(10)) #385

#while 循环实现
def mysum(n):
    i = 0
    sum_1 = 0
    while i < n:
        i += 1
        sum_1 += i * i
    return sum_1

print(mysum(10))  # 385


python中breakcontinue区别
continue:是跳出本次循环,进入到下一次循环中;
break:是直接跳出循环,终止执行;
例1for i in range(7):
    if i==3:
        break
    print(i)#012   
print(i)#32for i in range(7):
    if i==3:
        continue
    print(i)#012456
print(i)#6


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值