文章目录
1.函数的定义和使用
①使用
def hello():
print("hi")
print('你好')
# hello是函数名
hello()
# 使用函数
注意
a.*函数要先定义后使用
b. 函数名字不要乱起(有内置函数库),造成冲突。
print()也是对函数的使用,为内置函数
②返回值return
def pfh(x,y):
print(f"第一个数:{x}")
print(f"第二个数:{y}")
print(f"平方和:{x*x+y*y}")
return x*x+y*y #不写return代表返回None,type(a)为<class 'NoneType'>
a=pfh(3,4)
print(a)
print(type(a))
# print(pfh(3,4)+1)
>> 第一个数:3
>> 第二个数:4
>> 平方和:25
>> 25
>> <class 'int'>
注意
a.不写return代表返回None
b.return是函数的最后一句,相当于退出函数
c.有返回值一般用在赋值语句中
d.无参数时一般不写return
2.函数的参数
①带固定的参数
#带固定的参数
def mysum(x,y):
return int(x)+int(y)
print(mysum(1,2))
print(mysum(1.9,2.1))
②带固定的参数,参数有默认值
def mysum2(x,y=5):
return int(x)+int(y)
print(mysum2(1,2))
print(mysum2(2.1))
注意
即使固定了,依然可以自己给值
③带不定个数的参数
def mysum3(*args): #*某某
print(args)
# print(type(args))
return sum([int(i) for i in args])
print(mysum3(1.9))
print(mysum3(1.3,2.7))
print(mysum3())
>> (1.9,)
>> <class 'tuple'>
>> 1 #return的作用,返回一个值
>> (1.3, 2.7)
>> <class 'tuple'>
>> 3
>> ()
>> <class 'tuple'>
>> 0
注意
a.传入的值在函数中以元组存放
④组合,固定参数必须写前面
def mysum4(x,*args):
print(x,args)
return x+sum([int(i) for i in args])
print(mysum4(1.9))
print(mysum4(1.3,2.7))
print(mysum4(1.5,2.5,3))
注意
a.这表示该函数至少输入一个参数,固定的参数必须写在前面
⑤关键字参数
def mysum4(x,*args,**kw):
print(x,args,kw)
return x+sum([int(i) for i in args])+sum([int(j) for j in kw.values()])
print(mysum4(1,2,a=1,b=2))
print(mysum4(1,2,3,a=1))
print(mysum4(1,2,3,4,a=1,b=2,c=3))
>> 1 (2,) {'a': 1, 'b': 2}
>> 6
>> 1 (2, 3) {'a': 1}
>> 7
>> 1 (2, 3, 4) {'a': 1, 'b': 2, 'c': 3}
>> 16
注意
a=1 是关键字的参数 形式是字典。 1是x 2,3 是args
⑥命名关键字参数
def mysum5(x,*,id,yw=60,sx=60):
print(x,id,yw,sx)
return f'id是{id}'
print(mysum5(1,id="12001"))
print(mysum5(1,id="12001",yw=66))
print(mysum5(1,id="12001",yw=66,sx=77))
注意
a.*是命名关键字 要传三个key。不然报错
b. 若这么使用函数mysum5(1,id=“12001”,eee =66) 报错