• 养成写Python程序的良好习惯


    Style Guide for Python Code

    •   缩进选用4个空格,优美
    •   折行尽量不超过79个字符,造福你我他
    •   使用空行分隔函数和类,以及函数中的大块代码。
    •   注释独占一行,上方,谢谢
    •   使用文档字符串
    •   把空格放到操作符两边,以及逗号后面,但是括号里侧不加空格:
      a = f(1, 2) + g(3, 4)
    • 函数和类的命名方式:  

    类名-用驼峰命名:驼峰命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。

    函数和方法名-用小写和字符串:函数名中的每一个逻辑断点都有一个下划线来标记,同时,总是用 self 作为方法的第一个参数

    •   编码Python默认UTF-8
    •   同样,也不要使用非 ASCII 字符的标识符,除非是不同语种的会阅读或者维护代码
    • 每个物理行只写一个逻辑行。

    #在函数中多使用文档字符串DocStrings,这可以使程序更加易懂,使用时候遵循这样的惯例:文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第 二行是空行,从第三行开始是详细的描述。

    #!/usr/bin/python
    #Filename: func_doc.py
    
    def printMax(x, y):
        '''Prints the maximun of two numbers.
    
        The two values must be integers.'''
        x = int(x)#convert to integers
        y = int(y)
    
        if x > y:
            print(x, 'is maximum') 
        else: 
            print(y, 'is maximum') 
    
    printMax(3, 5) 
    print(printMax.__doc__)

    DocStrings是怎么工作的呢?

    在函数的第一个逻辑行的字符串是这个函数的文档字符串。注意, DocStrings 也 适用于模块和类,这是函数的__doc__属性,抓取使用即可,help()函数的原理就是如此。

    #os.sep 变量的使用 —— 这回根据你的操作系统给出路径分割符,例如在 Linux、Unix 中用’/’,在 windows 中用’\’,在 Mac OS 中用’:’。这样使得程序具有更好的可移植性。

    #self

      类的方法长得就很像普通函数,但他们有一个特别的区别——类的方法必须有一个额外的第一个参数名称,这个名称原则上可以是任何名字,但是强烈建议用self,方便你我他。调用这个方法的时候不必为这个参数赋值,Python自动将对象本身提供给他。

      Python 中的 self 等价于 C++ 中的 self 指针和 Java、C# 中的 this 参考。

      举一个例子来看。假如你有一个类称为 MyClass 和这个类的一个实例 MyObject。当 你调用这个对象的方法 MyObject.method(arg1, arg2) 的时候,这会由 Python 自动转为 MyClass.method(MyObject, arg1, arg2)—— 这就是 self 的原理了。 


    类中的数据属性会覆盖同名的方法属性。为了避免意外的名称冲突,这在大型程序中是极难发现的 Bug,使用一些约定来减少冲突的机会是明智的。可能的约定包括:大写方法名称的首字母,使用一个唯一的小字符串(也许只是一个下划线)作为数据属性名称的前缀,或者方法使用动词而数据属性使用名词。

  • 相关阅读:
    洛谷 P1628 合并序列
    洛谷 P3378 【模板】堆
    浅谈可删除堆
    浅谈数据结构—分块
    浅谈对顶堆
    JDOJ 1929: 求最长不下降序列长度
    JDOJ 1928: 排队买票
    Leetcode(53)-最大子序和
    Leetcode(38)-报数
    Leetcode(35)-搜索插入位置
  • 原文地址:https://www.cnblogs.com/PiaYie/p/13260825.html
Copyright © 2020-2023  润新知