博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 第二十四章 面向对象 封装多态+super深度剖析
阅读量:5201 次
发布时间:2019-06-13

本文共 2360 字,大约阅读时间需要 7 分钟。

封装多态

# class Student:##     def __init__(self,name,sex):#         self.name = name#         self.sex = sex## liye = Student('李业','laddy_boy')# print(liye.sex)# 多态:# python 一个变量可以指向多种数据.# a = [1, 2, 3]# a = 'sdfasdf''''java:int a = 123def func(int x):    print(x)def func(x):    print(x)    '''# class A:##     def login(self):#         print('登录')##     def register(self):#         print('注册')##     def func1(self):#         pass##     def func2(self):#         pass### class B:##     def login(self):#         print('登录')##     def register(self):#         print('注册')##     def func3(self):#         pass# A B互为鸭子.# 赵嘎:  1. 好记.# 虽然A,B两个类没有关系,但是我统一两个类中相似方法的方法名,在某种意义上统一的标准.# index ,index, index,# str# list# a = [1,2,3]# a = list('123')# print(a)# print('字体变色,但无背景色')# 固定的头尾: \033[         \033[0m# 1;35;0m 具体调节的参数# print('\033[1;32;0m字体变色,但无背景色 \033[0m')  # 有高亮 或者 print('\033[1;35m字体有色,但无背景色 \033[0m')# print('\033[1;33;0m字体变色,但无背景色 \033[0m')  # 有高亮 或者 print('\033[1;35m字体有色,但无背景色 \033[0m')# print('\033[1;45m 字体不变色,有背景色 \033[0m')  # 有高亮# print('\033[1;35;46m 字体有色,且有背景色 \033[0m')  # 有高亮print('\033[0;35;0m 字体有色,且有背景色 \033[0m')  # 无高亮print('\033[1;35;0m 字体有色,且有背景色 \033[0m')  # 无高亮print('\033[4;35;0m 字体有色,且有背景色 \033[0m')  # 无高亮# print('\033[5;35;0m 字体有色,且有背景色 \033[0m')  # 无高亮

super深度剖析

# 严格按照mro的执行顺序去执行# class A:#     def f1(self):#         print('in A f1')##     def f2(self):#         print('in A f2')### class Foo(A):#     def f1(self):#         super(Foo,self).f2()  # 按照self对象从属于类的mro的顺序,执行Foo类的下一个类.#         print('in A Foo')## obj = Foo()# obj.f1()# class A:#     def f1(self):#         print('in A')## class Foo(A):#     def f1(self):#         super(Foo,self).f1()#         print('in Foo')## class Bar(A):#     def f1(self):#         print('in Bar')## class Info(Foo, Bar):#     def f1(self):#         super(Info,self).f1()  #  按照self对象从属于类的mro的顺序,执行Info类的下一个类.#         print('in Info f1')# print(Info.mro())# # [Info'>, Foo'>, Bar'>, A',  'object'>]# obj = Info()# obj.f1()class A:    def f1(self):        print('in A')class Foo(A):    def f1(self):        super().f1()        print('in Foo')class Bar(A):    def f1(self):        print('in Bar')  # 1class Info(Foo,Bar):    def f1(self):        super(Foo,self).f1()        print('in Info f1')  # 2# [Info Foo Bar A]obj = Info()obj.f1()

转载于:https://www.cnblogs.com/zhangshan33/p/11324711.html

你可能感兴趣的文章
poj1422_有向图最小路径覆盖数
查看>>
BootScrap
查看>>
四十三、后台任务和锁屏
查看>>
[大牛翻译系列]Hadoop(16)MapReduce 性能调优:优化数据序列化
查看>>
MYSQL生成两个日期之间的所有日期数据
查看>>
HTML&CSS常见问题整理(五)
查看>>
Intellij idea
查看>>
WEB_点击一百万次
查看>>
word20161228
查看>>
CodeForces - 878A Short Program(位运算)
查看>>
Mysql聚簇索引和非聚簇索引
查看>>
Hive入门之UDFS函数
查看>>
poj 2376 Cleaning Shifts 贪心 区间问题
查看>>
python文件操作笔记
查看>>
泛型委托
查看>>
笔试题拾遗
查看>>
与虚拟机Oracle连接出现ora-12154问题的解决
查看>>
JavaScript对象(一)
查看>>
Sublime View In Browser
查看>>
linux下可执行程序如何定位共享库文件以及如何让系统找到用户指定的库
查看>>