- 第 85 篇 -
Date: 2025 - 04 - 06
Author: 郑龙浩/仟墨
【Python 在校课堂笔记】
南山-第 7 节课
上课时间: 2025-03-27
文章目录
- 南山-第 7 节课
- 一 99乘法表 –> 三角
- 二 函数
- 1 已接触的函数,部分举例
- 2 自定函数的定义与使用
- 自定义函数:
- 举例
- 3 带参数的
- 4 阶乘
- 5 捕获异常
- 三 作业
- (1)什么情况下用自定义函数?
- (2)自定义函数的语法
一 99乘法表 –> 三角
去掉打印的内容,只打印*
,打印出来的就是右下三角形
for i in range(1, 10):
for j in range(1, i + 1):
print(f'{j} × {i} = {j * i:<3}', end=' ')
print()
# 打印结果
1 × 1 = 1
1 × 2 = 2 2 × 2 = 4
1 × 3 = 3 2 × 3 = 6 3 × 3 = 9
1 × 4 = 4 2 × 4 = 8 3 × 4 = 12 4 × 4 = 16
1 × 5 = 5 2 × 5 = 10 3 × 5 = 15 4 × 5 = 20 5 × 5 = 25
1 × 6 = 6 2 × 6 = 12 3 × 6 = 18 4 × 6 = 24 5 × 6 = 30 6 × 6 = 36
1 × 7 = 7 2 × 7 = 14 3 × 7 = 21 4 × 7 = 28 5 × 7 = 35 6 × 7 = 42 7 × 7 = 49
1 × 8 = 8 2 × 8 = 16 3 × 8 = 24 4 × 8 = 32 5 × 8 = 40 6 × 8 = 48 7 × 8 = 56 8 × 8 = 64
1 × 9 = 9 2 × 9 = 18 3 × 9 = 27 4 × 9 = 36 5 × 9 = 45 6 × 9 = 54 7 × 9 = 63 8 × 9 = 72 9 × 9 = 81
for i in range(1, 10):
for j in range(1, i + 1):
print('*', end = ' ')
print()
# 打印结果
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
二 函数
先定义,后调用
1 已接触的函数,部分举例
注: 源文件名尽量不要和库名一致
#内置函数
range()
print()
input()
len()
...
#库函数
math.max()
math.min()
math.factorial()
pow()
...
#第三方函数
jieba库
jieba.luct('123')
...
安装第3方库
- 单击“文件”
- 单击“project”
inport jieba
print(jieba.luct('现在上的是python语言程序设计课程!')) # 词云
# 答案
# ['现在'
2 自定函数的定义与使用
自定义函数:
-
函数定义
结构:
def 为关键字
def 函数名 (参数1, 参数2,…): 函数体 ...
-
函数调用
def 函数名 (参数1, 参数2,…)
举例
def print_star():
for i in range(1, 9): # 8 行
for j in range(1, i + 1):
print('*', end = ' ')
print()
print_star():
# 打印结果
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
3 带参数的
形参数量与实参数量必须保持一致,否则报错
def print_star(n): # n 为形参
for i in range(1, n + 1): # n 行的话,要将n + 1,否则打印出来是n - 1行(因为range 的范围是左闭右开)
for j in range(1, i + 1):
print('*', end = ' ')
print()
print_star(8) # 5为实参
# 打印结果
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
4 阶乘
单向传递 –> 不返回值,直接打印结果
def fun(n): #阶乘
sum = 1
for i in range(1, n + 1):
sum *= i
print(sum)
fun(5)
# 打印结果
120
双向传递 –> 返回结果
return适用于自定义函数当中
当有多个return时,返回第一个起作用的return
阶乘 * 10
def fun(n): #阶乘
sum = 1
for i in range(1, n + 1):
sum *= i
return sum;
ans = fun(5) # 将结果传回来
print(f'{ans * 10})
# 打印结果
1200
-
5 捕获异常
-
参数错误的时候,会提示“ValueError”,后边跟着一串英文,但是我们可以捕获这个异常,按照自己的要求提示的相应内容
-
数据类型错误的时候,会提示“TypeError”,后边跟着一串英文,但是我们可以捕获这个异常,按照自己的要求提示的相应内容
try:
def fun(n): #阶乘
sum = 1
for i in range(1, n + 1):
sum *= i
return sum
print(f'{sum * 10}')
except ValueError:
print("请输入一个参数")
except TypeError:
print("请输入一个整形数据")
三 作业
(1)什么情况下用自定义函数?
- 当内置函数与第三方库函数不能满足自己实现某种功能的时候
- 当需要进行多个重复运算,但是代码是相同的时候,可以将这段代码封装到函数当中,以便于调用,减少了代码量
- 当代码很长的时候,如果功能很复杂,需要将功能拆分开来,封装到函数当中,提高阅读效率
(2)自定义函数的语法
# 定义
def 函数名 (参数1, 参数2, ...):
函数体
# 调用
def 函数名 (参数1, 参数2, ...)