1.将九九乘法表代码封装成函数,然后调用
#原代码
row = 1
while row <= 9:
col = 1
while col <= row:
print("%d * %d = %d" % (row, col, col*row), end="\t")
col += 1
print("")
row += 1
#封装为函数multiple_table()
def multiple_table():
row = 1
while row <= 9:
col = 1
while col <= row:
print("%d * %d = %d" % (row, col, col*row), end="\t")
col += 1
print("")
row += 1
#在另一个文件中调用
import nine_nine # nine_nine是封装函数的文件名
nine_nine.multiple_table()
注意:封装函数后进行闭包(加 函数名),运行将会有输出
def say_hello():
print("hello")
print("hi")
print("wow")
say_hello() # 闭包;不闭包则表示封装函数,不会有输出
例:
name = "小明" # 定义name变量
def say_hello(): # 对下面三行进行封装函数
print("hello")
print("hi")
print("wow")
print(name) # 输出name变量
say_hello() # 调用函数
print(name) # 输出name变量
输出:
小明
hello
hi
wow
小明
注意:应该先定义函数再调用函数
2.函数的参数
形参:定义函数时,小括号里的参数,用来接收参数,在函数内部作为变量使用
实参:调用函数时,小括号里的参数,用来把数据传递到函数内部
def sum_2_sum():
"""对两个数字的求和"""
num1 = 10
num2 = 20
result = num1 + num2
print("%d + %d = %d" % (num1, num2, result))
sum_2_sum()
def sum_2_sum1(num3, num4):
"""参数的使用"""
result = num3 + num4
print("%d + %d = %d" % (num3, num4, result))
sum_2_sum1(50, 60)
3.函数的返回值
在函数中可以使用 return 来返回结果
调用函数一方,可以使用变量来接收函数的返回结果
def sum_2_sum2(num5, num6):
"""return的使用"""
result = num5 + num6
return result # return 表示返回,其下方的代码不会被执行
sum_result = sum_2_sum2(10,20) # 用于接收返回值
print("计算结果:%d" % sum_result)
4.函数的嵌套调用
def test1():
print("*" * 10)
def test2():
print("+" * 10)
test1()
print("-" * 10)
test2()
++++++++++
**********
----------
打印案例
def print_line(char, times):
print(char * times)
def print_lines(char, times):
row = 0
while row < 5:
print_line(char, times) # 形参
row += 1
print_lines("=", 20)
====================
====================
====================
====================
====================
5.模块
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能
在模块中定义的全局变量、函数都是模块能够提供给外界直接使用的工具
mokuai.py
def print_line(char, times):
"""打印单行分割线
:param char: 分割字符
:param times: 重复的次数
"""
print(char * times)
def print_lines(char, times):
"""打印多行分割线
:param: char:分割线使用的分割字符
:param: times:分割线重复的次数
"""
row = 0
while row < 5:
print_line(char, times) # 形参
row += 1
name = "xs"
mokuai_tiyan.py
import mokuai
mokuai.print_line("=", 20)
print(mokuai.name)
输出
====================
xs
注意:模块名也是一个标识符,不能以数字开头(若使用数字,则无法导入),不能与关键字重名
.pyc文件是编译过的文件,存在_pycache_目录