设为首页 收藏本站
查看: 945|回复: 0

[经验分享] Python脚本的基本格式和文档字符串

[复制链接]

尚未签到

发表于 2016-3-7 08:54:43 | 显示全部楼层 |阅读模式
python脚本编写要遵循一定的规范,有单行注释、多行注释等多种注释方法

# cat stand.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/python
#coding=utf-8
#上面其实你随便怎么写都可以。只要符合coding[:=]\s*([-\w.]+)

#比如这种写法:#  -*- coding: utf-8  -*-,如果有脚本中有中文,一定要用utf-8字符编码
"写在模块的第一行,就是这个模块的__doc__,这是一个标准块脚本的写作范式,此处为该脚本文档"
print 'Hello world'
print "中国人,你好"
  
"不写在模块的第一行,就是一个单行注释"
#这里给下面语句做一个注释,这也是单行注释
new_str = "这是一个全局变量" #这样写注释也可以
  
  
def hello():
    """
    多行注释写在方法的第一行
    就是一个DocString了
    @author:
    @copyrigth:
    """
    x=1
    """
    这是多行注释,写在这里就是多行注释了
    不会被当成DocString
    """
    return "hello world hllo"
#print hello() #写在这里,import的时候,会被执行
##程序主体,程序的主体在import的时候不会被执行,只有当直接运行这个模块的时候才被执行,所以可以写很多测试代码
if __name__=="__main__":
    print hello()
    print hello() == "hello world" #测试






# cat import.py
1
2
3
4
5
6
7
8
9
10
#!/usr/bin/python
#coding=utf-8
# 引入模块,不需要加.py,import 模块的时候,被引入的模块会被编译为pyc文件,而直接执行不会产生pyc文件
# 模块import的时候,排除程序主体以外的程序("__main__"),都会被从头到尾的执行一遍,但函数如不调用则不执行
import stand
print stand.__doc__
print stand.new_str
print stand.hello.__doc__
print help(stand)  #执行的时候按q退出
print help(stand.hello) #执行的时候按q退出





# python import.py
Hello world
中国人,你好
写在模块的第一行,就是这个模块的__doc__,这是一个标准块脚本的写作范式,此处为该脚本文档
这是一个全局变量

    多行注释写在方法的第一行
    就是一个DocString了
    @author:
    @copyrigth:



None

None

说明:
python的单行注释有:#  ""  ''
python的多行注释有:""" """

三个符合的区别 '',"",""" """
''和"" 没有区别,表示单行的字符串,""里面可以写’,''可以写"",不会引起编译器的混淆

"""
里面可以写多行的字符串,里面可以随便写单引号和双引号
"""

在函数的第一个逻辑行的字符串是这个函数的文档字符串 。
在模块的第一个逻辑行的字符串是这个模块的文档字符串 。

文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。 强烈建议你在你的函数中使用文档字符串时遵循这个惯例。

你可以使用__doc__(注意双下划线)调用hello函数的文档字符串属性(属于函数的名称)。请记住Python把 每一样东西都作为对象,包括这个函数。

如果你已经在Python中使用过help(),那么你已经看到过DocStings的使用了!它所做的只是抓取函数的__doc__属性,然后整洁地展示给你。你可以对上面这个函数尝试一下——只是在你的程序中包括help(stand.hello)。记住按q退出help。

自动化工具也可以以同样的方式从你的程序中提取文档。因此,强烈建议 你对你所写的任何正式函数编写文档字符串。随你的Python发行版附带的pydoc命令,与help()类似地使用DocStrings。
代码要多写注释,看别人的程序首先应该看的就是注释,然后才是代码


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-187327-1-1.html 上篇帖子: 在Python中使用正则表达式进行查找 下篇帖子: python之禅 字符串
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表