Python知识分享第九天补充
1. 函数是什么,函数的作用,函数怎么使用?
函数就是将有单独功能的代码集合在一起形成特殊的功能
函数的作用:1.提高代码的复用性 2.模块化编程 (模块化编程的核心就是函数 把一个系统分级成若干个功能 每个功能就对应着相应的函数)
2.定义、调用函数的格式分别是什么?
函数的定义和调用有三要素:1.函数名 2.参数 3.返回值
“”"
函数定义格式:
def 函数名([形参列表]):
函数体
[return 返回值]
调用函数的格式:
[接收返回值的变量] = 函数名([实参…])
“”"
3. 函数中形参和实参分别是什么?
形参就是 形容调用函数需要什么参数
实参就是 调用函数时候实际传入的参数
4. 函数中如何设置返回值?如果不设置返回值,函数默认会返回什么?
返回值函数最后用return返回 如果不设置返回值 函数默认返回为none
5.什么是局部变量?什么是全局变量?
局部变量是声明在函数内或形参中,作用域只在函数内,如果想在函数外访问需要用global修饰
全局变量声明在函数外 所有的函数都能访问
6. 函数内部如何修改全局变量?
用global声明
7. 函数传递实参有那2种方式?函数形参的4个分类?
函数传递实参有位置参数和关键字参数
形参分类 普通参数 缺省参数(默认值) 不定长参数:1.*agrs 接收所有的位置参数 封装成元组
2.**kwagrs 接收所有的关键字参数 封装成字典
8. 什么是组包?什么是拆包?
组包 右边有多个数据时 会自动封装成元组
拆包 左边变量数量和右边元组长度一致时 元组的元素会一一赋值给变量
9.什么是可变类型?可变类型有哪些?什么是不可变类型?不可变类型有哪些?
可变类型:list(列表) dict(字典) set(集合)
不可变类型: str bool float int tuple
10. Python中使用什么函数来查看变量的内存地址?
id函数 id(变量名/变量值)
11. 什么是列表推导式?格式是什么样的?有什么特点?
列表推导式就是转化生成列表写法的表达式
格式是 形式一: list = [i for i in range() [if 判断条件]]
[变量 计算公式 (筛选条件)]
12.设计一个程序
- 定义一个函数max,接受的参数类型是数值,最终返回两个数中的最大值
def max(a, b):
return a if a > b else b
# print(max(10, 8))
设计一个程序:
完成一个函数,给定三个值。判断你给的值是否可以组成一个三角形,如果能组成三角形,返回 True,否则返回 False。
提示:
* 三角形成立必须两边之和大于第三边
* 第一步:定义函数,并接受三个参数
* 第二步:任意相加其中的两条边判断是否大于第三边,要保证三条边中任意两边之和都大于第三边
def jud(a, b, c):
return True if a < b + c and b < a + c and c < a + b else False
# print(jud(3, 4, 5))
# print(jud(1, 1, 3))
13. 设计一个程序 计算100到200的数字之和,要求用for循环配合range实现;
def sum_hunder():
sum = 0
for i in range(100, 201, ):
sum += i
return sum
# print(sum_hunder())
14 设计一个程序 计算100-200之间的奇数之和,要求用for循环配合range实现;
def sum_hunderone():
sum = 0
for i in range(101, 201, 2):
sum += i
return sum
# print(sum_hunderone())
15 设计一个程序 使用 for 循环配合 range 打印出如下图形:(正三角形)
def regular():
for i in range(6):
print('*' * i)
# regular()
16 设计一个程序 已知列表num, 完成列表num的去重,并使用一行代码完成num列表奇数的筛选
num = [1, 2, 3, 4, 1, 2, 3, 4]
set1 = set(num)
# print([i for i in set1 if i % 2 != 0])
17 设计一个程序 - 用列表推导式求出100(包含100)以内4的倍数:4 8 12 …
# print([i for i in range(4,101) if i % 4 == 0])
18 设计一个程序 使用 lambda 表达式,定义一个匿名函数,计算三个数字的和并返回,写完之后进行调用。
def sum(a, b, c, fun):
return fun(a, b, c)
print(sum(10, 20, 19, lambda a, b, c: a + b + c))
19 设计一个函数 定义一个函数func,设置两种不定长形参,按照如下方式进行调用:
func(1, 2, 3, a=4, b=5, d=6) 实现 func 函数的代码,计算传入参数的数字之和
def func(*agrs, **kwargs):
sum1 = 0
for i in agrs:
sum1 += i
for j in kwargs.values():
sum1 += j
return sum1
print(func(1, 2, 3, 4, 5, a=2, b=5, c=8, d=5))
20 设计一个程序 输出 9*9 乘法口诀表
for i in range(1, 10):
for j in range(1, i+1):
print(f'{i} * {j} = {i*j}', end='\t')
print()
坚持分享 共同进步 纯手敲 如有错误 欢迎指出