Python

python-命名规则、编码风格、文档、运算符重载

2019-04-02  本文已影响5人  DKider

命名规则:

另:命名要见名知意,不要用诸如:a,s,v,r,t,这样没有实际意义的名字。最好能够反映行为、责任、命令的单词。

编码风格:

文档:

python使用一个叫docstring的机制为在源代码中插入文档提供了支持。从形式上来说,文档一般放在类、函数、模块的主体的第一条语句。按照惯例,文档应该限定在""" """之中。
一般来说,第一行用很简短的话概括代码的目的,然后空一行,对函数、类等的参数进行详细介绍。

docstring作为模块、类和函数额一个域进行存储。它可以做文档使用,也可以用多种方式检索。


运算法重载:

自学python很久了,对于面向对象编程一直模棱两可,对于运算符重载更是糊里糊涂。今天我明白了。

先说1 + 1这个式子,这个式子中的“ + ”,它在左右两边都是数值时,会执行加法,但是当左右两边都是字符串时,他又是执行链接运算了,如果是列表类型,它就会返回一个两个列表合起来的新列表。

那么1 + "a"这个式子呢?这个式子是非法的,无法执行。

运算法重载,其实就是重新定义该运算符的作用,比如,我新定义一个Car类,代表车子。并创建了两个实例:car_1和car_2,然后我又执行了:car_1 + car_2,这回发生什么呢?

会报错。因为我们并没有给Car类赋予相加的能力。当然说车子相加也没什么意义。但是我现在就想
car_1 + car_2能输出一辆随机的新车怎么办?就想最近很火的养锟游戏,可以升级。我希望我的车也有这个功能。

则我们可以这么写:

class Car:
    def __init__(self,name,type,price):
        --snip--

    def __add__(self):
        return  Car("奔驰", "S",1000000)

这样我们就可以运行car_1 + car_2可以返回一个奔驰S系轿车。

对于其他的运算符:-、=、*、&、……等一切自带的运算符,或者特殊函数都可以重新赋予新的功能。

学完之后,我感觉我在计算机中我就是上帝,我可以制定一切规则。就好像那个沙盒游戏——我的世界。我可以创造一切。

上一篇 下一篇

猜你喜欢

热点阅读