Python----函数入门
函数的作用:函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段。
定义一个函数
-
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
-
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
-
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
-
函数内容以冒号起始,并且缩进。
-
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None
函数的调用
定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。
函数必须调用才会进行执行
示例1:
-
def demo():
print("今天是元旦")
demo() - 示例2:
def max (a, b):
if a > b:
return a
else:
return b
a = 4
b = 5
print(max(a, b))函数的参数作⽤
-
必备参数
-
关键字参数
-
默认参数
-
不定长参数
必备参数
必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。调用demo()函数,你必须传入一个参数,不然会出现语法错误:
# 定义函数func并接受参数a,b
def func(a, b):
result = a + b
print(result)
# 调用函数并传参a,b 如果不加参数就会报错,这里5 ,10位必备参数
func(5, 10)关键字参数
函数调用使用关键字参数来确定传入的参数值。
def func1(wine):
print(f"今天过节我要喝:{wine}")
func1(wine="红酒")默认参数
调用函数时,默认参数的值如果没有传入,则被认为是默认值。
def func(name="sunmmer",age=10):
print(f"大家好我叫{name},今年{age}岁了!")
func()python自定义函数中有两种不定长参数,第一种是*args,可直接传入参数值即可。
加了星号 * 不定长参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
第二种是**args,这种类型参数会以字典的形式导入,存放已命名的变量参数。
星号可以单独出现,星号后的参数必须用关键字传入。
def func(args1, *args):
print(args1)
print(args)
func("节日", "烟花", "跨年", "新年")#节日
#('烟花', '跨年', '新年')
字典示例:def func(num, *args, **kwargs):
print(num)
print(args)
print(kwargs)
func(1, "元旦", No1="跨年", No2="出去浪") -
函数的返回值作⽤
return语句[表达式]用于退出函数,返回一个表达式,不带参数的return语句返货None.
def num(a, b):
result = a + b
print("函数内 : ", result)
return result
result = num(10, 20)
print("函数外 : ", result)变量作用域
一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。
变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。
-
全局变量
-
局部变量
# 全局变量
num = 10
def demo():
result = num+20
print(result)
demo()def demo2():
global num # 声明num为全局变量
num = 10 # 局部变量
demo2()
result = num+20
print(result)函数的嵌套使用
所谓函数嵌套调⽤指的是⼀个函数⾥⾯⼜调⽤了另外⼀个函数
-
-
def num1(a, b):
result1 = a + b
return result1
num2 = num1(10, 20)
def num3(num4):
result2 = num4 + num2
print(result2)
num3(5)
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~