python 函数前有一个下划线_【Python】怎么写好一个 Python 函数?

1. 命名

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

 def setUserName(String userName):
     pass

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

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

值得说明的是,这里并没有强制类型检查,这种写法也并不建议,不过上面的写法也有一个好处:

f051a3de8e251cccb9cfa81eaeddc8ed.png

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

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

2. 功能单一

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

 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 - 账户不存在
     """
     pass
 print(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. 函数长度

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值