#############函数模块##########
1.什么是模块?
所有以.py结尾的都可以认为是一个模块,逻辑上组织python代码(函数,变量,类)
2.导入模块的3种方式
- import caculprint cacul.divi(5,2)
- from cacul import add
print add(2,3)
- from cacul import sub as mysub
print mysub(3,2)
3.导入模块的灵活应用
from cacl import sub,add
4.路径搜索和搜索路径
路径搜索强调搜索的动作
搜索路径强调搜索到的路径
5.添加一路径,让路径搜索时导入相应的自定义模块
import sys
print sys.path
sys.path.append('')
sys.path.insert(0,'')
路径搜索
6.模块的分类
1.内置模块(os,sys,dnspython,socket,time,execl)
2.开源模块(BeautifulSoup,flask,django,css,html,bootstrap,node.js)
3.自定义模块
############面向对象############
class Animals(object): ##定义类
cn = 'china' ##类变量
def __init__(self,name,age): ##构造函数,后面跟你要传递的参数,实例化过程中执行的操作
self.name=name ##self就是实例化的变量名,self.name是实例化属性,静态属性
self.age=age
self.__gender=gender ##私有属性
def eating(self): ##方法,与函数唯一的区别self,动态属性
print '%s is eating..'%self.name
def drinking(self):
print '%s is drinking...'%self.name
def __hello(self): ##私有方法
print 'hello ...'
def __del__(self): ##数据库断开
print 'that's all ,game over'
####1.封装性:私有方法和私有属性
####2.继承:子类获得了父类的所有方法
####3.多态:子类和父类的同名方法,只执行子类的进行覆盖
#继承策略:广度优先策略(效率高)
#深度优先: C一直找父类的方法,如果没有找到相应的方法,再去找和C在同一层的类
class A: # 新式类(object)和经典类
def hello(self):
print 'in the A.......'
class B(A):
def hello(self):
print 'in the B.......'
#pass
class C(A):
pass
# def hello(self):
# print 'in the C.......'
class D(C,B):
pass
# def hello(self):
# print 'in the D.......'
d = D()
d.hello()
#######多继承之间的关系
##########示例练习:#############
#!/usr/bin/env python
# coding:utf-8
_author_ = 'hxr'
class School(object):
teacher = []
courses = []
classes = []
def __init__(self, name):
self.name = name
def add_clas(self, classes):
self.classes.append(classes)
self.classes
def add_tea(self, teacher):
self.teacher.append(teacher)
def add_cours(self, courses):
self.courses.append(courses)
def view(self):
print self.courses
class Course(School):
def __init__(self, course_name, time='0', price='0', info='0'):
self.course_name = course_name
self.time = time
self.price = price
self.info = info
def view(self, course_name):
for i in self.courses:
if course_name == i:
print ''' #####%s#####
1.上课周期:%s
2.价格:%s
3.课程简介信息:%s
''' % (self.course_name, self.time, self.price, self.info)
if i == self.courses:
print '课程不存在'
class Class(School):
class_num = {}
def __init__(self, name, course, teacher='hello'):
self.name = name
self.course = course
self.teacher = teacher
def add_class_num(self, stu_name, name):
self.class_num[name] = stu_name
sc1 = ['西安邮电大学', '西安理工大学']
print "选择学校:"
for i, j in enumerate(sc1):
print '%s :%s' % (i, j)
choice_sc = raw_input('输入选项;')
if choice_sc == '0':
flag = 0
school_post = School(sc1[0])
school_post.add_cours('Linux')
school_post.add_cours('Rhce')
school_post.add_cours('Python')
print school_post.courses
elif choice_sc == '1':
flag = 1
school_math = School(sc1[1])
school_math.add_cours('C')
school_math.add_cours('Java')
print school_math.courses
if flag == 0:
school_name = school_post
elif flag == 1:
school_name = school_math
menue = ''' 欢迎进入%s
1.学校视图
2.讲师视图
3.学员视图
4.退出
''' % sc1[int(choice_sc)]
menue_sc = ''' 学校视图
选择学校
1,创建班级
2,创建讲师
3,创建课程
'''
menue_te = ''' 讲师视图
1.查看班级
2.查看班级成员
'''
menue_st = ''' 学员视图
1.注册
2.报名缴费
3.选择班级
'''
def sc(num):
if num == '1':
clas_nam = raw_input('请输入班级名:')
school_name.add_clas(clas_nam)
print '当前存在班级;%s'%school_name.classes
elif num == '2':
clas_tec = raw_input('请输入讲师名:')
school_name.add_tea(clas_tec)
print '当前存在讲师为:%s'%school_name.teacher
elif num == '3':
clas_cou = raw_input('请输入课程名:')
school_name.add_cours(clas_cou)
course_name = Course(clas_cou)
print '当前存在课程为:%s'%school_name.courses
course_name.view(clas_cou)
print '创建成功!'
else:
print '请输入正确'
def st(num):
if num == '1':
print '当前存在班级:%s'%school_name.classes
name = raw_input('输入姓名:')
class1 = raw_input('输入班级名称:')
if class1 in school_name.classes:
global stu
stu = Class(name, class1)
stu.add_class_num(name, class1)
print '注册成功!'
else:
print '该科不存在'
elif num == '2':
print '报名缴费成功'
elif num == '3':
for i in school_name.classes:
print '班级名称:%s' % i
else:
print '请输入正确'
def te(num):
test=Class.class_num
if num == '1':
for i in school_name.classes:
print '班级名称:%s' % i
elif num == '2':
if test:
for i, j in stu.class_num.items():
print '学生名称:%s 班级:%s' % (j,i )
else:
print '当前不存在用户'
else:
print '请输入正确'
choice = ''
while 1:
print menue
choice = raw_input("请输入选项;")
if choice == '1':
print menue_sc
num = raw_input('输入选项:')
sc(num)
elif choice == '2':
print menue_te
num = raw_input('输入选项:')
te(num)
elif choice == '3':
print menue_st
num = raw_input('输入选项:')
st(num)
elif choice == '4':
exit()
else:
print '请输入正确选项!'