Python知识点案例

  介绍

小编给大家分享一下Python知识点案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!


万物皆是对象,Python当然支持面向对象编程。类和对象是面向对象编程的两个主要方面,类创建一个新的对象,对象是这个类的实例。

对象可以使用类的变量,属于对象或类的变量被称为域;对象也可以使用属于类的函数,这样的函数称为类的方法;域和方法可以合称为类的属性。

域有两种类型

    <李>属于实例的李 <>李属于类本身李

它们分别被称为实例变量和类变量。

类使用关键字类<代码> 创建,类的域和方法被列在一个缩进块中。

类的方法必须有一个额外的第一个参数,但是在调用时不为这个参数赋值,这个特殊变量指对象本身,按照惯例它的名称是自我,类Java中似的。

在类中下面两个特都方法需要注意:

    <李>

    <代码> __init__ 方法:在类的一个对象被创建时调用该方法;相当于c++中的构造函数,就是当这个类调用了,那么这个__init__方法就要执行。

    <李>

    <代码> __del__ 方法:在类的对象被销毁时调用该方法;相当于c++中的析构函数。在使用▽删除一个对象时也就调用__del__方法,__del__是最后调用的。

Python中所有的类成员(包括数据成员)都是公共的,没有Java的私有类,也就是人人都有调用类,虽然编写变成很简单,   但是资源人人都可以随意分配访问,在项目中确实一个不好的东西。

但是Python类的却有私有变量和私有方法之说,这个是一个例外,如果使用的数据成员以双下划线为前缀,则为私有变量。

你实例化这个类,访问不了。这是很多人忽略的

比如:

类公共():   _name=& # 39;保护类型的变量& # 39;   __info=& # 39;私有类型的变量& # 39;   def _f(自我):   print(“这是一个受保护的类型的方法“)def __f2(自我):   打印(& # 39;这是一个私有类型的方法& # 39;)def(自我):   返回(self.__info)   酒吧=公共()#先打印可以访问的打印(pub._name)   pub._f() # # # #结果如下# # # #保护类型的变量   这是一个受保护的类型的方法#打印下类私有变量和私有方法打印(pub.__info)   报错:& # 39;公共# 39;对象没有属性& # 39;__info& # 39; pub._f2 ()   报错:pub._f2()复制代码

但是私有属性和方法可以在同一个类中被调用

pub.get() # # # # # # # & # 39;私有类型的变量& # 39;复制代码

上面是很多人不知道的,下面,我来声明一个人类

类人():   数=0   def __init__(自我、名字、年龄):   的人。数+=1   self.name=名字   自我。__age=年龄      p=人(“Runsen", 20)      打印(p.Count) # 1说明我实例化,这个__init__方法就要执行打印(p.name) # Runsenprint (p.__age)   # AttributeError: Person实例没有属性& # 39;__age& # 39; #私有变量访问不了,报错复制代码

继承

面向对象编程(OOP),英语全称:面向对象编程,面向对象编程的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。

继承,其实这样理解,就是我写了一个爸爸类和儿子类,爸爸有钱,儿子却没钱,于是儿子决定继承爸爸,调用爸爸的钱(爸爸类的变量和方法)。

继承一个类,基本使用下面的五个方法。

直接调用父类属性方法;

爸爸有钱,儿子却没钱,于是儿子用爸爸的钱

类父亲():   def __init__(自我):   自我。钱=1000   def行动(自我):   打印(& # 39;调用父类的方法& # 39;)   类的儿子(父亲):   通过   儿子儿子=()#子类儿子继承父类父亲的所有属性和方法son.action() #调用父类属性输出:调用父类的方法   的儿子。钱#调用父类属性输出:1000年复制代码

强制调用父类私有属性方法;

爸爸说,你这个儿子,老是用我的钱,我决定藏私房钱。儿子试试<代码>超级()拿你的私房的钱,但是这里需要注意超级()<代码> 强制调用父类私有属性方法,就是重写方法,私有变量是不能用晚餐继承不了,还不可以访问父类中的私有属性方法的变量,就是儿子是拿不了私房钱的。

类父亲():   __money=1000 #私有变量是继承不了      def __action(自我):#父类的私有方法   钱=1000   打印(& # 39;调用父类的方法& # 39;)   类的儿子(父亲):      def行动(自我):   super () ._Father__action ()   打印(钱)      儿子儿子=()   son.action ()      调用父类的方法   名字& # 39;钱# 39;以前没有定义复制代码

Python知识点案例