python 函数

python笔记,自留观看

# 函数定义
def fun(num1, num2):
    return num1 + num2


print(fun(1, 2))


def fun(num):
    odd = []  # 存偶数
    even = []  # 存奇数
    for i in num:
        if i % 2:
            odd.append(i)
        else:
            even.append(i)
    return odd, even  # 函数的返回值为多个就是元组


print(fun([10, 29, 34, 23, 44, 53, 55]))


# 1.没有返回值
def fun1():
    print('hello')


fun1()


# 2.有一个返回值
def fun2():
    return 'hello'


res = fun2()
print(res)


# 3.有多个返回值
def fun3():
    return 'hello', 'world'


print(fun3())

'''      函数可以定义默认参数         '''


def fun(a, b=10):
    print(a, b)


#  函数调用
fun(100)

fun(20, 30)

'''     可变参数列表     只能一个       '''


def fun(*args):
    print(args)


fun(10)
fun(10, 30)
fun(30, 405, 234)

'''     可变的关键字形参列表      也只能一个      '''


def fun1(**args):
    print(args)


fun1(a=10)
fun1(a=20, b=30, c=40)
print('hello', 'world', 'end')


#  在一个函数中 有位置形参和关键字形参  位置形参放在前面
def fun2(*args, **argss):
    print(args)


def fun(a, b, c):  # a,b,c在函数的定义处,所有是形式参数
    print('a=', a)
    print('b=', b)
    print('c=', c)


# 函数的调用
fun(10, 20, 30)  # 函数调用时的参数传递,称为位置传参
lst = [11, 22, 33]
fun(*lst)  # 在函数调用时,将列表中的每个元素都转换为位置实参传入
print('--------------------')
fun(a=100, c=300, b=200)  # 函数的调用,所以是关键字实参

dic = {'a': 111, 'b': 222, 'c': 333}
fun(**dic) #函数调用中  将字典中的键值对都转换为关键字实参传入


def fun(a, b=10):  # b在函数的定义处,所以b是形参,而且进行了赋值,所以b是默认值形参
    print('a=', a)
    print('b=', b)


def fun2(*args):  # 个数可变的位置形参
    print(args)


def fun3(**args2):  # 个数可变的关键字形参
    print(args2)


fun2(1, 23, 323, 23, 23)
fun3(a=11, b=1232, c=234)


def fun4(a, b, c, d):
    # def fun4(a, b, *,c, d):  * 加了* 从这个*之后的参数一定要采用关键字传递
    print('a=', a)
    print('b=', b)
    print('c=', c)
    print('d=', d)


# 使用fun4函数
fun4(10, 20, 30, 40)  # 位置实参传递
fun4(a=10, b=20, c=30, d=40)  # 关键字实参传递
fun4(10, 20, c=30, d=40)  # 前两个位置传递 后面关键字传递

'''  需求 c、d只能采用关键字实参传递    '''


def fun5(a, b, *, c, d, **args):
    pass


def fun6(*args, **args2):
    pass


def fun7(a, b=10, *args, **args2):
    pass


def fun(a, b):
    c = a + b  # c就称为局部变量,因为c在函数体内进行定义的变量,a,b为函数的形参,作用范围也是函数内部,相当于局部变量
    print(c)


# print(c)  # 超出了作用域

name = '杨老师'  # name的作用范围为函数内部和外部都可以使用----->称为全局变量
print(name)


def fun2():
    print(name)


# 调用函数
fun2()


def fun3():
    global age  # 使用global声明就变成了全局变量
    age = 20
    print(age)


fun3()
print(age)


'''     递归函数           '''


def fac(n):
    if (n == 1):
        return 1
    else:
        return n * fac(n - 1)


print(fac(6))


# 斐波那契数列

def fib(n):
    if n == 1:
        return 1
    elif n == 2:
        return 1
    else:
        return fib(n - 1) + fib(n - 2)
    fib(6)

                      
print(fib(6))         
                      
'---------------------
                      
# 输出前六个位置的数字          
for i in range(1, 7): 
    print(fib(i))     
                      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值