以下四个选项均为Python函数的定义代码,请问哪一项的语法是完全符合规范的?
def student_info(name, age=18, grade): pass
def calc(*nums, a, b=0, **kwargs, c): pass
def print_msg(msg='hello', times): print(msg * times)
def func(x, y=2, *args, z, **kwargs): pass