函数的格式:
def my(name,sex):
pass #函数体。pass表示先占个位置。
name='python' #函数里定义的变量是局部变量
return name #调用函数返回一个返回值
其中def my(name,sex):中的name,sex是形式参数(形参)。
调用函数:
my(xiaoming,nan):
其中xiaoming,nan是实际参数(实参)。
形参需要输入对应的实参。如果不一致,会报错。这类参数叫位置参数,是必填的。
另一种叫默认值参数。
例1:数据库调用函数。一般端口号都是3306,所以在定义函数时,直接默认端口号为3306.
def db_connect(ip,port=3306):
print(ip,port)
db_connect('118.24.3.40',3307)#调用函数时,端口号如果不传,用默认的,传了的用新传的。
db_connect('118.24.3.40')
例2:
import json
def op_file_tojson(file_name,dic=None):
if dic:#非空即真。验证输入的内容是空的时候写入文件,不为空时候读取。
with open(file_name,'w',encoding='utf-8')as fw:
json.dump(dic,fw) #写入文件不需要返回值
else:
f = open(file_name, encoding='utf-8')
content = f.read()#读文件需要返回值
if content:
res = json.loads(content)
else:
res = {}
f.close()
return res