小白也能懂的Python函数入门指南

该文介绍了Python中的函数基础知识,包括函数的定义、使用参数、返回值的定义和None类型,以及函数内部的变量作用域。文中通过示例展示了如何定义和调用函数,以及如何在函数中处理局部和全局变量。此外,还提到了函数的嵌套调用和使用文档注释进行函数说明的方法。
摘要由CSDN通过智能技术生成

数据来源

01 函数介绍

函数

函数的快速体验

演示

"""
演示:快速体验函数的开发及应用
"""
# 需求,统计字符串的长度,不使用内置函数len()
str1 = "itheima"
str2 = "incast"
str3 = "python"

# 定义一个计算变量
count = 0
for i in str1:
    count +=1
print(f"字符串{str1}的长度:{count}")

count = 0
for i in str2:
    count +=1
print(f"字符串{str2}的长度:{count}")

count = 0
for i in str3:
    count +=1
print(f"字符串{str3}的长度:{count}")

# 可以使用函数来优化这个过程
def my_len(data):
    count = 0
    for i in data:
        count += 1
    print(f"字符串{data}的长度:{count}")

print("---------------我是分割线--------------------")

my_len(str1)
my_len(str2)
my_len(str3)

总结

02 函数的基础定义语法

函数定义

演示

"""
演示函数的定义语法
"""
#定义一个函数,输出相关信息
def say_hi():
    print("你好,李银河")
    return 100      # 返回一个数字
num = say_hi()  # 调用函数并使用num接收函数返回的数据
print(f"num = {num}")

总结

03 函数的参数

函数的传入参数

函数的传入参数 - 传参定义

演示 

"""
演示函数使用参数
"""
#定义2数相加的函数,通过参数接收被计算的2个数字
def add(x,y):
    print(f"{x}+{y}={x + y}")

# 调用函数,传入被计的2个数字
add(5,7)

函数的传入参数-语法解析

总结

04 函数的返回值定义语法

什么是返回值

返回值语法

演示

"""
演示:定义函数返回值的语法格式
"""
# 定义一个函数,完成2数相加功能
def add(x,y):
    return  x+y

# 通过返回值,将相加的结果返问给调用者
sum = add(5,7)
print(f"sum={sum}")



总结

05 函数返回值之None类型

None类型

演示

"""
演示:定义函数返回值值Node
"""
def say_hello():
    print("Hello.. ")

# 使用变量接收 say_hello 函数的返回值
result =say_hello()

# 打印返回值
print(result)  # 结果None

#打印返回值类型
print(type(result)) # 结果< class' Nonetype'>

# None可以主动使用 return返回,效果等同于不写 return语句:
def say_hello():
    print("Hello...")
    return None

# 使用变量接收 say_hello 函数的返回值
result = say_hello()

# 打印返回值
print(result)  # 结果None

None类型的应用场景

演示

# None 用于if判断
def check_age(age):
    if age >= 18:
        return "恭喜恭喜你已经不是小朋友了"
    else:
        return None
result = check_age(int(input("请输入你的年龄:")))

if not result:  # not 可以理解为反转,如果是false就会变成true,如果是true就会变成false
    # 进入if表示result的值是None,也就是False
    print("未成年人,不可以进游乐场哦")
else:
    print("你已经成年了,可以进入游乐场")


# None 用于声明五初始值的变量
name = None


总结

06 函数的说明文档

函数的说明文档

演示

"""
演示对函数进行文档说明
"""

# 定义函数,进行文档说明
# 形参就是形式上的参数,如函数中用来接收数据的参数
# 实参就是实际上的参数,如调用函数时给函数传参的函数
def add(x,y):
    """
    add 函数可以接受2个参数,进行2数相加的功能
    :param x: 形参x表示相加其中的一个数字
    :param y: 形参y表示相加的另一个数字
    :return:  变量return存储两数相加的结果
    """
    result = x + y
    print(f"2数相加的结果是:{result}")
    return result

add(2,65) # 2,65就是实参

总结 

06 函数的嵌套调用

什么是函数的嵌套

演示

"""
演示嵌套调用函数
"""
# 定义函数func_b
def func_b():
    print("---2---")

# 定义函数func_a,并在内部调用func_b
def func_a():
    print("---1---")

    # 嵌套调用func_b()
    func_b()

    print("---3---")
# 调用函数func_a
func_a()

执行过程 

总结

07 函数中变量的作用域

局部变量

"""
演示在函数使用的时候,定义的变量作用域
"""
# 演示局部变量
def test_a():
    num = 100
    print(f"num={num}")
test_a()
# 出了函数体局部变量就无法使用了,因为函数执行完函数内的局部变量就会被销毁
print(num)  

全局变量

演示 

# 演示全局变量
num = 200
def test_a():
    print(f"test_a:{num}")

def test_b():
    num = 500  # 在函数内部定义一个局部变量,这个变量虽然和全局变量num的名称相同但是他们是互不影响的
    print(f"test_b:{num}")

test_a()
test_b()
print(num)

global关键字

演示

# global关键字,在函数内声明变量为全局变量
num = 100
def test_a():
    print(f"test_a:{num}")

def test_b():
    # global 关键字声明a是全局变量
    global num
    num = 200  # 在函数内部定义一个局部变量,这个变量虽然和全局变量num的名称相同但是他们是互不影响的
    print(f"test_b:{num}")

test_a()
test_b()
print(f"全局变量num = {num}")

总结

练习-写一个ATN机

money = 5000000  # 银行卡余额
name = input("请输入用户姓名:")

def balance():
    """
    balance 是查询银行卡余额的函数
    :return:
    """
    print(f"-----------------查询银行卡余额-----------------")
    print(f"您的银行卡余额为:{money}")

def deposit(data):
    """
    deposit 是存款函数
    :param data:   形参data用来接收存款数值
    :return:
    """
    print(f"-----------------存款-----------------")
    # 声明关键字money是全局变量
    global money
    money += data
    print(f"成功存款{data}元")
    balance() # 调用查询余额的函数

def withdraw_money(data):
    """
      withdraw_money 是取款函数
      :param data:   形参data用来接收取款数值
      :return:
      """
    print(f"-----------------取款-----------------")
    print(f"成功取款{data}元")
    # 声明关键字money是全局变量
    global money
    money -= data
    balance() # 调用查询余额的函数

def menu():
    """
    menu 是主菜单函数
    :return: 返回操作的编号
    """
    print(f"---------------{name},你好---------------")
    print("查询余额【输入1】")
    print("存款   【输入2】")
    print("取款   【输入3】")
    print("退出   【输入4】")
    return input("请输入您要操作的编号:")

# 设置无限循环,确保程序不会退出 int() 把数据转换成整型
while True:
    keyboard_input = menu()  # 一进来就调用主菜单
    if keyboard_input == "1":
        balance()  # 调用查询余额的函数
        continue
    elif keyboard_input == "2":
        deposit(int(input("请输入你要存款的金额:")))
        continue
    elif keyboard_input == "3":
        withdraw_money(int(input("请输入你要取款的金额:")))
        continue
    elif keyboard_input == "4":
      print("退出成功")
      break  # 退出循环
    else:
        print("................输入错误")
        menu()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狗蛋的博客之旅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值