类的介绍

面向对象

Class a ():
Def aaa():
     A=10
     F=a()

类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。
方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
实例变量:定义在方法中的变量,只作用于当前实例的类。
继承:即一个子类(derived class)继承父类(base class)的字段和方法。继承也允许把一个子类的对象作为一个父类对象对待。
实例化:创建一个类的实例,类的具体对象。
方法:类中定义的函数。
对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
对象 = 类名 ( )
创建实例是通过类名+()实现的: 类名 ( )
当我们定义一个class的时候,我们实际上就定义了一种数据类型,对象就是一个变量名

py中方法和函数没有太大区别,def 名字 ( ) 当括号中有 self 就是方法,因为类中的函数都要有 self 作为形参,代表该类实例化后的对象。

__init__函数是类的构造函数,类实例化的时候这个函数就会被执行,也可以看作类的实例化就是调用这个函数

私有化

而外部代码可以通过直接调用实例变量的方法来操作数据,如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,类中的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问,

class Student(object):

    def __init__(self, name, score):
        self.__name = name
        self.__score = score

    def print_score(self):
        print('%s: %s' % (self.__name, self.__score))

需要注意的是,在Python中,变量名类似__xxx__的,也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的,不是private变量,所以,不能用__name__、__score__这样的变量名。

有些时候,你会看到以一个下划线开头的实例变量名,比如_name,这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。

双下划线开头的实例变量不一定不能从外部访问,不能直接访问__name是因为Python对外把__name变量改成了_类名 __变量名,所以,仍然可以通过_类名__变量名来访问__变量名 变量

python在运行时,会给每个文件都分配一个变量 name,python运行的主文件的__name__变量值为 main (string型),其他导入文件的__name__值为导入的名称(string型)

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值