码迷,mamicode.com
首页 > 编程语言 > 详细

python常用函数简介

时间:2019-12-25 11:31:28      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:abs   country   返回   lis   常用   嵌套   war   before   条件   

匿名函数,lambda函数
a = lambda x,y:x+y
print(a(1,2))
b = map(a,(1,),(2,))
print(list(b))
map()函数在python3中返回一个迭代器,需要用list方法才能取出值

函数中带有默认参数时,不填写则拥有默认参数,关键参数必须放在位置参数后面

def func(name,age,country = 'CN'):
    print("name",name)
    print("age",age)
    print("country",country)

可变参数

def a(name,age,*args):
    print(name,age,args)
def b(name,age,*args,**kwargs)
    print(name,age,args,kwargs)

全局变量使用

name = '夜爷爷'
def change_name(name):
    print("before name",name)
    name = '炫酷boy'
    print("after name",name)

change_name('小李')

嵌套函数

def b():
    print("haha")

def a():
    b()

a()
#简单的嵌套函数

高阶函数

def add(x,y,f):
    return f(x)+f(y)

re = add(3,4,abs)
print(re)

递归特性:

  1. 必须有一个明确的结束条件
  2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少
  3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢
def cal(n):
    print(n)
    if int(n/2) ==0:
        return n
    return cal(int(n/2))

def jiecheng(n):
    if n == 1:
        return n
    return n*jiecheng(n-1)
print(jiecheng(5))

递归实现斐波那契数

def fib(n):
    if n == 1 or n==0:
        return 1
    if n == 2:
        return 2
    if n>2:
        return fib(n-2)+fib(n-1)
for i in range(20):
    print(fib(i))

python常用函数简介

标签:abs   country   返回   lis   常用   嵌套   war   before   条件   

原文地址:https://www.cnblogs.com/yeyeyeyey/p/12095685.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!