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
相关推荐
踏着七彩祥云的小丑12 小时前
Go学习第9天:并发编程 + 文件操作 + 正则表达式
学习·golang·正则表达式·go
有Li12 小时前
PTCMIL:基于提示 token 聚类的全切片图像多实例学习分析文献速递/多模态医学影像最新进展
论文阅读·学习·数据挖掘·聚类·文献·医学生
程序员小远12 小时前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
憧憬成为web高手12 小时前
l33t-hoster
学习·web安全·网络安全
GEO优化小助手13 小时前
2026临沂GEO优化公司实测解析:3家本土机构适配性参考
大数据·人工智能·python
Dick50713 小时前
ROS2 常用命令表
人工智能·学习·算法·机器人
qeen8713 小时前
【Linux】Linux简单介绍与基本指令(上)
linux·运维·服务器·学习
砚底藏山河13 小时前
沪深A股:如何获取基金持股数据
java·python·数据分析·maven
.千余13 小时前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他
自传.13 小时前
尚硅谷 Vibe Coding|第二章 AI编程工具生态 学习笔记
笔记·学习·ai编程·尚硅谷·vibe coding