复习python的多态,类的内部权限调用 整理

#多态的用法

class Dii:
  pass
class Aii(Dii):
  def run(self):
    print(‘一号函数已调用‘)
class Bii(Dii):
  def run(Dii):
    print(‘二号函数已调用‘)
a=Aii()
print(‘第一个run函数调用中‘)
a.run()
b=Bii()
print(‘第二个run函数调用中‘)
b.run()

‘‘‘

虽然Aii和Bii中有通一个run函数,但是却不会发生python的错误,而且并成功调打印出不同函数中的print里字符串,

是因为python的多态的机制,好处在于调用方法只管调用,不管细节。

‘‘‘

#类的内部权限调用

class Shiyan:
  def yi(self): #虽然这个yi函数用不找,但是调用时是首要调用用的.
    guang=‘016‘
    zeiluozi=‘002‘
    self.g=guang
    self.z=zeiluozi
  def er(self):
    print(self.g)
    print(self.z)

‘‘‘

因为self这个关键参数,使其自由定义赋值,但是在函数后的元组中不可以添加没赋值的形参。

然而__init__是例外。

‘‘‘

class SHIYAN:
  def __init__(self,guang,zeiluozi):#__init__()的形参要和被定义的self数量一样。
    self.g=guang
    self.z=zeiluozi
  def printt(self):
    print(‘广的代号:%s;02的代号:%s‘%(self.g,self.z))

‘‘‘

交互模式:

>>> a=SHIYAN(‘‘,‘‘)

‘‘‘

class Yanzheng:
  def bb(self):
    a=‘016‘
    b=‘002‘
    self.a=a
    self.b=b
  def aa(self):
    print(self.a)

‘‘‘

交互模式:

>>> a=yanzheng()

>>>a.bb()

>>>a.aa()

‘‘‘

‘‘‘
总结:在调用函数中 函数后的形参都是要么在元组中就被赋值,要么就不要创建形参

然而__init__功能函数是个例外它的用多少个需要调用的赋值的类就要多少的形参,

数量要相等。

‘‘‘

原文地址:https://www.cnblogs.com/meiguicong/p/12619012.html

时间: 2024-10-08 22:16:22

复习python的多态,类的内部权限调用 整理的相关文章

Python之路-面向对象&继承和多态&类属性和实例属性&类方法和静态方法

一.面向对象 编程方式 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发"更快更好更强-" 什么是面向对象 面向对象就不像面向过程那样按照功能划分模块了,它所关注的是软件系统有哪些参与者,把这些参与者称为对象,找出这些软件系统的参与者也就是对象之后,分析这些对象有哪些特征.哪些行为,以及对象之间的关系,所以说面向对象的开发核心是对象 什么是类 面向对象编程的两个重要的概念:类和对象 类是

python之7-2类的继承与多态

类的继承的意思就如同父子关系一样,这个儿子继承了父亲的一切,但是在某些地方(属性)相同的时候,儿子的属性大于老子的属性(覆盖),最底层类,总会继承最接近它的那个类的属性init 类的多态总是和继承相连的,没有继承,就没有多态一说.一个子类的实例,它即属于这个子类,也属于父类,比如:父亲A和儿子B,儿子B即属于儿子类,也属于人类,但是它不属于父亲类 多态是面向对象语言的一个基本特性,多态意味着变量并不知道引用的对象是什么,根据引用对象的不同表现不同的行为方式.在处理多态对象时,只需要关注它的接口即

python学习19类5之多态与鸭子模型

'''''''''一.多态1.Python中多态是指一类事物有多种形态.''' class Animal: def run(self): raise AttributeError('子类必须实现这个方法') #抛出异常 class People(Animal): def run(self): print('人正在走') class Pig(Animal): def run(self): print('pig is walking') class Dog(Animal): def run(self

Python中的类

变量 私有变量: 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问: 特殊变量: 需要注意的是,在Python中,变量名类似__xxx__的,也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的,不是private变量,所以,不能用__name__.__score__这样的变量名. 单下划线开头的变量: 有些时候,你会看到以一个下划线

Python中C++类特性的实现原理

<span style="font-size:18px;">#python类的特性</span> <span style="font-size:18px;">#而且python还可以实现函数的重载,通过不同的参数来做不同的内部实现</span> <span style="font-size:18px;">#def overload(*args):</span> <spa

python深入理解类和对象

1,鸭子类型和多态 当看到一只鸟走起来像鸭子,游泳起来像鸭子,叫起来也像鸭子,那这只鸟就是鸭子 是不是比较混乱,看个例子: # -*- coding:UTF-8 -*- __autor__ = 'zhouli' __date__ = '2018/11/14 20:46' class Cat: def say(self): print('iam a cat') class Dog: def say(self): print('iam a dog') class Duck: def say(self

探索Python的多态是怎么实现的

多态是指通过基类的指针或者引用,在运行时动态调用实际绑定对象函数的行为. 对于其他如C++的语言,多态是通过在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数.如果对象类型是派生类,就调用派生类的函数:如果对象类型是基类,就调用基类的函数. class A { public: virtual void show() { cout <<"A"; } }; class B:public A { public: void s

python: 字典,类与 &quot;switch&quot;

python中是没有switch语法的,我在练习的时候想使用类似switch的功能,搜索相关内容知道了使用字典可以完成我想要的步骤.于是,开始动手. 我使用的是python3,并且在练习使用tkinter模块写个小游戏:乒乓球.测试阶段,首先我敲入: from tkinter import * 从而加载tkinter模块,并使用 * 使得在之后的代码输入中可以稍打一些代码.在这之后,我构想在创建一个canvas类变量,并在上面画一个矩形,通过左右方向键控制矩形移动从而模拟球拍.测试的完整代码为:

初始Python(11)__类

Python类 Python的类,是定义一个具有相同属性.方法的一个类别. 比如,把汽车这个名词是一个类,我们可以称为汽车类.汽车的属性可以是有车轮,方向盘等等,可以用来载客,泡妞等的类可以实例化,实例化的对象则可以拥有这个类的属性和方法,比如,兰博基尼是汽车的一个实例化,所以兰博基尼则有汽车的属性和方法,有轮子,有方向盘等这个类所有的属性,也可以这个类的所有方法,可以用来泡妞,载客.. 我们在python里自定义的一个类,是为了让实例化对象有一样的属性和方法,这样就不需要每次都去写一个语句是实