【Python】怎么写好一个 Python 函数?(用python写代码)

网友投稿 293 2022-08-27


【Python】怎么写好一个 Python 函数?(用python写代码)

文章目录

​​1. 命名​​​​2. 功能单一​​​​3. 文档字符串​​​​4. 返回值​​​​5. 函数长度​​

1. 命名

符合 PEP-8 函数命名书写规范的是小写+下划线或者比较常用的驼峰命名法。内容方面是动宾结合。 举个例子:

def setUserName(String userName): pass

推荐一个函数命名网站:​​codeIf​​ 函数中带有参数类型以及返回值的函数定义写法:

>>> def setUserName(UserName:str)->None: print(UserName)>>> setUserName('xiaoming')xiaoming

如果想显示函数参数类型的话,可以用函数说明文档来解决。

>>> def setUserName(UserName): """ @UserName: str """ print(UserName) >>> print(setUserName.__doc__) @UserName: str

2. 功能单一

一个函数只做一件事情。举个例子:​​​get_user_list(age)​​​这个函数定义就违反了我们的一个函数只做一件事情的要求,我们需要将​​op1​​​、​​op2​​​、​​op3​​三个操作分别写到三个函数中去。但是,也不至于将函数功能分得过细。

def get_user_list(age): # op1: 从数据库中拿到原始用户列表信息 # op2: 根据 age 提取合适的目标用户信息 # op3: 将用户分类 pass

3. 文档字符串

关于文档字符串(Documentation Strings),每个函数都应该有一个说明文档,可以参照下方样例。需要有函数的功能描述、参数说明、返回值说明。

def if_ID_exit(user='', id=''): """ 判断账户是否存在 :param user: teacher、student :return: bool, False - 账户存在 True - 账户不存在 """ passprint(if_ID_exit.__doc__)

查看函数说明文档的方式。

判断账户是否存在 :param user: teacher、student :return: bool, False - 账户存在 True - 账户不存在

4. 返回值

你可能听说python的函数能够返回多个值,像下面这个例子一样:

def returnSth(): return 1,2,3,4

但实际上,它会将1,2,3,4作为一个整体返回,也就是说它会将这些数字全都放到元组里面。

print(returnSth()) # (1,2,3,4)

每个函数都会有返回值,即使你没有明确写出,那么它的返回值也会被默认为None。尽量保证每个函数的返回值都是有意义的。哪怕它没有什么操作,你也可以返回boolen类型来判断执行是否顺利。

5. 函数长度

不要太长,行数不要超过三位数。保证入口参数相同的情况下,函数所造成的影响是确定的并且是相同的——纯函数。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python小记——怎么写好一个Python函数?(用python写函数)
下一篇:基于Pinpoint对SpringCloud微服务项目实现全链路监控的问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~