Python函数

本文介绍了函数在编程中的重要性,包括函数的定义、调用、参数和返回值,以及如何通过封装和减少重复来提高开发效率。此外,还讨论了函数的组织结构、作用域和嵌套调用,通过实例展示了函数在实际应用中的综合运用。
摘要由CSDN通过智能技术生成

函数介绍

函数:是组织好的可重复使用的,用来实现特定功能的代码段。

 

# 定义一个统计字符串长度的函数
def my_len(data):
    count = 0
    for i in data:
        count += 1
    print(f"{data}字符串的长度为{count}")

name1 = "iwomdsdhihaw"
name2 = "wodiao"
name3 = "aigogogo"

my_len(name1)
my_len(name2)
my_len(name3)

 所以,为了得到一个针对特定需求、可供重复使用的代码段,提高程序的复用性、减少重复性代码、提升开发效率,函数至关重要!

函数的定义

1.函数是:

组织好的、可重复使用的、用来实现特定功能的代码块

2.使用函数的好处是:

        将功能封装在函数内,可供随时随地重复利用

        提高代码的复用性,减少重复代码,提高开发效率

函数的定义:

def 函数名(传入参数):

        函数体

        return 返回值

函数的调用:

函数名(参数)

# 定义一个函数
def say_hi():
    print("hi")

# 调用函数
say_hi()

注意事项

        1、参数如不需要,可以省略

        2、返回值如不需要,可以省略

        3、函数必须先定义后使用

 

def nat():
    print("欢迎来到Gregory的room!\n请出示您的健康码以及24小时核酸证明!")
nat()

函数的参数

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

基于函数的定义语法:

def 函数名(传入参数):

        函数体

        return 返回值

可以有如下函数定义:

def add(x,y):
    result = x + y
    print(f"{x} + {y}的结果是:{result}")

实现了,每次计算的是x+y,而非固定的1+2

x + y的值,可以在调用函数的时候指定

def add(a,b):
    sum = a + b
    print(f"{a}+{b}={sum}")

add(5,15)

函数定义中,提供的x和y,称之为:形式参数(形参),表示函数声明将要使用2个参数

        参数之间使用逗号进行分割

函数调用中,提供的5和6,称之为:实际参数(实参),表示函数执行时真正使用的参数值

        传入的时候,按照顺序传入数据,使用逗号分隔

 

 

def auto_nat(heat):
    print("欢迎来到巩朕豪的room!请配合测体温!")
    if heat < 37.5:
        print(f"体温测量中,您的体温是:{heat}度,体温正常请进!")
    else:
        print(f"体温测量中,您的体温是:{heat}度,需要隔离!")

heat = float(input("请输入您的体温"))
auto_nat(heat)

函数返回值

语法格式:

def 函数(参数...):

        函数体

        return 返回值

变量 = 函数(参数) 

def add(a,b):
    result = a + b
    return result

sum = add(10,15)
print(sum)

None类型

 演示:

def say_hello():
    print("Hello...")

# 使用变量接收say_hello函数的返回值
result = say_hello()
# 打印返回值
print(result)            # 结果None
# 打印返回值类型
print(type(result))      # 结果<class 'NoneType'>

None可以主动使用return返回,效果等同于不写return语句

def say_good():
    print("good")
    return None

b = say_good()
print(b)            # 结果None  
def check_age(age):
    if age > 18:
        return "SUCCESS"
    else:
        return None

result = check_age(16)
if not result:  # 是 if result is None的简写
    print("未成年,不能进")
# 定义空变量    
name = None

函数说明文档

def add(a,b):
    """
    add函数可以接收两个参数,进行两数相加的功能
    :param a:第一个加数
    :param b:第二个加数
    :return:返回两个数相加的结果
    """
    result = a+b
    return result

add(5,6)

函数的嵌套调用

所谓函数嵌套调用指的是一个函数里面又调用了另外一个函数

变量的作用域

变量的作用域指的是变量的作用范围(变量在哪里可用,哪里不可用)

主要分为两类:局部变量和全局变量

所谓局部变量是定义在函数体内部的变量,即只在函数体内部生效

def testA():
    num = 100
    print(num)

testA()    # 100
print(num)    # 报错:name 'num' is not defined

所谓全局变量,指的是在函数体内、外都能生效的变量

num = 100

def testA():
    print(num)

def testB():
    print(num)

testA()    # 100
testB()    # 100

global关键字:在函数内声明变量为全局变量

num = 200
def func01():
    print(f"01num:{num}")

def func02():
    num = 500
    print(f"02num:{num}")


func01()
func02()
print(f"num:{num}")

 

num = 200
def func01():
    print(f"01num:{num}")

def func02():
    global num
    num = 500
    print(f"02num:{num}")


func01()
func02()
print(f"num:{num}")

 

综合案例

 

# 我写的
import random

money = random.randint(0,9999999999)
name = input("请输入您的名字")
#查询余额
def query():
    print("----------查询余额----------")
    print(f"{name},您好,您的余额剩余:{money}元")
# 存款
def save_money():
    print("-----------存款-----------")
    save = int(input("请输入您想存入金额:"))
    global money
    money += save
    print(f"{name},您好,您存款{save}元成功")
    print(f"{name},您好,您的余额剩余:{money}元")
# 取款
def get_money():
    print("-----------取款-----------")
    get = int(input("请输入您想取出的金额:"))
    global money
    money -= get
    print(f"{name},您好,您取款{get}元成功")
    print(f"{name},您好,您的余额剩余:{money}元")
# 退出

# 菜单
sign  = 1
while sign:
    print("-----------主菜单-----------")
    print(f"{name},您好,欢迎来到黑马银行,请选择操作:")
    print("查询余额:  [输入1]")
    print("存款:     [输入2]")
    print("取款:     [输入3]")
    print("退出:     [输入4]")
    put = int(input())
    if put == 1:
       query()
       continue
    elif put == 2:
        save_money()
        continue
    elif put == 3:
        get_money()
        continue
    elif put == 4:
        print("程序已退出,感谢您的使用")
        break
    else:
        print("您输入的数字有误,请重新输入")
  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值