面向对象的必会概念
类class:人类 对象object:张三
1)类是抽象的 对象是具体的
2)类是对象的模板 对象是类的实例(实例:实际的例子)
类=属性+方法
定义一个类
class 类名(父类)
类属性=默认值
类的方法
class Person(object):
name=''
age=0
sex=True
#方法和函数,一个东西,只不过场景不一样
def study(self):
print("我在学习")
根据类创建对象
对象名 = 类名(实际参数)
p=Person() 实例化一个对象为p
对象.属性名=属性具体nei
# 对象.属性名 = 属性具体内容
p.name = "张三"
p.age = 40
p.sex = False
# 对象.方法(实际参数1,实际参数2...)
p.study()
class People(object):
# init:初始化
# 当你使用 类名() 会先自动调用__init__,然后对象才会出来
def __init__(self, name, age, height):
# 初始化对象属性
self.name = name
self.age = age
self.height = height
def study(self):
print("学习")
p = People("zhangsan", 20, 1.78)
p.study()
print('====', p.name)
练习题
1.创建一个计算器的类Computer
2.可以执行两个数之间的加减乘除
3.具备a,b 两个属性
4.请通过面向对象的形式计算10和0的加减乘除的结果
class Computer(object):
def __init__(self, a=0, b=0):
self.a = a
self.b = b
def jia(self):
print("{}+{}={}".format(self.a, self.b, self.a+self.b))
def jian(self):
print("{}-{}={}".format(self.a, self.b, self.a - self.b))
def cheng(self):
print("{}*{}={}".format(self.a, self.b, self.a * self.b))
def chu(self):
if self.b == 0:
self.b = 1
print("{}/{}={}".format(self.a, self.b, self.a / self.b))
def caculator(self):
self.jia()
self.jian()
self.cheng()
self.chu()
num = Computer(10, 0)
num.caculator()