Python学习笔记(5)--函数

传送门==>B站黑马python入门教程


目录


1.函数


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

例如:之前用过的统计字符串长度的函数len()

python 复制代码
name = "itpythonjava"
length = len(name)
print(length)

那么,为什么可以随时随地使用len()函数呢?

因为len()是python内置的函数,可直接调用;

之前使用的print() str() int() input() ... 都是内置函数

案例demo,自定义实现一个统计字符串长度的函数;

python 复制代码
#自定义实现一个可以统计字符串长度的函数;
def get_length(str):
    count = 0
    if str != "":
        for i in str:
            count += 1
    print(f"该字符串长度为{count}")

str1 = "infotrans"
str2 = "itpython"
str3 = "awes"

get_length(str1)
get_length(str2)
get_length(str3)

2.函数基础语法练习


bash 复制代码
def 函数名(入参)			
	函数体
	return 返回值(可以省略)

示例

python 复制代码
# 示例函数
def helloworld():
    print("hello world")

# 调用;
helloworld()

3.函数入参


传入的参数: 函数计算时,需要接收的外部提供数据;

示例:如下代码是数字相加的功能

bash 复制代码
def add():
	 res = 1+2
	 print(f"1+2={res}")

但是该函数无入参,就只能支持其中定制的计算1+2

可以尝试给函数加上入参,即可支持其他的两数之和计算;

python 复制代码
def add(num1,num2):
    return num1+num2

num1 = 10
num2 = 20
print( f"num1+num2={add(num1,num2)}")

定义函数:进行体温判断是否发烧

正常范围为小于等于37.5°

python 复制代码
def check_temperature(temperature):
    if temperature <= 37.5:
        print("正常")
       
    else:
        print("发烧") 

4.函数返回值None类型


若函数没有使用return 语句返回数据时:

python中有特殊的字面量:None, 类型为<class 'NoneType'>

无返回值的函数,实际就是返回了None:即无意义内容

python 复制代码
# 示例:无return的函数
def hello():
    print("hello")

demo = hello()
print(type(demo))

虽然是默认返回的None 实际使用时也可以直接return None

python 复制代码
# 可以直接return None
# 示例;
def check_num(num):
    if num > 0:
        return "正数"
    else:
        return None

data = check_num(-1)
print(data)

None 也可以用于赋值给无意义的变量

python 复制代码
# 示例
diff = None

5.函数的说明文档


与其他语言一样,我们可以给自定义的函数加上注释,便于调用者阅读

python 复制代码
def add(num1,num2):
    """
    用于计算两数之和
    :param num1: 数字1
    :param num2: 数字2
    :return: 两数之和
    """
    return num1+num2

add(1,2)

6.函数嵌套


python 复制代码
# 函数嵌套

#定义函数a:
def funa():
    print("funa")
    # 其中调用函数b;
    funb()

# 定义函数b;
def funb():
        print("funb")

# 调用函数a
funa()

7.变量作用域


变量的作用域: 变量的作用范围-变量在何处可用

主要分为局部变量 .全局变量

局部变量:

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

作用:在函数体的内部,临时保存数据,在函数执行完毕后,会自动销毁

python 复制代码
def testA():
    num = 100
    print(num)

testA()#调用testA()函数
print(num) #此处调用会报编码错误,外部无法访问到内部定义的变量

全局变量:

在函数体内外都可以生效的变量

若一个数据:在函数A,函数B中都要使用:如何定义?

可以将数据存入到全局变量

python 复制代码
# 定义全局变量
num = 100

def testA():
    print(num)

def testB():
    print(num)

testA()
testB()

global 可在函数内部修改全局变量

若在testB函数中需要将修改变量的值时,如何修改

若直接修改时,发现只是改变了内部值,无法

python 复制代码
data = 100

def testA():
    print(data)
def testB():
    global data
    data = 200
    print(data)

testA()
test2B()

8.函数案例练习


python 复制代码
# 金额
money = 5000000
# 用户名
name = None

name = input("请输入用户名:")

# 查询余额;
def query(flag):
    if flag == True:
        print("---查询余额:---")

    print(f"{name}的余额为{money}")
    print("返回菜单")
    main()

#存款;
def save(num):
    print("---存款操作:---")
    global money
    money += num
    print(f"{name}存入{num}成功")
    query(False)
    print("返回菜单")
    main()
#取款
def draw(num):
    global money
    print("---取款操作:---")
    if num > money :
        print("余额不足")
    else :
        money -= num
        print("返回菜单")
    query(False)
    main()

#菜单:
def menu():
    print("---主菜单:---")
    print("1.查询余额")
    print("2.存款")
    print("3.取款")

# 主方法;
def main():
    menu()
    return  input("请输入操作编号:")

while True:
    choice = main()
    if choice == "1":
        query(True)
    elif choice == "2":
        num = int(input("请输入存款金额:"))
        save(num)
    elif choice == "3":
        num = int(input("请输入取款金额:"))
        draw(num)
    else:
        print("输入错误")
        break
相关推荐
棒棒的皮皮2 小时前
【OpenCV】Python图像处理之重映射
图像处理·python·opencv·计算机视觉
zore_c2 小时前
【数据结构】栈——超详解!!!(包含栈的实现)
c语言·开发语言·数据结构·经验分享·笔记·算法·链表
Chen--Xing2 小时前
LeetCode 15.三数之和
c++·python·算法·leetcode·rust
洋生巅峰2 小时前
Python+AI:智能数据可视化新境界
人工智能·python·信息可视化
KaDa_Duck2 小时前
DASCTF 2025下半年赛 PWN-mvmp复盘笔记
linux·笔记·安全
d111111111d2 小时前
C语言中union(共同体)的特电是什么?STM32中常用于处理什么数据?
c语言·arm开发·笔记·stm32·单片机·嵌入式硬件·学习
paopao_wu2 小时前
深度学习1:Python基础库NumPy与Matplotlib
python·深度学习·numpy
阿蒙Amon2 小时前
JavaScript学习笔记:18.继承与原型链
javascript·笔记·学习
●VON2 小时前
小V健身助手开发手记(基于界面设计的深度复盘)
学习·openharmony·开源鸿蒙·von