Python Class 04-函数和代码的复用

简介: Python Class 04-函数和代码的复用

函数的基本使用

1. # 定义一个对整数n求阶乘的函数
2. def jc(n):
3.     s = 1
4. for i in range(2, n):
5.         s *= i
6. return s
7. print(jc(10))# 函数调用
1. #无参数返回的函数
2. >>> def PrintWorld():
3.  print("这是一个没有返回参数的函数!")
4. 
5. 
6. >>> PrintWorld()
7. 这是一个没有返回参数的函数!
8. >>>
1. #函数的类型
2. >>> def f(x):
3.  return x+1
4. 
5. >>> type(f)
6. <class 'function'>
7. >>> type(f(1))
8. <class 'int'>
9. >>>

函数的参数传递

1. #可选参数传递
2. >>> def multiply(x,y=10):
3.  print(x*y)  
4. >>> multiply(99)
5. 990
6. >>> multiply(99,2)
7. 198
8. #参数名称传递
9. >>> multiply(y=5,x=25)
10. 125
11. >>>

函数的返回值

1. #单返回值
2. >>> def multiply(x,y=10):
3.  return x*y
4. >>> s=multiply(99,2)
5. >>> print(s)
6. 198
7. #多返回值
8. >>> def multiply(x,y=10):
9.  return x*y,x+y
10. >>> s=multiply(99,2)
11. >>> print(s)
12. (198, 101)
13. >>> a,b=multiply(99,2)
14. >>> a
15. 198
16. >>> b
17. 101
18. >>>
1. #多结束条件 多return
2. def manyret(x):
3. try:
4. if x > 0:
5. return x + 1
6. else:
7. return x - 1
8. except:
9. return 0
10. print(manyret('a'))

变量的作用域

1. >>> def multiply(x,y=10):
2.  z=x*y
3.  return z
4. 
5. >>> s=multiply(99,2)
6. >>> print(s)
7. 198
8. >>> print(z)
9. Traceback (most recent call last):
10.   File "<pyshell#52>", line 1, in <module>
11. print(z)
12. NameError: name 'z' is not defined
13. >>>
1. #全局变量的调用 global
2. >>> n=2
3. >>> def multiply(x,y=10):
4.  global n
5.  return x*y*n
6. >>> s=multiply(99,2)
7. >>> print(s)
8. 396
9. >>>
1. #未使用global声明 即使名称相同 也不是全局变量
2. >>> n=2
3. >>> def multiply(x,y=10):
4.  n=x*y
5.  return n
6. 
7. >>> s=multiply(99,2)
8. >>> print(s)
9. 198
10. >>> print(n)
11. 2
12. >>>

匿名函数    lambda语法只包含一个语句:lambda [arg1 [,arg2,.....argn]]:expression

1. >>> sum = lambda arg1, arg2: arg1 + arg2
2. >>> print ("相加后的值为 : %d"%sum( 10, 20 ))
3. 相加后的值为 : 30
4. >>> print ("相加后的值为 : %d"%sum( 20, 20 ))
5. 相加后的值为 : 40

小作业:

2.实现isPrime()函数,参数为整数,要有异常处理。如果整数是质数,返回True,否则返回False。

4.编写一个函数,打印200以内的所有素数,以空格分割。

5.编写一个函数,参数为一个整数n。利用递归获取斐波那契数列中的第n个数并返回。

相关文章
|
1天前
|
开发者 Python
Python入门:8.Python中的函数
### 引言 在编写程序时,函数是一种强大的工具。它们可以将代码逻辑模块化,减少重复代码的编写,并提高程序的可读性和可维护性。无论是初学者还是资深开发者,深入理解函数的使用和设计都是编写高质量代码的基础。本文将从基础概念开始,逐步讲解 Python 中的函数及其高级特性。
Python入门:8.Python中的函数
|
13天前
|
Python
The Instance Class Static Magic Method in Python
So what is the difference between the Instance method, the Class method and the Static method?
24 8
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
1月前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
16 0
|
1月前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
32 3
|
1月前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
45 2
|
2月前
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
78 33
|
2月前
|
JavaScript API C#
【Azure Developer】Python代码调用Graph API将外部用户添加到组,结果无效,也无错误信息
根据Graph API文档,在单个请求中将多个成员添加到组时,Python代码示例中的`members@odata.bind`被错误写为`members@odata_bind`,导致用户未成功添加。
52 10
|
2月前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
87 8
|
2月前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
105 8

热门文章

最新文章

推荐镜像

更多