python学习站 /学习python第三周
阅读主题
正文字体
字体大小

10.定义函数

本节1545字2025-04-08 19:31:37
"""
Auther:少校
Time:2025/4/8 11:08
越努力,越幸运
"""
# 1. 什么是函数
"""
函数就是实现某一特定功能的代码的封装
函数就是把某一个功能的所有的代码打成包,这样每次在需要这段代码功能的时候,就不需要重新写这段代码,而是直接调用这个代码的函数。
不同的函数拥有不同的功能
"""
# 2. 函数的分类
# 根据函数由谁创建的可以将函数分为:
    # 1) 系统函数:python自带的函数 比如:print input type max sum 等
    # 2) 自定义函数:有程序员自己创建的函数

# 3. 定义函数(创建函数)
"""
语法:
def 函数名(形参列表):
    函数说明文档
    函数体

说明:
def         -           关键字;固定写法
函数名       -           由程序员自己命名
                        两个要求:a.是标识符 b.不是关键字 
                        三个规范:a.见名知意 
                                b.如果名字有多个单词构成,单词和单词之间用下划线分割(不使用驼峰命名)
                                c.不使用系统函数名/类名/模块名
形参列表     -           以"变量名1,变量名2,..." 形式存在,其中每一个变量名就是一个形参,个数没有限制,可以没有也可以多个。
                        形参的作用:将函数外部的数据传递到函数里面
                        如何确定形参:看实现函数的功能是否需要额外的数据,需要多少个数据就定义多少个形参。
函数说明文档  -           本质就是多行注释
函数体       -           结构上,就是和def保持一个缩进的一条或者多条语句,至少一条。
                        逻辑上,函数体就是实现函数功能的所有代码
"""

# 4. 调用函数
"""
1)语法:
函数名(实参列表)

2)说明:
函数名       -           必须是已经定义过的函数的函数名
()          -           固定写法
实参列表     -           以"数据1,数据2,..."的形式存在。
                        实参 是用来给 形参 赋值的(实参就是从函数外部传递到函数内部的数据)
                        实参的个数,有调用的函数的形参个数决定。
3) 函数调用过程
第一步: 回到函数定义的位置
第二步: 传参(用实参给形参赋值,传参的时候必须保证每个形参都有值)
第三步: 执行函数体
第四步: 确定函数返回值
第五步: 回到函数调用位置,继续往后执行
"""




#案例1 定义一个函数,统计判断指定字符串是否是一个纯字母字符串
def is_letter_str(str1):
    """
    判断字符串是否全部是纯字母
    :param str1: (参数说明)需要判断的字符串说明
    :return: (返回值)None
    """
    for x in str1:
        if not ("a" <= x <= "z" or "A" <= x <= "Z"):
            print("字符串不全是字母")
            break
    else:
        print("字符串全是字母")

is_letter_str("zhangsanfeng")


# 练习1:定义一个函数判断指定数是否是水仙花数
def is_shui(num1):
    """
    判断一个数字是否是水仙花数
    :param num1:需要判断的数字
    :return:
    """
    num1 = int(num1)
    if 100 <= num1 <= 999:
        a = num1 % 10
        b = num1 % 100 // 10
        c = num1 // 100
        if num1 == a ** 3 + b ** 3 + c ** 3:
            print(f"{num1}是水仙花数")
        else:
            print(f"{num1}不是水仙花数")
    else:
        print(f"{num1}不是水仙花数")

is_shui(153)
# 练习2:定义一个函数获取指定列表中指定元素的索引值
def list_index(list1,str1):
    """
    获取指定元素在指定列表中的索引值
    :param list1:
    :param str1:
    :return:
    """
    list2 = []
    for x in range(len(list1)):
        if list1[x] == str1:
            list2.append(x)
    print(list2)
list_index(["1","2","3","1"],"1")


网友评论

相关作品