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 ...
随机推荐
- notepad++代码自动补全功能
可以代码自动补全功能,默认他是没有开启这个功能的,在首选项->备份与自动完成 里面有自动完成这一个设置,可以设置单词补全,也可以设置函数补全,这样写代码就快多了
- C# XmlSerializer实现序列化浅析
C# XmlSerializer类是实现序列化的一个类,那么关于C# XmlSerializer的学习我们要掌握怎么样的操作方法呢?那么这里向你详细介绍具体的操作细节情况. C# XmlSeriali ...
- linux Nginx VirtualHost虚拟主机多站点设置
linux系统CentOS7 Nginx1.9.9 一台nginx服务器同一IP被注册多个不同域名,访问不同域名到该服务器后请求不同项目 本台nginx服务器的IP地址为 192.168.155.12 ...
- python中的正则表达式(re模块)
一.简介 正则表达式本身是一种小型的.高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配.正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎 ...
- UA模拟
安卓QQ内置浏览器UA: Mozilla/5.0 (Linux; Android 5.0; SM-N9100 Build/LRX21V) AppleWebKit/537.36 (KHTML, like ...
- 車(rook)
[题目分析] JustPenz:我们假设n>m(不大于就交换),那最多能摆m个,所以会有(n-m)个空白,我们把这些空白插入到n中,答案就是C(n,n-m)=C(n,m);数据范围比较大,我们就 ...
- 学习c++
慢慢的滑向无边无际的没有回头路的程序猿道路.坚持就是胜利. 致渣渣
- 用HttpSessionListener与HttpSessionBindingListener实现在线人数统计
在线人数统计方面的实现,最初我的想法是,管理session,如果session销毁了就减少,如果登陆用户了就新增一个,但是如果是用户非法退出,如:未注销,关闭浏览器等,这个用户的session是管理不 ...
- JavaScript中的String
1.基本类型String var str ="helloworld"; 要记住:保存的是Unicode字符,一旦创建便不可变 2.引用类型String var strObj = ...
- 【PHP】基于ThinkPHP框架搭建OAuth2.0服务
[PHP]基于ThinkPHP框架搭建OAuth2.0服务 http://leyteris.iteye.com/blog/1483403