python学习-基础学习3
本文介绍 python 的基础学习,包括函数的定义、调用、参数传递、返回值、匿名函数(lambda)、局部变量和全局变量的作用域,以及练习俩个基础函数题。
供自己以后查漏补缺,也欢迎同道朋友交流学习。
引言
本章主要介绍 python
的基础学习,包括函数的定义、调用、参数传递、返回值、匿名函数(lambda)、局部变量和全局变量的作用域,以及练习俩个基础函数题。
函数
Python
的函数是一段可以重复使用的代码块,用于执行特定的任务。
定义和调用函数
定义函数使用 def
关键字
def greet(name):
print(f"Hello, {name}!")
# 调用函数
greet("NiuNai")
# 输出: Hello, NiuNai
参数传递
参数传递有位置参数
、关键字参数
、默认参数
和可变参数
这几种方式。
def add(a, b):
return a + b
# 位置参数按照函数定义时参数的顺序来传递
print('@@@@ 位置参数', add(5, 3))
# 输出 @@@@ 位置参数 8
# 关键字参数允许你通过参数名来传递参数,这使得代码更易读
print('@@@@ 关键字参数', add(a=5, b=7))
# 输出 @@@@ 关键字参数 12
# 默认参数提供了参数的默认值,如果调用时没有提供这个参数,就会使用默认值。
def greet2(name = 'SuanNai'):
print(f"Hello, {name}!")
greet2()
# 输出: Hello, SuanNai
# 可变参数允许你传递任意数量的参数给函数。
def add2(*args):
return sum(args)
print('@@@@ 可变参数', add2(1, 2, 3, 4) )
# @@@@ 可变参数 10
返回值
函数可以通过 return 语句返回一个值。
def multiply(a, b):
return a * b
匿名函数 lambda
匿名函数是一种简洁的定义函数的方式,通常用于创建简单的函数。
# 定义一个匿名函数,用于加 10
add_ten = lambda x: x + 10
result = add_ten(5) # 15
作用域
局部变量
局部变量是在函数内部定义的变量,它们只能在该函数内部访问。
def my_function():
local_var = 10
print(local_var) # 可以访问
my_function()
# print(local_var) # 错误:局部变量不可在此访问
全局变量
全局变量是在函数外部定义的变量,它们可以在整个程序中访问。
global_var = 10
def my_function2():
print(global_var) # 可以访问
my_function2()
非局部变量
非局部变量是在嵌套函数
中定义的变量,它们既不是全局变量也不是局部变量。
def outer_function():
outer_var = 10
def inner_function():
nonlocal outer_var
print(outer_var) # 可以访问并修改
inner_function()
outer_function()
函数基础练习
生成斐波那契数列
使用递归的方式生成斐波那契数列
def fibonacci_recursive(n):
if n <= 0:
return "请输入正整数"
elif n == 1:
return 0
elif n == 2:
return 1
else:
return fibonacci_recursive(n-1) + fibonacci_recursive(n-2)
def generate_fibonacci_recursive(n):
fib_list = []
for i in range(1, n+1):
fib_list.append(fibonacci_recursive(i))
return fib_list
# 打印前10个斐波那契数
print(generate_fibonacci_recursive(10))
# 输出:[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
生成 1 到 100 之间的偶数列表
使用列表推导式生成 1 到 100 之间的偶数列表
even_numbers = [x for x in range(1, 101) if x % 2 == 0]
print(even_numbers)
python学习专栏系列
- python学习-基础学习1
- python学习-基础学习2
- python学习-基础学习3
- python学习-面向对象编程1
- python学习-面向对象编程2
- python学习-文件读写
- python学习-程序异常处理
- python学习-正则
- python学习-处理word文档
- python学习-处理pdf文档
- python学习-处理excel文档
- python学习-处理csv文档
- python学习-使用matplotlib绘制图表
- python学习-处理JSON数据
- python学习-SQLite数据库
- python学习-多线程处理
- python学习-网络爬虫