# !usr/bin/env python
# -*- coding:utf-8 -*-
#python常见基础知识汇总
'''
内置对象:
数字、字符串、列表、字典、元组、文件、集合
其他类型:类型、None、布尔
编程单元:函数、模块、类
与实现相关的类型:编译的代码堆、栈跟踪
'''
#类
class Worker:
#公共属性
name = ''
job = ''
#私有属性,外部无法直接访问(变量、函数前加__变为私有属性)
__pay = 0.0
def __init__(self, name, job, pay): #构造,实例化的时候会用到
self.name = name
self.job = job
self.__pay = pay
def __SetPay(self, pay): # 类中方法的第一个参数必须是self
self.__pay = pay
def GetPay(self):
return self.__pay
def SetJob(self, job):
self.job = job
def GetJob(self):
return self.job
def RaisePay(self, percent):
self.__pay *= (1.0 + percent)
#实例化
tom = Worker('tom','Soft Eng',100)
print(tom.GetJob())
class people:
name = ''
sex = ''
__carid=''
def __init__(self, name, sex, carid):
self.name = name
self.sex = sex
self.__carid = carid
def speak(self):
print('我性别:',self.sex)
#单继承
class student(people):
schoolnum = ''
def __init__(self, name, sex, carid, schoolnum):
#调用父类构造函数
people.__init__(self, name, sex, carid)
self.schoolnum = schoolnum
#覆盖父类的方法
def speak(self):
print('我学号:',self.schoolnum)
class captain:
position = ''
def __init__(self, pos):
self.position = pos
def speak(self):
print('我是:',self.position)
#多重继承
class singer(people, captain):
job=''
def __init__(self, name, sex, carid, job,pos):
people.__init__(self, name, sex, carid)
captain.__init__(self, pos)
self.job = job
def speak(self):
print('我是:',self.job,"职位:", self.position)
lili = singer('lili','女人','110','歌手','队长')
lili.speak()