集合、函数
集合(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

浙公网安备 33010602011771号