集合、函数

集合(set):add(添加集合)、update(更新集合)

add方法和update添加元素的区别:

如果你用add方法在集合里面添加的一个单词的话就是一个整体的元素,如果用update这个方法往集合里面添加的是一个单词的话就是拆分成为多个元素

 1 # add方法往集合里面添加元素
 2 s2 = set("note")
 3 s2.add("book")
 4 print(s2)
 5 
 6 # 执行结果
 7 {'n', 'e', 'book', 't', 'o'}
 8 
 9 # update方法往集合里面添加元素
10 s2 = set("note")
11 # s2.add("book")
12 # print(s2)
13 s2.update("book")
14 print(s2)
15 
16 # 执行结果
17 {'e', 'o', 'k', 'n', 't', 'b'}

函数:

函数能提高应用的模块性,和代码的重复利用率,你已经知道python提供了许多内置函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数

定义:函数是值将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可

函数的特性:

1.代码重用

2.保持一致性

3.可扩展性

形参和实参

形参:形式参数,不是实际存在,是虚拟变量。在定义函数和函数体的时候使用形参,目的是在函数调用时可以接受实参(实参个数,类型与实参--对应)

实参:实际参数,调用函数时传给函数的参数,可以是常量、变量、表达式,函数,传给形参

区别:形参是虚拟的,不用占内存空间,形参变量只有在被调用时才配内存单元,实参是一个变量,占用内存空间,数据传送单向,实参传给形参,不能形参传给实参

 

函数的多值参数,可变的不定名参数

def f(*args):
    print(args)
f(1, 2, 3, 4)


# 执行结果
(1, 2, 3, 4)

 函数名字既可以作为函数的参数,还可以作为函数的返回值

def foo():
 
    def inner():
 
        return 8
 
     return innerr

ret = foo()
print(ret)

# 执行结果
<function foo.<locals>.inner at 0x000001EAE27DBE58>

递归函数

定义:在函数内部,可以调用其他函数。如果一个函数在内部调用自己本身,这个函数就是递归函数

 

阶乘,实例

def fat(n):

    set = 1
    for i in range(1, n+1):
        set = set * i
    return set

print(fat(5))

# 执行结果
120

 

用递归函数实现阶乘

 

实例

def fact(n):

    if n == 1:
        retrun 1

    return n * fact(n-1)

print(fact(5))

# 执行结果
120

关于递归的特点:

1.调用自身函数

2.有一个结束条件

但凡是用递归可以写的程序,循环都可以解决。

递归的效率在很多时候会很低

 

# 0、1、1、2、3、5、8、13、21、34、……
def Fibo(n):

    if n <= 1:
        return n

    return Fibo(n-1) + Fibo(n-2)
    
print(Fibo(8))

# 执行结果
21

 

posted @ 2021-01-26 01:51  黑白灰调2  阅读(72)  评论(0)    收藏  举报