Python的平凡之路(6)
#Author is wspikh
# -*- coding: encoding -*-
class Person(object):
def __init__(self):
self.__name = 'haha'#私有属性
self.age = 22
def __get_name(self,old):##私有方法
#return self.__name
print("%s 是种表情,和心情无关,但是到了%d的年龄就可以!" %(self.__name,old))
def pos(self):
self.__get_name(55)
def get_age(self):
return self.age #返回特定的值
person = Person() #实例化
print(person.get_age()) #打印特定的值
#print(person.__get_name()) #报错,私有的不能访问
person.pos() #直接调用pos()方法
#测试类变量和实例变量
num_of_instance = 0 #类变量
def __init__(self, name):
self.name = name
Test.num_of_instance += 1
if __name__ == '__main__':
print(Test.num_of_instance)
t1 = Test('jack')
print(Test.num_of_instance)
t2 = Test('lucy')
print(t1.name , t1.num_of_instance)
#Author is wspikh
# -*- coding: encoding -*-
class School(object):
def __init__(self,name,addr):
self.name =name
self.addr = addr
self.student_list = []
self.staff_list =[] def enroll(self,stu_obj):
print("为学员%s办理注册手续"%stu_obj.name)
self.student_list.append(stu_obj) def hire(self,stuff_obj):
self.staff_list.append(stuff_obj)
print("雇佣新员工%s"%stuff_obj.name) class SchoolMember(object):
def __init__(self,name,age,sex):
self.name = name
self.age =age
self.sex = sex def tell(self):
pass class Teacher(SchoolMember):
def __init__(self,name,age,sex,salary,course):
super(Teacher,self).__init__(name,age,sex)
self.salary = salary
self.course = course def tell(self):
pass def tech(self):
print("%s is teaching course [%s]" %(self.name,self.course)) class Student(SchoolMember):
def __init__(self, name, age, sex, stu_id, grade):
super(Student, self).__init__(name, age, sex)
self.stu_id = stu_id
self.grade = grade def tell(self):
print('''
--------info of student %s
Name:%s
Age: %s
Sex: %s
Stu_id:%s
Grade:%s
''' % (self.name, self.name, self.age, self.sex, self.stu_id, self.grade)) def pay_tuition(self, amonut):
print("%s has paid tuition for %s" % (self.name, amonut)) school= School("老男孩IT","沙河") t1 = Teacher("Oldboy",56,"MF",2000000,"Linux")
t2 = Teacher("Alex",22,"M",3000,"PythonDevops")
s1 = Student("ChenRonghua",36,"MF",1001,"PythonDevops")
s2 = Student("xuliangwei",19,"M",1002,"Linux") t1.tech()
t2.tech()
s1.tell()
s2.tell()
s1.pay_tuition(5000)
s2.pay_tuition(3000)
school.hire(t1)
school.hire(t2)
school.enroll(s1)
school.enroll(s2) 6、多态 #!/usr/bin/env python
#Author is wspikh
# -*- coding: encoding -*-
class Animal:
def __init__(self,name):
self.name = name
def talk(slef):
raise NotImplementedError("Subclass must implement abstract method") class Cat(Animal):
def talk(slef):
return "Meow!" class Dog(Animal):
def talk(self):
return "Woof!Woof!" animals = [Cat('Missy'),Dog('Lassie')] for animal in animals:
print (animal.name + ':' + animal.talk())
Python的平凡之路(6)的更多相关文章
- Python的平凡之路(8)
(本文是对平凡之路(7)的补充等) 一.动态导入模块 import importlib __import__('import_lib.metaclass') #这是解释器自己内部用的 #importl ...
- Python的平凡之路(20)
(提问复习为主) 一.Django请求的生命周期 武彦涛: 路由系统 -> 视图函数(获取模板+数据=>渲染) -> 字符串返回给用户 二.路由 ...
- Python的平凡之路(19)
一.Django请求生命周期 对于所有的web框架来说本质就是一个socket服务端,浏览器是socket客户端 ...
- Python的平凡之路(18)
一.JS 正则部分 test - 判断字符串是否符合规定的正则rep = /\d+/;rep.test("asdfoiklfasdf89asdfasdf")# truerep ...
- Python的平凡之路(16)
一.HTML+CSS补充 0.常用页面布局 <!DOCTYPE html> <html lang="en"><head> <meta ch ...
- Python的平凡之路(13)
一.Python的paramiko模块介绍 Python 的paramiko模块,该模块和SSH用于连接远程服务器并执行相关操作 SSH client 用于连接远程服务器并执行基本命令 基于用户名和密 ...
- Python的平凡之路(12)
一.数据库介绍 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存储在文件中,但 ...
- Python的平凡之路(11)
一. rabbitmq 1 进程Queue: 父进程与子进程进行交互,或者同属于同一父进程下多个子进程进行交互 2 队列通信: send1.py #!/usr/bin/env python#Au ...
- Python的平凡之路(10)
异步IO 数据库 队列 缓存 1.Gevent协程 定义:用户态的轻量级线程.协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下 ...
- Python的平凡之路(9)
一.Paramiko模块练习 1. Paramiko模块介绍 Paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接 2 .SSHclie ...
随机推荐
- SSIS Error The Execute method on the task returned error code 0x80131621
Error Message: The Execute method on the task returned error code 0x80131621 (Mixed mode assembly is ...
- Java堆栈的应用1----------堆栈的自定义实现以及括号匹配算法的Java实现
接下篇:http://www.cnblogs.com/fuck1/p/5995857.html 堆栈的应用1:括号匹配算法 括号匹配问题 假设算术表达式中包含圆括号,方括号,和花括号三种类型.使用栈数 ...
- MySQL functions, IF, CASE
MySQLTutorial官网 IF function syntax: IF(expr,if_true_expr,if_false_expr) CASE expression syntax: CASE ...
- python : HTML+CSS (左侧菜单)
左侧菜单 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3 ...
- 错误,这个如何解决呢?内存溢出的问提。把JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m 还是不行
java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method) at ja ...
- 【20160924】GOCVHelper 图像处理部分(3)
//根据轮廓的圆的特性进行选择 vector<VP> selectShapeCircularity(Mat src,Mat& draw,vector<VP> c ...
- C++ string到底是什么
C++ string到底是什么? 要回答这个问题,先要了解什么是basic_string.看一下basic_string的声明: template < class charT, //定义字符串中 ...
- <转>修改TM2013聊天记录保存目录final版
一直很钟意TM的清爽,然而在升级到TM2013 preview1后,发生了一件很让人头痛的事. 那就是无法设定消息目录,TM会默认为保存在我的文档下.这让使用dropbox同步聊天记录的我感到十 ...
- html/CSS基础知识回顾
html部分 块级元素: 一般用来搭建网站架构,布局,装载内容...像这些大体力的活都属于块级元素.它包括以下标签: address,blockquote,center,dir, div, dl, d ...
- jquery中通过全局变量来禁止多次ajax请求
var ajaxstate=false;//定义全局变量,通过这个变量来获得当前的ajax状态 $(function(){ $(document).ajaxStart(function(){ $(&q ...