Python数据分析入门(Python基础复习)

本篇博文介绍

知识目标python数据分析所需要的基础内容
本篇目标

类和对象

构造方法

前言

想要学懂Python数据分析,很重要的一点需要有一定的python基础,特别是要对类和对象的相关概念有所了解,因为python数据分析涉及到的库(pandas、numpy、matplotlib、pyecharts)中都应用到了类和对象。

想要进一步的完成一些有难度的数据分析任务,需要我们将python的函数、循环和判断等语句融会贯通,与数据分析相关知识结合起来解决数据分析问题。

因此,有必要确认自己的python基础掌握情况,进行针对性复习。

python数据分析所需要的基础内容

如下图

类和对象

类是一个对象的抽象集合体

对象是根据类创造的实体

编程语言中,类是一段代码,对象是根据这段代码创造出来的具有一定属性和功能的实体

类的属性和方法

属性是一个类里面所有对象共同拥有的特征

方法(函数)是一个类里面所有对象共同拥有的功能

#定义一个 狗类
class Dog: #声明类的名称
    def __init__(self): #定义类的属性
        self.color = '白色'
    def eat_bone(self): #定义类的方法(函数)
        print('开饭啦')
dog = Dog() #生成Dog对象
print('打印对象结果:',dog) #打印对象结果
print('查看dog对象的属性:',dog.color) #查看dog对象的属性
print('查看dog对象的类型:',type(dog)) #查看dog对象的属性
dog.eat_bone() #调用dog对象的方法
dog2 = Dog() #定义另一个Dog对象
dog2.color = '黑色' #修改颜色属性
print('查看修改后的对象颜色:',dog2.color) #查看修改后的对象颜色

构造方法:

创建类的实例(对象)的时候自动执行的方法,用来对对象的属性进行初始化。

构造方法分为:

1、无参构造方法:调用类方法时,无需输入参数

2、有参构造方法

1、无参构造方法

# 1.无参构造方法
class Dog:
    def __init__(seif): #无参构造方法
        self.color = '白色'
    def eat_bone(self):
        print('开饭啦')
dog = Dog()
print('狗的颜色是:',dog.color)

输出结果:狗的颜色是:白色

.2、有参构造方法

# 2.有参构造方法
class Dog:
    def __init__(seif,color): #有参构造方法
        self.color = color
    def eat_bone(self):
        print('开饭啦')
dog = Dog('黑色') #创建一个狗狗对象,并指定它为黑色
print('狗的颜色是:',dog.color)

输出结果:狗的颜色是:黑色

self在类中的概念:

self表示实例对象本身

类中定义的任何方法(函数)中的第一个参数都是self

表示将对象的信息作为默认参数自动传给这些方法,开发者调用这些方法时不需要再把对象作为参数写入

class Dog:
    def __init__(seif): #self作为构造方法的第一个参数
        self.color = 白色
    def eat_bone(self): #self作为eat_bone方法的第一个参数
        print('一只%s的狗开饭啦'%self.color)
dog = Dog()
dog.eat_bone() #调用吃骨头方法时,没有传入对象作为参数却能使用对象的属性信息

输出信息:一只 白色 的狗开饭啦
class Fish:
    def __init__(seif): 
        self.name = '秋刀鱼'
class cat:
    def __init__(seif): 
         self.name = '汤姆'
    def eat_fish(self,number,fish): #方法中传入其他对象
        print('%s 吃了 %d 条 %s'%(self.name,10,fish.name))
fish = Fish()
cat = Cat()
cat.eat_fish(10,fish) #不需要传入cat对象也能使用cat对象的名字属性

输出信息:汤姆 吃了 10 条 秋刀鱼

类的魔法方法

1、__str__方法:控制对象的打印结果

class Dog:
    def __init__(seif): #self作为构造方法的第一个参数
        self.color = 白色
    def eat_bone(self): #self作为eat_bone方法的第一个参数
        print('一只%s的狗开饭啦'%self.color)
    def __str__(self):
        return '这是一只 %s 的狗' % self.color
