错误
def xxx(self,xx):
utf8_str = str(xx).encode("utf-8")
md5_str = hashlib.md5(utf8_str).hexdigest()
return md5_str # 返回为小写,需要转大写后面添加.upper
调用的时候报错
```python
xxx() missing 1 required positional argument: 'xx'
解释
函数定义里需要一个参数args,但是调用的时候,没有传递参数,从而导致类型错误。这里的类型是指函数的类型。
解决
- 一目了然的解决方法,就是在函数调用时加上参数。
- 如果想让函数支持空参数调用,可以尝试函数定义时设置参数默认值。
def xxx(self,xx=None):
if args:
#md5加密 - 变参传递,需要特殊处理,比较麻烦
def function(*xx):
print(xx)
return xxprint(function())
() function 函数里的打印,一个空tuple
()
参数定义的标准
在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
def myfunc7(name,age,sex,city=‘beijing’,*args,**kws):