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 ...
随机推荐
- CSS 笔记三(Tables/Box Model/Outline)
CSS Tables border border: border-width border-style border-color|initial|inherit; border-width borde ...
- vs2010下编译osip2和eXosip2的4.0.0版的静态库及搭建开发环境
转载于:http://blog.csdn.net/lbc2100/article/details/48293911 本文为参考网上的动态库的方式,进行静态库的实现,在此对动态库的作者表示感谢. 第一步 ...
- 如何反编译DLL文件
1.利用反编译器,多种工具,本次选用Reflector 8.5. 2.界面如下:
- android 内存处理工具
1. LeakCanary 检查内存泄露 LeakCanary 是一个开源的在debug版本中检测内存泄漏的java库. 让我们来看看一个cait的例子: 1 2 3 4 5 6 7 8 9 10 1 ...
- WordCount示例深度学习MapReduce过程(1)
我们都安装完Hadoop之后,按照一些案例先要跑一个WourdCount程序,来测试Hadoop安装是否成功.在终端中用命令创建一个文件夹,简单的向两个文件中各写入一段话,然后运行Hadoop,Wou ...
- Python3基础 把一个列表中内容给另外一个列表,形成两个独立的列表
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- 我的android学习经历40
为listview设置背景,并且不随拖动改变 <ListView android:id="@+id/list_view" android:layout_width=" ...
- SQL2008游标
最近让写一个自动生成数据的存储过程,其中会遍历表中数据并做出相应处理,因为数据量不算太大所以使用到了游标,初识游标遇到几个小问题,所以来和大家一起分享一下: 使用游标的五个步骤: 1.声明游标 语法: ...
- iOS开发数据库篇—SQLite的应用
iOS开发数据库篇—SQLite的应用 一.简单说明 在iOS中使用SQLite3,首先要添加库文件libsqlite3.dylib和导入主头文件. 导入头文件,可以使用库中的函数(是纯C语言的) 二 ...
- ubunt tmux X Error of failed request
X Error of failed request: BadName (named color or font does not exist) Major opcode of failed req ...