dog = Dog()
print(dog)

输出信息:这是一只 白色 的狗

有没有想过,为什么 1+2=3 但是 '1'+'2'='12'?

这是由int类和str类中的__add__方法定义的

2、__add__方法:控制对象的加法运算结果

#定义一个狗类,狗类有一个体重属性,体重属性通过有参构造实现。
#定义它的__add__方法,只考虑同类相加,实现:一个10斤的狗+一个20斤的狗=30斤的狗
#方法一:修改对象本身的体重,方法返回对象本身
#方法二:生成一只新的狗,体重是前面两只的和
class Dog:
     def __init__(self,weight):
         self.weight = weight
     def __add__(self, other):
         # self.weight = self.weight + other.weight 
         # 把大狗的体重改写#return self 
         # 将对象自己作为返回值
         new_dog = Dog(self.weight + other.weight) #生成了第三只狗
         return new_dog
     def __str__( self):
         return '这是一只%d斤的狗'% self.weight
dog1 = Dog(10)#大狗10斤
dog2 = Dog(20)#二狗20斤
print(dog1)
print(dog2)
dog3 = dog1+dog2
print(dog3)

输出结果:这是一只 10 斤的狗
         这是一只 20 斤的狗
         这是一只 30 斤的狗

【实操例子】类的定义与实例化

【例子一】矩形类

1、定义一个类:Rectangle,用来定义各种矩形。

2、类中使用有参构造方法定义矩形的 长  宽 作为属性

3、定义“计算面积”“计算周长”两种方法

4、创建一个矩形对象,并计算其面积和周长。

class Rectangle:
    def __init__(self, length, width):
        self.length = length
        self.width = width

    def calculate_area(self):
        return self.length * self.width

    def calculate_perimeter(self):
        return 2 * (self.length + self.width)

# 创建矩形对象并计算面积和周长
rect = Rectangle(5, 3)
area = rect.calculate_area()
perimeter = rect.calculate_perimeter()

print("面积:", area)
print("周长:", perimeter)
 

【例子二】游戏角色类

1、定义游戏角色类 GameCharacter,用来定义各种游戏角色。

2、类中使用有参构造定义游戏角色的名字、攻击力、防御力、血量 作为属性

3、定义 攻击 方法,使用该方法能够对另一个游戏角色进行攻击,使对方收到伤害。

4、创建游戏角色1和游戏角色2,使游戏角色1对游戏角色2进行攻击。

class GameCharacter:
    def __init__(self, name, attack, defense, hp):
        self.name = name
        self.attack = attack
        self.defense = defense
        self.hp = hp

    def attack_other(self, other_character):
        # 计算实际造成的伤害
        damage = max(0, self.attack - other_character.defense)
        other_character.hp -= damage

# 创建游戏角色 1
character1 = GameCharacter("角色 1", 50, 20, 100)
# 创建游戏角色 2
character2 = GameCharacter("角色 2", 40, 15, 80)

# 角色 1 攻击角色 2
character1.attack_other(character2)

print(f"{character2.name} 的剩余血量为: {character2.hp}")
 

Python 类和对象、类的定义与实例化的一些关键要点结尾复习

类的定义:

使用 class 关键字来定义一个类。

class MyClass:
    # 可以在这里定义属性和方法

构造方法( __init__ ):

通常用于初始化对象的属性。

class MyClass:
    def __init__(self, param1, param2):
        self.attr1 = param1
        self.attr2 = param2

属性: 可以是类中的变量。

方法: 类中的函数,用于执行特定操作。

class MyClass:
    def my_method(self):
        # 方法的代码

实例化:

通过类创建对象。

obj = MyClass(value1, value2)

对象可以访问类中的属性和方法。

obj.attr1  # 获取属性
obj.my_method()  # 执行方法

内容到此结束,希望本篇博文内容对你有帮助。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值