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个数并返回。

相关文章
|
3天前
|
机器学习/深度学习 人工智能 算法
机械视觉:原理、应用及Python代码示例
机械视觉:原理、应用及Python代码示例
|
5天前
|
数据挖掘 数据处理 索引
python常用pandas函数nlargest / nsmallest及其手动实现
python常用pandas函数nlargest / nsmallest及其手动实现
20 0
|
8天前
|
并行计算 C语言 开发者
优化Python代码的五大技巧
Python作为一种流行的编程语言,在各种应用场景中广泛使用。然而,随着项目规模的增长和需求的变化,Python代码的性能和可维护性也成为了关键问题。本文将介绍优化Python代码的五大技巧,帮助开发者提升代码效率和质量。
|
3天前
|
存储 缓存 算法
优化Python代码性能的7个技巧
在日常的Python开发中,优化代码性能是一个重要的课题。本文介绍了7个实用的技巧,帮助开发者提高Python代码的执行效率,包括利用生成器表达式、使用适量的缓存、避免不必要的循环等。通过本文的指导,读者可以更好地理解Python代码性能优化的方法,提升自身的编程水平。
|
1天前
|
存储 开发者 Python
优化Python代码中的内存占用:实用技巧与最佳实践
本文将介绍如何优化Python代码中的内存占用,通过实用技巧和最佳实践,有效减少内存消耗,提升代码性能和可扩展性。
|
5天前
|
人工智能 Python
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
24 0
|
5天前
|
人工智能 Python
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
10 0
|
5天前
|
Linux 网络安全 开发工具
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
11 0
|
5天前
|
数据安全/隐私保护 Python
Python中的装饰器:提升代码可读性和灵活性
Python中的装饰器是一种强大的编程工具,能够提升代码的可读性和灵活性。本文将深入探讨装饰器的原理和用法,以及如何利用装饰器来简化代码、实现日志记录、权限控制等功能,从而让你的Python代码更加优雅和高效。
|
10天前
|
Serverless 开发者 Python
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
40 1