Python 有人能给我一些关于程序格式和效率的建议吗?

Python 有人能给我一些关于程序格式和效率的建议吗?,python,Python,我是python的新手。我刚刚创建了一个程序,采用2的补码二进制数,并将其转换为十进制值。(有关转换方式的说明,请参见。) 我知道关于如何格式化你的程序有一些特定的规则,关于如何设计你的程序有一些“好习惯”。比如你如何放置标题、注释等,以及你如何设计它的结构。我在网上找不到导游,所以我决定在这里询问 这是我第一次在stackoverflow上发表文章,所以如果我有任何错误,请原谅我。:) 这是我的密码 def secBiToDecimal(number): """ This program ta

我是python的新手。我刚刚创建了一个程序,采用2的补码二进制数,并将其转换为十进制值。(有关转换方式的说明,请参见。)

我知道关于如何格式化你的程序有一些特定的规则,关于如何设计你的程序有一些“好习惯”。比如你如何放置标题、注释等,以及你如何设计它的结构。我在网上找不到导游,所以我决定在这里询问

这是我第一次在stackoverflow上发表文章,所以如果我有任何错误,请原谅我。:)

这是我的密码

def secBiToDecimal(number):
""" This program takes a 2's complement binary number as input and returns its decimal value
"""


output = ""
" Check the sign of this number and calculate its value in according way."

if number[0]=='0':
    output += "+"
    temp = 0
    for i in range(1,len(number)):
        temp += (int(number[i]) * (2**(len(number)-i-1)))
    output += str(temp)
    print output
elif number[0]=='1':
    output += "-"
    carryout = 1
    " flip the digits"
    number = list(number)
    for i in range(len(number)):
        if number[i] == "1":
            number[i]='0'
        else:
            number[i]='1'

    " add 1 to number in binary sense "

    for i in range(1,len(number)):
        if carryout == 0 and number[len(number)-i]=='0':
            break
        elif carryout == 1 and number[len(number)-i]=='0':
            number[len(number)-i]='1'
            break
        elif carryout == 0 and number[len(number)-i]=='1':
            number[len(number)-i]='1'
            break
        elif carryout == 1 and number[len(number)-i]=='1':
            number[len(number)-i]='0'
    number = "".join(number)
    temp = 0
    for i in range(1,len(number)):
        temp += int(number[i]) * (2**(len(number)-1-i))
    output += str(temp)
    print output

在代码格式化、样式和约定方面,最重要的事情之一是“房屋规则”。如果你的“家”(即工作场所、团队、学校、老师等)希望事情以某种方式完成,那么这就是你应该做的事情

互联网上的标准和惯例可以作为讨论改变众议院规则的原始材料,或者为个人项目制定自己的个人标准


但是一定要使用一些标准,如果可以的话,保留该标准文档的脱机副本,这样您就可以在6、12、24个月后阅读自己的代码;) 互联网上的标准和惯例可以作为讨论改变众议院规则的原始材料,或者为个人项目制定自己的个人标准


但是一定要使用一些标准,如果可以的话,保留该标准文档的脱机副本,这样您就可以在6、12、24个月后阅读自己的代码;)

试试codereview.stackexchange.com,看看pep8。我喜欢谷歌的python风格指南:要检查语法和pep8合规性,你会发现很有用。非常感谢你的回复!代码的一个风格问题是:我认为使用字符串文字作为注释不是一个好主意。如果您不知道,函数开头的字符串是不同的-它是一个,并成为函数的
\uuu doc\uu
属性。其他字符串文字本身就被扔掉了,因此您应该将它们转换为注释(如
#在二进制意义下为数字添加1
)。请尝试codereview.stackexchange.com,并查看PEP 8。我喜欢谷歌的python风格指南:检查语法和pep8合规性,您会发现非常有用。非常感谢您的回复!代码的一个风格问题是:我认为使用字符串文字作为注释不是一个好主意。如果您不知道,函数开头的字符串是不同的-它是一个,并成为函数的
\uuu doc\uu
属性。其他字符串文本本身被丢弃了,因此您应该将它们转换为注释(如
#将1添加到二进制数字中
)。