Python深度学习中常用语法
* 和 ** 的含义
在函数定义时:
def myprint2(**params):
print(params)
myprint2(x=1,y=2,z=3)
{'x': 1, 'y': 2, 'z': 3}
def myprint2(*param,**params):
print(param)
print(params)
myprint2(35,24,x=1,y=2,z=3)
(35, 24)
{'x': 1, 'y': 2, 'z': 3}
def myprint2(**params,*param):
print(param)
print(params)
myprint2(35,24,x=1,y=2,z=3)
File "C:\Users\Gunbustor\Desktop\pythonProject\main.py", line 3
def myprint2(**params,*param):
^
SyntaxError: invalid syntax
def myprint2(**params):
print(param)
print(params)
myprint2(35,24,x=1,y=2,z=3)
Traceback (most recent call last):
File "C:\Users\Gunbustor\Desktop\pythonProject\main.py", line 7, in <module>
myprint2(35,24,x=1,y=2,z=3)
TypeError: myprint2() takes 0 positional arguments but 2 were given
def myprint2(*params):
print(param)
print(params)
myprint2(35,24,x=1,y=2,z=3)
Traceback (most recent call last):
File "C:\Users\Gunbustor\Desktop\pythonProject\main.py", line 7, in <module>
myprint2(35,24,x=1,y=2,z=3)
TypeError: myprint2() got an unexpected keyword argument 'x'
在函数调用时:
def myprint(x,y):
print(x)
print(y)
params={'y':2,'x':1}
myprint(**params)
1
2
def myprint(x,y,z):
print(x)
print(y)
print(z)
params={'x':2,'y':1}
myprint(**params,4)
File "C:\Users\Gunbustor\Desktop\pythonProject\main.py", line 6
myprint(**params,4)
^
SyntaxError: positional argument follows keyword argument unpacking
def myprint(x,y,z):
print(x)
print(y)
print(z)
params={'z':2,'y':1}
myprint(4,**params)
4
1
2