1.函数的定义:
#定义函数的目的,增加代码的重用性
def multiple_table():
# 定义遍历row 记录行号
row = 1
while row <= 9:
# 执行第 row 行的打印
start_count = 1
while start_count <= row:
# 内层循环处理具体这一行要打印多少个星星
# \n :换行符 \t:制表符,就是按一下tab键的效果,表示空4个字符
print('%d * %d = %2d ' % (start_count, row, start_count * row), end='\t')
start_count += 1
# 换行
print()
row += 1
# 调用函数,如果不调用不会执行
multiple_table()
#函数调用必须在函数定义之后
#在 定义函数 的下方,使用 连续的三对引号,给函数加注释
在 函数调用 print 的位置,按快捷键 CTRL + Q 可以查看函数的说明信息
2.返回值使用return 函数
def func_sum():
"""求和 1+2"""
sum_num = 1 + 2
print(sum_num)
return #这里空着就显示None,写其他值就返回其他值
# 这行代码不会执行了
print('不会执行这行代码')
res=func_sum()
print(res)
多个return
def is_even_num(num): """判断奇偶数""" if num % 2 == 0:
return True else:
return Fals
3.模块的使用
新建 info.py,代码如下
name = "datafrog"def func():
print('info_func')
再新建 get_info.py 文件,并且编写以下代码:
import info
print(info.name)
info.func()
4.列表推导
a=[x for x in range(1,7) if x%2==0]
#设置1-7的偶数表
print(a)
5.匿名函数 lambda
自己定义函数
# 定义一个函数
def fun(a, b, opt):
print("a = %s" % a)
print("b = %s" % b)
print("result =%s" % opt(a, b))
# 调用函数fun(1, 2, lambda x,y:x+y)
输出结果:
a = 1 b = 2 result = 3
全局变量 global
a = 10def test():
global a
a = 5 # 修改全局变量 print("函数内a:%d" %a)
test()
print("函数外a:%d" %a)
7.可变参数
args
函数可以定义 可变参数,用于接收任意数量的参数
可变参数的前边需要添加*,用于提示python解释器该参数为可变参数
使用可变参数直接用args即可(不需要加*)
可变参数的本质是 将传递的参数包装成了元组
def sum_num(a, b, *args):
result = a + b
for temp in args:
result += temp
return result
sum_num(1, 2, 3, .., n)
kwargs
可变参数还有一种形式 可以接收不存在的关键字参数
定义参数时需要在变量名前添加两个*
这种可变参数会将 不存在的关键字参数包装成字典
def sum_num(a, b, *args, **kwargs):
print(a)
print(b)
print(args)
print(kwargs)
sum_num(1, 2, 3, .., n, mm=5, nn=6)
8.文件的读写

f = open('test.txt', 'w')
#若有文件直接在里面写,没有的话创建新文件
f.write('hello world, i am here!')
f.close()
9.制作文件备份
# 提示输入文件
oldFileName = input("请输入要拷贝的文件名字:")
# 以读的方式打开文件
oldFile = open(oldFileName,'rb')
# 提取文件的后缀
fileFlagNum = oldFileName.rfind('.')if fileFlagNum > 0:
fileFlag = oldFileName[fileFlagNum:]
# 组织新的文件名字
newFileName = oldFileName[:fileFlagNum] + '[复件]' + fileFlag
# 创建新文件
newFile = open(newFileName, 'wb')
# 把旧文件中的数据,一行一行的进行复制到新文件中
for lineContent in oldFile.readlines():
newFile.write(lineContent)
# 关闭文件
oldFile.close()
newFile.close()
10.文件和文件夹的操作
10.1. 文件重命名
os模块中的rename()可以完成对文件的重命名操作
rename(需要修改的文件名, 新的文件名)
import os
os.rename("毕业论文.txt", "毕业论文-最终版.txt")
10.2. 删除文件
os模块中的remove()可以完成对文件的删除操作
remove(待删除的文件名)
import os
os.remove("毕业论文.txt")
10.3. 创建文件夹
import os
os.mkdir("张三")
10.4. 获取当前目录
import os
os.getcwd()
10.5. 改变默认目录
import os
os.chdir("test") # 跳转到当前路径的test子目录中
10.6. 获取目录列表
import os
os.listdir()
10.7. 删除文件夹
import os
os.rmdir("张三")
目录非空不能使用,可以使用递归的方式进行删除
11.批量修改文件名
import os
path = input("请输入需要批量修改文件名的文件夹名称:")
# 跳转路径os.chdir(path)
# # 获取当前的绝对路径
# full_path = os.getcwd()
# print(full_path)
# 遍历目标文件夹
for subpath_name in os.listdir():
new_file_name = "【复件】" + subpath_name
# 每个文件改名
os.rename(subpath_name, new_file_name)