自定义函数(function)
用于需要重复使用的代码或者代码复杂用于分类,也叫模块化编程,一个功能一个模块,应用性高,好理解,由程序员自行定义
声明函数的格式
格式
def 函数名(参数): #声明函数名,并指定是否需要参数
函数体 #这个函数是干嘛的
函数返回值 return
例:无参数函数
def plus():
print(10+20)
#运行之后调用函数
plus()
#运行后
30
例:带参数函数
def plus(num1, num2):
#声明函数并指定参数为num1和num2,需要使用变量时用户手动输入
print(num1 + num2)
#声明此函数要做的事,是加法运算,调用2个给定的参数
plus(2 ,3) #使用喊出
5
例:参数可以定义默认值
默认值需要从右往左设置,必须要连续设置
def plus(num1 = 0, num2 = 0):
#定义默认值后,在使用函数时,可以不写入全部参数,所有参数都有默认值,则不需要给参数也可以
print(num1 + num2)
plus()
0
def plus(num1, num2 = 0):
#如以上定义的参数,使用函数时,只需要写入num1参数即可,默认num2会以默认方式显示
print(num1 + num2)
plus(2)
2
例:return返回值
不仅仅会返回结果,而且还会中止函数,reture之后不会再有声明函数的代码出现
'''自定义函数 define function'''
def plus(num1 = 0, num2 = 0):
return num1 + num2 #使用return中止函数,不直接输出结果,但是结果可以使用其他方式引用
'''主函数 main function 入口函数(代码运行后的第一个函数)'''
#引用自定义函数的结果的方式
#使用print可以输出自定义函数的结果
print(plus(2, 3))
5
#使用定义变量的方式,输出变量,得到自定义函数的结果
a = plus(20,20)
print(a)
40
#使用for循环的方式,调用自定义函数的结果
for i in range(plus(1, 10)):
print(i)
0
1
2
3
4
5
6
7
8
9
10
递归函数
葫芦娃救爷爷
def plus(num):
if num >= 100:
return
else:
print(num) #输出一遍参数
plus(num + 1) #
妇联式
通过os标准库进行递归目录(将一个目录中的所文件遍历出来,包括子目录中的子文件)
import os
import os
def listdir(path):
print(os.listdir(path))
#返回的是列表,列表内包含path目录下所有的目录和文件,仅包含文件名
listdir("./") #列出当前目录中的所有文件
['main.py']
import os
def listdir(path):
for filename in os.listdir(path):#返回的是列表,列表内包含path目录下所有的目录和文件,仅包含文件名
#filename = main.py
filename = os.path.join(path, filename) #使用join拼接目录路径
#filename = ./main.py
if os.path.isdir(filename):
print("目录:%s" % filename)
listdir(filename)
else:
print("文件:%s" % filename)
listdir("g:/青鸟体系/云计算/python/")
#运行
文件:g:/青鸟体系/云计算/python/1、初识Python及安装.md
文件:g:/青鸟体系/云计算/python/2、python代码知识.md
文件:g:/青鸟体系/云计算/python/3、运算符和流程控制语句.md
文件:g:/青鸟体系/云计算/python/4、循环语句.md
文件:g:/青鸟体系/云计算/python/5、自定义函数.md
文件:g:/青鸟体系/云计算/python/6、标准库.md
文件:g:/青鸟体系/云计算/python/python-3.6.5-amd64.exe
目录:g:/青鸟体系/云计算/python/python代码目录
目录:g:/青鸟体系/云计算/python/python代码目录\01
文件:g:/青鸟体系/云计算/python/python代码目录\01\main.py
文件:g:/青鸟体系/云计算/python/VSCodeUserSetup-x64-1.41.1.exe