CloudXli 2019-11-01
class Student(object):
pass
class 后面紧接着是类名,即 Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的,继承的概念我们后面再讲,通常,如果没有合适的继承类,就使用 object类,这是所有类最终都会继承的类。
1.类定义:
class定义类
class 后面加 类名称 加 () 加 :
2.类名称定义规范:
不要以纯数字命名
不要以python中保留字符(关键字)来命名
不要以文件名命名
不能出现特殊字符
要简短且见名知义
当类名称中有多个单词时,应采用驼峰式(每个单词首字母大写) --> XinFangShuo()
定义好了 Student 类,就可以根据 Student 类创建出 Student 的实例,创建实例是通过类名+()实现的:
bart = Student()
可以看到,变量 bart 指向的就是一个 Student 的实例,而 Student 本身则是一个类。
由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__方法,在创建实例的时候,就把 name,score 等属性绑上去:
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
注意:特殊方法“__init__”前后分别有两个下划线!!!
注意到__init__方法的第一个参数永远是 self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到 self,因为 self 就指向创建的实例本身。
有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但 self 不需要传,Python 解释器自己会把实例变量传进去:
bart = Student(‘Bart Simpson‘, 59)
和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量 self,并且调用时,不用传递该参数。除此之外,类的方法和普通函数没有什么区别,所以,你仍然可以用默认
参数、可变参数、关键字参数和命名关键字参数。
class Four(): #类的定义
def sub(self,x,y):
return x + y
"""
class Dog():
def __init__(self,name,age):
self.name = name
self.age = age
def sit(self):
print (self.name.title() + ‘ ‘ + "is now sitting")
def roll_over(self):
print (self.name.title() + ‘ ‘ + "is now roll over")
my_dog = Dog(‘willie‘,6) #参数实例化
# your_dog = Dog(‘lucy‘,3)
my_dog.sit()
my_dog.roll_over()
"""
"""
class Four_operations():
def __init__(self,a,b):
self.a = int(a)
self.b = int(b)
def add(self):
return self.a + self.b
def reduce(self):
return self.a - self.b
def ride(self):
return self.a * self.b
def Except(self):
return self.a / self.b
operation = Four_operations(‘12‘,‘4‘)
print operation.add()
print operation.reduce()
print operation.ride()
print operation.Except()
"""class Four():
def sub(self,x,y):
return x + y
print Four().sub(2,3)
class Four_operations():
def __init__(self,a,b):
self.a = int(a)
self.b = int(b)
def add(self):
return self.a + self.b
def reduce(self):
return self.a - self.b
def ride(self):
return self.a * self.b
def Except(self):
return self.a / self.b
operation = Four_operations(‘12‘,‘4‘) #实例化
print operation.add()
print operation.reduce()
print operation.ride()
print operation.Except()class Four():
def sub(self,x,y):
return x + y
class Five(Four): #Five类继承了Four类 --> Five 类拥有了 Four 类下的所有函数方法
def jian(self,a,b):
return a - b
print Five().sub(2,5)
class Father():
def __init__(self,name,sport,sex):
self.name = name
self.sport = sport
self.sex = sex
def Surname(self):
print self.name + "姓张"
def hobby(self):
print self.name + "like" + " " + self.sport
class Son(Father):
def study(self):
print self.name + " " + "study very good"
def Sex(self):
print self.name + " " + "is" + " " + self.sex
so = Son(‘张四‘,"play basketball","boy")
so.Surname()
so.hobby()
so.study()
so.Sex()
class car():
"多继承"
def __init__(self,brand,type,year,mileage):
self.brand = brand
self.type = type
self.year = year
self.mileage = mileage
def make(self):
print self.brand + self.type + "是" + str(self.year) + "生产的!"
def update_mileage(self,mile):
if mile < self.mileage:
print "请勿修改里程数!"
class aircraft():
def __init__(self,name,destination):
self.name = name
self.destination = destination
def bound(self):
print self.name + "开往" + self.destination
class boat(car,aircraft):
def __init__(self,brand,type,year,mileage,name,destination):
self.brand = brand
self.type = type
self.year = year
self.mileage = mileage
self.name = name
self.destination = destination
my_boat = boat("泰坦","尼克号",2010,500,"泰坦尼克号","宁波")
my_boat.make()
my_boat.bound()class Four():
def sub(self,x,y):
return x + y
class Five(Four): #Five类继承了Four类 --> Five 类拥有了 Four 类下的所有函数方法
def jian(self,a,b):
return a - b
def sub(self,x,y):
return x * y
print Five().sub(3,6)