面向对象

面向对象

面向对象的设计思想是抽象出类(Class),根据Class创建实例(Instance)

图中程序简化如下:

name = 'whole global name'


class Person():
    name = 'class global name'

    def __init__(self, newPersionName):
        self.name = newPersionName
        # print(name)

    def sayYourName(self):
        print(self.name)
        self.name = 'han'
        # print(name)
        # print(Person.name)
        # Person.name = 'li'
        self.test()

    def test(self):
        print(self.name)

def selfAndInitDemo():
    persionInstance = Person('crifan')
    persionInstance.sayYourName()
    # print(name)
    # persionInstance.test()


if __name__ == '__main__':
    selfAndInitDemo()

访问限制

  • 单下划线"_"

作为临时性的名称使用,但是并不会在后面再次用到该名称。

  • 名称前的单下划线(如:_shahriar)

这是一种惯例,指定该名称虽然可以访问,但不要随便访问。

  • 名称前的双下划线(如:__shahriar)

类中的私有变量名,为了避免与子类定义的名称冲突。只有类对象自己能访问,连子类对象也不能访问到这个数据。

              

  • 名称前后的双下划线(如:__init__)

这是一种惯例,是系统定义的名字,确保不会与用户自定义的名称冲突。

  • if __name__ == "__main__"

模块是对象, 并且所有的模块都有一个内置属性 __name__。如果 import 模块, 那么 __name__的值通常为模块的文件名, 不带路径或者文件扩展名。

但是您也可以像一个标准的程序一样直接运行模块, 在这种情况下 __name__的值将是一个特别的缺省值:__main__。

  • 核心风格:避免用下划线作为变量名的开头。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值