Python学习笔记--创建类:高级内容
来源:互联网 发布:jav网络机顶盒v6 编辑:程序博客网 时间:2024/05/18 01:21
本文用简单的例子演示了python中类变量的定义与使用,类的方法的重复利用、继承和重写(覆盖)。
类变量
定义类变量
media.py:
class Movie: VALID_RATINGS = ["G","PG","PG-13","R"]
entainment_enter.py:
print(media.Movie.VALID_RATINGS)
运行entainment_enter.py
显示:
['G', 'PG', 'PG-13', 'R']
类变量__doc__,__name__,__module__
media.py:
class Movie: """This class provides a way to store movie related information""" VALID_RATINGS = ["G","PG","PG-13","R"]
entainment_enter.py:
print(media.Movie.__doc__)print(media.Movie.__name__)print(media.Movie.__module__)
运行entainment_enter.py
显示:
This class provides a way to store movie related informationMoviemedia
继承
class Parent(): def __init__(self, first_name, eye_color): print("Parent Constructor Called") self.first_name = first_name self.eye_color = eye_colorclass Child(Parent): def __init__(self, first_name, eye_color, number_of_toys): print("Child Constructor Called") Parent.__init__(self, first_name, eye_color) self.number_of_toys = number_of_toysbilly_cyrus = Parent("billy","blue")print(billy_cyrus.first_name)miley_cyrus = Child("miley","blue",5)print(miley_cyrus.first_name)print(miley_cyrus.number_of_toys)
运行后显示:
Parent Constructor CalledbillyChild Constructor CalledParent Constructor Calledmiley5
重复利用方法:
class Parent(): def __init__(self, first_name, eye_color): print("Parent Constructor Called") self.first_name = first_name self.eye_color = eye_color def show_info(self): print("First Name - "+self.first_name) print("Eye Color - "+self.eye_color)class Child(Parent): def __init__(self, first_name, eye_color, number_of_toys): print("Child Constructor Called") Parent.__init__(self, first_name, eye_color) self.number_of_toys = number_of_toysbilly_cyrus = Parent("billy","blue")miley_cyrus = Child("miley","blue",5)miley_cyrus.show_info()
运行后显示:
Parent Constructor CalledChild Constructor CalledParent Constructor CalledFirst Name - mileyEye Color - blue
重写(覆盖)方法-Method Overriding
class Parent(): def __init__(self, first_name, eye_color): print("Parent Constructor Called") self.first_name = first_name self.eye_color = eye_color def show_info(self): print("First Name - "+self.first_name) print("Eye Color - "+self.eye_color)class Child(Parent): def __init__(self, first_name, eye_color, number_of_toys): print("Child Constructor Called") Parent.__init__(self, first_name, eye_color) self.number_of_toys = number_of_toys def show_info(self): print("First Name - "+self.first_name) print("Eye Color - "+self.eye_color) print("Number of toys - "+str(self.number_of_toys))billy_cyrus = Parent("billy","blue")miley_cyrus = Child("miley","blue",5)miley_cyrus.show_info()
运行后显示:
Parent Constructor CalledChild Constructor CalledParent Constructor CalledFirst Name - mileyEye Color - blueNumber of toys - 5
tips:
- Lists vs. Arrays:http://www.wired.com/2011/08/python-notes-lists-vs-arrays/
- 预定义变量 __name__ 和 __module__ 的文档:http://www2.lib.uchicago.edu/keith/courses/python/class/5/,
https://docs.python.org/2/reference/datamodel.html
阅读全文
0 0
- Python学习笔记--创建类:高级内容
- Python学习笔记---高级主题
- Python学习笔记--高级特性
- python学习笔记----高级特性
- 【Python学习笔记】python高级特性:切片
- 【Python学习笔记】python高级特性:生成器
- 【Python学习笔记】python高级特性:迭代器
- Python学习笔记--创建类:电影网站
- Python学习笔记(13)-类高级编程
- python 学习笔记(8)高级迭代器
- Python学习笔记(十四):模块高级
- python学习笔记(三) - 高级特性
- Python之学习笔记(高级特性)
- Python学习笔记(三)高级特性
- Python高级特性——学习笔记
- Python学习笔记——高级特性
- python高级编程-装饰器学习笔记
- Python学习笔记06_高级特性
- 单元测试之道
- Socket下载一个文本文件
- 安卓代码规范
- 零配置部署 React
- c++ list, vector, map, set 区别与用法比较
- Python学习笔记--创建类:高级内容
- monkey初使用
- centos下安装memcached并启用SASL功能
- 普通版本mysleep和规避竞态条件的mysleep
- 《Mysql必知必会》高级部分
- bzoj4846: [neerc2016]Hard Refactoring
- 字体识别-字体下载
- springmvc文件上传报java.lang.ClassCastException: org.apache.catalina.connector.RequestFacade cannot be ca
- 移动端css reset