本帖最后由 da11 于 2025-4-7 20:41 编辑
# 函数的讲解
"""
函数:
函数是组织好的,可重复使用的,用来实现特定功能的代码段。
比如int()、print()、str()、len()、range()等都是python的内置函数
为了得带一个针对特定需求、可供重复利用的代码段、提供程序的复用性、减少重复性代码、提供开发效率,函数的使用是必不可少的
函数定义:
def 函数名(形参):
函数体
return 返回值
函数的调用:
函数名(实参)
注意事项:
1.参数如果不需要,可以省略。
2.返回值(return)如不需要,可以省略。没有return的函数返回的是None!
3.函数必须先定义后使用。
4.函数定义的参数之间使用逗号分隔。
5.函数的参数不设限制。
6.return之后的函数体代码都不会被执行了。
7.可以手动return None返回None。
None:
作为一个特殊的字面量:用于表示:空、无意义,其有非常多的应用场景。
· 用在函数无返回值上。
· 用在if判断上
· 在if判断中,None等同于False。
· 一般用于在函数中主动返回None,配合if判断做相关处理。
· 用于声明无内容的变量上
· 定义变量,但暂时不需要变量有具体值,可以用None来代替。
· None的数据类型是<class 'NoneType'>
global关键字:
使用global关键字,可以在函数内部声明变量为全局变量。
方法和函数功能一样,有传参,有返回值,只是方法的使用格式不同:
函数的使用:num = add(1,2) # 等同于C#中的方法
方法的使用:student = Student() # 等同于C#中结构体
num = student.add(1,2)
"""
# 定义无参数的函数
def hello_hs():
print("测试函数调用")
hello_hs()
# 定义计算字符串长度的函数
def length_js(var):
count_num=0
for i in var:
count_num+=1
print(f"长度是{count_num}")
length_js("2sd4sd45s4d24")
# 定义一个加法函数
def add_js(x,y):
add_num=x+y
print(f"{x}+{y}的结果是:{add_num}")
add_js(6,5)
def remove_js(x,y):
remove_num=x-y
return remove_num
num1=remove_js(10,2)
print(f"10-2返回的结果是:{num1}")
def hs_work(wd):
"""
函数说明:判断温度是否适宜
wd: 城市温度
Returns:None
"""
if wd > 35:
print(f"现在的温度是{wd}°C,请注意防范高温风险。")
elif wd < 10:
print(f"现在的温度是{wd}°C,天气好冷~~~。")
else:
print(f"现在的温度是{wd}°C,温度适宜。")
hs_work(int(input("城市温度现在是:")))
def check_age(age_num):
if age_num > 18:
return "成年人"
check_jg=check_age(int(input("请输入你的年龄")))
if check_jg==None:
print("未成年人")
else:
print("成年人")
num2=200
def test_func1():
print(f"test_func1:{num2}")
# 注意,函数内部如果不使用global关键字声明变量,则变量的作用域还是只能在本函数体使用
def test_func2():
num2=500
print(f"test_func2:{num2}")
def test_func3():
# global关键字声明num2是全局变量
global num2
num2 = 500
print(f"test_func3:{num2}")
test_func1()
test_func2()
test_func3()
print(num2)
"""
函数综合练习:模拟ATM机操作
"""
hs_work2_money_num=5000000
hs_work2_money_str="xxx"
def hs_work2_main():
print("--------------主菜单------------")
print(f"{hs_work2_money_str},欢迎进入ATM机,请选择业务")
print("查询余额\t【输入1】")
print("存款\t\t【输入2】")
print("取款\t\t【输入3】")
print("退出\t\t【输入4】")
hs_work2_num=int(input("请输入您的选择"))
if hs_work2_num==4:
return
elif hs_work2_num==1:
hs_work2_cxye(hs_work2_money_num)
hs_work2_main()
elif hs_work2_num==2:
hs_work2_ck()
hs_work2_main()
elif hs_work2_num==3:
hs_work2_qk()
hs_work2_main()
def hs_work2_cxye(money_num):
"""
函数用法:查询余额
money_num: 现金数
Returns:
"""
print(f"现在的余额是:{money_num}")
def hs_work2_ck():
global hs_work2_money_num
hs_work2_money_num = hs_work2_money_num + int(input("存款多少:"))
def hs_work2_qk():
global hs_work2_money_num
if hs_work2_money_num <= 0:
print("没有现金可以取")
else:
qk_num = int(input("取款多少:"))
if qk_num>hs_work2_money_num:
print("取款超过最大值了~,请重新输入")
hs_work2_qk()
else:
hs_work2_money_num = hs_work2_money_num - qk_num
hs_work2_main()
|