Python 函数def 模块调用函数方法及全局变量

以下是本人最近学习函数中的相关说明及代码分享。

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

定义函数的格式如下:

# 函数体相对独立,函数定义的上方,应该和其他代码(包括注释)保留两个空行


def 函数名(参数1, 参数2):
    """函数的文档注释(在函数调用位置,可通过快捷键Ctrl+Q查看文档注释信息)"""
    函数封装代码
    ......
  1. def 是英文 define 的缩写
  2. 函数名称应该能够表达函数封装代码的功能,方便后续的调用
  3. 函数名称的命名应该 符合 标识符的命名规则
  • 可以由字母、数字下划线组成
  • 不能以数字开头
  • 不能与关键字重名
def_01_九九乘法表

代码

def multiple_table():

    row = 1

    while row <= 9:

        col = 1

        while col <= row:
            # print("*", end="")
            print("%d * %d = %d" % (col, row, col*row), end="\t")
            col += 1

        # print("%d" % row)
        print("")
        row += 1

输出结果

只是定义了一个函数,无输出结果,通过def_02_快速体验调用后会有结果输出

def_02_快速体验

代码

import def_01_九九乘法表

def_01_九九乘法表.multiple_table()

输出结果

1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81

def_03_第1个函数

代码

# 注意:定义好函数之后,只表示这个函数封装了一段代码
# 如果不主动调用函数,函数是不会主动执行的,
# 函数的上方需要有2空白行,否则会出现PEP:8 expected 2 blank lines, found 0提示


def say_hello():
    print("hello 1")
    print("hello 2")
    print("hello 3")


# 调用函数很简单,只需要通过 函数名() 即可完成对函数的调用
say_hello()

输出结果

hello 1
hello 2
hello 3

def_04_第1个函数改造

代码

name = "小明"
# Python 解释器知道下方定义了一个函数


def say_hello():
    """打招呼(函数的文档注释格式)"""
    print("hello 1")
    print("hello 2")
    print("hello 3")


print(name)
# 只有在程序中主动调用函数,才会让函数执行
# 函数执行完成后,会重新回到主程序中,继续执行后面的代码
say_hello()

print(name)

输出结果

小明
hello 1
hello 2
hello 3
小明

def_05_函数的参数

代码

def sum_2_num(num1, num2):
    """对两个数字的求和"""
    # num1 = 10
    # num2 = 20
    result = num1 + num2
    print("%d + %d = %d" % (num1, num2, result))


sum_2_num(10, 220)

输出结果

10 + 220 = 230

def_06_函数的返回值

代码

def sum_2_num(num1, num2):
    """对两个数字的求和"""
    result = num1 + num2

    # 可以使用返回值,告诉调用一方的计算结果
    return result


sum_result = sum_2_num(10, 30)
print("计算结果%d" % sum_result)

输出结果

计算结果40

def_07_函数的嵌套调用

代码

def test1():
    print("⭐" * 20)


def test2():
    print("✳" * 20)

    test1()

    print("♥" * 20)


test2()

输出结果

✳✳✳✳✳✳✳✳✳✳✳✳✳✳✳✳✳✳✳✳
⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥

def_08_打印分割线

代码

def print_line(char, times):
    print(char * times)


print_line("⭐ ", 20)

输出结果

⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐

def_09_打印多行分割线

代码

def print_line(char, times):
    """打印分割线

    :param char: 分割线字符
    :param times: 分割字符重复次数
    """
    print(char * times)


def print_lines(char, times, rows):
    """打印多行分割线

    :param char: 分割字符
    :param times: 分割字符重复次数
    :param rows: 分割线打印行数
    """
    row = 0
    while row < rows:
        print_line(char, times)
        row += 1


print_lines("⭐ ", 20, 2)

输出结果

⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐
⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐

模块是Python程序架构的一个核心概念

  • 模块就好比工具包,要想使用这个工具包中的工具,就需要 导入impot 这个模块
  • 每一个以扩展名 py 结尾的Python源代码文件都是一个模块
  • 在模块中定义的全局变量、函数都是模块能够提供给外界直接使用的工具

模块名也是一个标识符

  • 由字母、数字和下划线组成
  • 不能以数字开头
  • 不能与关键字重名

注意:如果在给Python文件起名时,以数字开头是无法在PyCharm中导入这个模块的

pyc文件可以提高程序的执行速度,也就是py文件编译后生成的字节码文件

def_10_体验模块

代码

import def_10_分割线模块

def_10_分割线模块.print_line("⭐ ", 33)
print(def_10_分割线模块.name)

创建Python文件def_10_分割线模块.pydef_10_体验模块 调用

name = "10_分割线模块_内部变量"


def print_line(char, times):
    """打印分割线

    :param char: 分割线字符
    :param times: 分割字符重复次数
    """
    print(char * times)


def print_lines(char, times, rows):
    """打印多行分割线

    :param char: 分割字符
    :param times: 分割字符重复次数
    :param rows: 分割线打印行数
    """
    row = 0
    while row < rows:
        print_line(char, times)
        row += 1

输出结果

⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐
10_分割线模块_内部变量

  • 18
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值