定义函数用 def ,注意要先定义函数,才能调用函数,函数的命名要看名知义 ,名字只能含有数字、字母、"_";def 的格式注意一下;
在调试时如果想进入函数内部,调试函数内部代码,按 **F7 (Step into),F8(Step over)**会直接跳过函数内部代码调试,直接将函数最终结果输出;
为了函数代码的清晰可辨,建议在 def 上方增加两行空行(包括注释),因此函数的注释建议在函数定义 def 的下方增加 4 个空格缩进之后,用 “”"""" 进行注释,将光标移动至函数调用的地方,可以通过 Ctrl + Q 快速查看该函数的注释信息。
def say_hello():
"""打招呼"""
print("hello 1")
print("hello 2")
print("hello 3")
print(name)
# 只有在程序中,主动调用函数,才会让函数执行
say_hello()
在定义函数时,在函数名后的括号内可以定义形参,多个形参用逗号分隔,在调用函数的时候对形参赋值,此时参数称为实参;
在函数内部代码内使用 return 可以返回需要的东西,这样在下方函数调用是就会输出 return 返回的值,可以将调用函数的那句话看成一个整体,就是 return 返回的东西,可以使用变量接收,也可以直接使用;
在函数内部代码中一旦出现 return 函数内部 return 下方的代码就不会被执行了,会直接返回到调用函数的位置
def sum_2_num(num1, num2):
"""对两个数字求和"""
result = num1 + num2
return result
# 注意,return 就表示返回,下方的代码不会被执行到!
# sum_2_num(1, 2)
print("计算结果是:%d" % sum_2_num(1, 2))
sum_result = sum_2_num(2, 3)
print("计算结果是:%d" % sum_result)
函数的嵌套:函数内部可以调用函数,当调用的函数有参数时,如何处理?
如何对函数及其相关参数做注释?
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
print_lines("-", 20)
模块
所有 .py 文件都是一个模块,可以通过 import 调用该模块并使用该模块中定义的函数、全局变量;
import 调用模块之后,使用模块的格式是 “模块名 . ~” ,由于标识符不能以数字开头,模块名也是一个标识符,如果用数字开头给文件命名,则无法使用 import 调用该模块;
一旦使用了 import 调用模块,python 会自动建立该模块的一个 .pyc 的文件,这是一个用 cpython 编译过的二进制文件,这样可以提升 python 代码的运行速度。