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

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

定义函数的格式如下:

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

def 函数名(参数1, 参数2):

"""函数的文档注释(在函数调用位置,可通过快捷键Ctrl+Q查看文档注释信息)"""

函数封装代码

......

def 是英文 define 的缩写

函数名称

应该能够表达

函数封装代码

的功能,方便后续的调用

函数名称

的命名应该

符合 标识符的命名规则

可以由

字母、数字

下划线

组成

不能以数字开头

不能与关键字重名

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 = 22 * 2 = 4
1 * 3 = 32 * 3 = 63 * 3 = 9
1 * 4 = 42 * 4 = 83 * 4 = 124 * 4 = 16
1 * 5 = 52 * 5 = 103 * 5 = 154 * 5 = 205 * 5 = 25
1 * 6 = 62 * 6 = 123 * 6 = 184 * 6 = 245 * 6 = 306 * 6 = 36
1 * 7 = 72 * 7 = 143 * 7 = 214 * 7 = 285 * 7 = 356 * 7 = 427 * 7 = 49
1 * 8 = 82 * 8 = 163 * 8 = 244 * 8 = 325 * 8 = 406 * 8 = 487 * 8 = 568 * 8 = 64
1 * 9 = 92 * 9 = 183 * 9 = 274 * 9 = 365 * 9 = 456 * 9 = 547 * 9 = 638 * 9 = 729 * 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_分割线模块.py
供
def_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_分割线模块_内部变量