python-类和变量

目录

 

一.概念

二.面向对象和面向过程理解

三.对象和类的相关概念

1.类

2.对象

3.类和对象之间的关系

(1)先有类后有对象

(2)类只有一个对象可以有多个

4.类的设计

5.定义一个简单的类

6.self变量

7.__init__()方法

8.__str__()方法

9.实例

(1)计算圆的面积和周长

(2)烤羊肉串练习


一.概念

面向对象编程(英语:Object-oriented programming,缩写:OOP)是一种编程理念,这种编程理念更符合我们人的逻辑思维。使用面向对象编程可以提高我们的开发速度和代码的重用率。面向对象的开发非常适合大型程序开发,开发速度和后期维护都比过程化开发要好很多。

二.面向对象和面向过程理解

面向过程:

在生活中就是亲力亲为,在程序中面向过程编程就是函数之间的一个相互调用。以函数为基本结构使用。

面向对象:

在生活中是坐享其成,别人做好的东西为我所用。在程序中面向对象编程是以对象为基本结构使用。

三.对象和类的相关概念

1.类

生活中的类和对象概念

类:是对一群具有相同特征或者行为的事物的统称,是抽象的,不能直接使用。

例如人类狗类猫类...

描述一个类通过行为和特征

行为:会跑,会叫

特征:黄毛,大眼睛

类可以理解为一种事物的模板

2.对象

对象:

是由类创造出来的具体实体,可以直接使用的。例如 大黄,小白。

3.类和对象之间的关系

(1)先有类后有对象

(2)类只有一个对象可以有多个

 

 

4.类的设计

在程序中设计一个类,通常需要满足一下3个要素:

类名:大驼峰命名法。

属性:描述这类事物的特征。

方法:描述这类事物的具体行为。

5.定义一个简单的类

class Dog:
    def eat(self):
        print("爱骨头.....")
    def sleep(self):
        print("爱睡觉.....")
c= Dog()

6.self变量

self : 哪个对象调用方法或者属性,self就是那个变量。

7.__init__()方法

__init__()内置方法在创建对象的时候自动执行。

我们可以在 __init__()中做一些初始化操作。

# __init__内置方法   __init__在对象创建的时候自动执行
# 我们可以在此方法中做一些初始化的操作
class cat:
    def __init__(self):
        print("您好!我是内置方法!!!!!!!!")
        self.name = '蓝猫'   #     给对象添加一个属性
    def eat(self):
        print('猫吃老鼠...')
blue_cat = cat()
blue_cat.eat()

8.__str__()方法

打印对象的名称时默认调用的是__str__()方法,此方法默认返回的是对象的内存地址。

我们可以重写 __str__() 方法打印对象保存的信息。

class cat:
    def __init__(self,name,age):
        print("您好!我是内置方法!!!!!!!!")
        self.name = name   #     给对象添加一个属性
        self.age = age
    def eat(self):
        print(self.name,end='吃老鼠...')
    def __str__(self):
        mag = 'name属性的值是{},age值得属性是{}'.format(self.name,self.age)
        return mag
blue_cat = cat('黑猫',20)
print(blue_cat)

9.实例

(1)计算圆的面积和周长

from math import pi


class circle():
    def __init__(self, r):
        self.r = r  # 半径

    def zhouchang(self):
        return 2 * pi * self.r

    def area(self):
        return pi * (self.r) ** 2


c1 = circle(3)
ret = c1.zhouchang()
print(ret)
ret1 = c1.area()
print(ret1)

(2)烤羊肉串练习

class kqy():
    def __init__(self):
        self.cooktime = 0
        self.cookzt = '生的'
    def cook(self,cooktime):
        self.cooktime += cooktime
        if self.cooktime>=0 and self.cooktime<=3:
            self.cookzt='生的'
        elif self.cooktime>3 and self.cooktime<=8:
            self.cookzt='熟的'
        else:
            self.cookzt='焦了'
    def __str__(self):
        msg = '时间是{},加的香料是{},目前状态是{}'.format(self.cooktime,self.zl,self.cookzt)
        return msg
    def add(self,zl):
        self.zl = zl
c1 = kqy()

c1.cook(2)
c1.add("醋")
print(c1)
c1.cook(4)
c1.add('盐')
print(c1)

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值